wip
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { AuthenticationState } from '../../domain/value-objects/AuthenticationState';
|
||||
import { BrowserAuthenticationState } from '../../domain/value-objects/BrowserAuthenticationState';
|
||||
import { AuthenticationState } from '../../automation-domain/value-objects/AuthenticationState';
|
||||
import { BrowserAuthenticationState } from '../../automation-domain/value-objects/BrowserAuthenticationState';
|
||||
import { Result } from '../../shared/result/Result';
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { HostedSessionConfig } from '../../domain/entities/HostedSessionConfig';
|
||||
import { StepId } from '../../domain/value-objects/StepId';
|
||||
import { HostedSessionConfig } from '../../automation-domain/entities/HostedSessionConfig';
|
||||
import { StepId } from '../../automation-domain/value-objects/StepId';
|
||||
|
||||
export interface ValidationResult {
|
||||
isValid: boolean;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Result } from '../../shared/result/Result';
|
||||
import { CheckoutConfirmation } from '../../domain/value-objects/CheckoutConfirmation';
|
||||
import { CheckoutPrice } from '../../domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../domain/value-objects/CheckoutState';
|
||||
import { CheckoutConfirmation } from '../../automation-domain/value-objects/CheckoutConfirmation';
|
||||
import { CheckoutPrice } from '../../automation-domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../automation-domain/value-objects/CheckoutState';
|
||||
|
||||
export interface CheckoutConfirmationRequest {
|
||||
price: CheckoutPrice;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Result } from '../../shared/result/Result';
|
||||
import { CheckoutPrice } from '../../domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../domain/value-objects/CheckoutState';
|
||||
import { CheckoutPrice } from '../../automation-domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../automation-domain/value-objects/CheckoutState';
|
||||
|
||||
export interface CheckoutInfo {
|
||||
price: CheckoutPrice | null;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { StepId } from '../../domain/value-objects/StepId';
|
||||
import { StepId } from '../../automation-domain/value-objects/StepId';
|
||||
import {
|
||||
NavigationResult,
|
||||
FormFillResult,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { AutomationSession } from '../../domain/entities/AutomationSession';
|
||||
import { SessionStateValue } from '../../domain/value-objects/SessionState';
|
||||
import { AutomationSession } from '../../automation-domain/entities/AutomationSession';
|
||||
import { SessionStateValue } from '../../automation-domain/value-objects/SessionState';
|
||||
|
||||
export interface ISessionRepository {
|
||||
save(session: AutomationSession): Promise<void>;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IOverlaySyncPort, OverlayAction, ActionAck } from '../ports/IOverlaySyncPort'
|
||||
import { IAutomationEventPublisher, AutomationEvent } from '../ports/IAutomationEventPublisher'
|
||||
import { IAutomationLifecycleEmitter, LifecycleCallback } from '../../infrastructure/adapters/IAutomationLifecycleEmitter'
|
||||
import { IAutomationLifecycleEmitter, LifecycleCallback } from '../../automation-infrastructure/adapters/IAutomationLifecycleEmitter'
|
||||
import { ILogger } from '../ports/ILogger'
|
||||
|
||||
type ConstructorArgs = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { AuthenticationState } from '../../domain/value-objects/AuthenticationState';
|
||||
import { AuthenticationState } from '../../automation-domain/value-objects/AuthenticationState';
|
||||
import { Result } from '../../shared/result/Result';
|
||||
import type { IAuthenticationService } from '../ports/IAuthenticationService';
|
||||
import { SessionLifetime } from '../../domain/value-objects/SessionLifetime';
|
||||
import { SessionLifetime } from '../../automation-domain/value-objects/SessionLifetime';
|
||||
|
||||
/**
|
||||
* Port for optional server-side session validation.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Result } from '../../shared/result/Result';
|
||||
import { RaceCreationResult } from '../../domain/value-objects/RaceCreationResult';
|
||||
import { RaceCreationResult } from '../../automation-domain/value-objects/RaceCreationResult';
|
||||
import type { ICheckoutService } from '../ports/ICheckoutService';
|
||||
|
||||
export class CompleteRaceCreationUseCase {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Result } from '../../shared/result/Result';
|
||||
import { ICheckoutService } from '../ports/ICheckoutService';
|
||||
import { ICheckoutConfirmationPort } from '../ports/ICheckoutConfirmationPort';
|
||||
import { CheckoutStateEnum } from '../../domain/value-objects/CheckoutState';
|
||||
import { CheckoutStateEnum } from '../../automation-domain/value-objects/CheckoutState';
|
||||
|
||||
interface SessionMetadata {
|
||||
sessionName: string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { AutomationSession } from '../../domain/entities/AutomationSession';
|
||||
import { HostedSessionConfig } from '../../domain/entities/HostedSessionConfig';
|
||||
import { AutomationSession } from '../../automation-domain/entities/AutomationSession';
|
||||
import { HostedSessionConfig } from '../../automation-domain/entities/HostedSessionConfig';
|
||||
import { IAutomationEngine } from '../ports/IAutomationEngine';
|
||||
import type { IBrowserAutomation } from '../ports/IScreenAutomation';
|
||||
import { ISessionRepository } from '../ports/ISessionRepository';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IAuthenticationService } from '../ports/IAuthenticationService';
|
||||
import { Result } from '../../shared/result/Result';
|
||||
import { BrowserAuthenticationState } from '../../domain/value-objects/BrowserAuthenticationState';
|
||||
import { BrowserAuthenticationState } from '../../automation-domain/value-objects/BrowserAuthenticationState';
|
||||
|
||||
/**
|
||||
* Use case for verifying browser shows authenticated page state.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AutomationEvent } from '../../application/ports/IAutomationEventPublisher'
|
||||
import { AutomationEvent } from '../../automation-application/ports/IAutomationEventPublisher'
|
||||
|
||||
export type LifecycleCallback = (event: AutomationEvent) => Promise<void> | void
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Result } from '../../../shared/result/Result';
|
||||
import { CheckoutPrice } from '../../../domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../../domain/value-objects/CheckoutState';
|
||||
import { CheckoutInfo } from '../../../application/ports/ICheckoutService';
|
||||
import { CheckoutPrice } from '../../../automation-domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../../automation-domain/value-objects/CheckoutState';
|
||||
import { CheckoutInfo } from '../../../automation-application/ports/ICheckoutService';
|
||||
import { IRACING_SELECTORS } from './dom/IRacingSelectors';
|
||||
|
||||
interface Page {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Page } from 'playwright';
|
||||
import { ILogger } from '../../../../application/ports/ILogger';
|
||||
import { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
|
||||
export class AuthenticationGuard {
|
||||
constructor(
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Page } from 'playwright';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import type { IPlaywrightAuthFlow } from './PlaywrightAuthFlow';
|
||||
import { IRACING_URLS, IRACING_SELECTORS, IRACING_TIMEOUTS } from '../dom/IRacingSelectors';
|
||||
import { AuthenticationGuard } from './AuthenticationGuard';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import * as fs from 'fs';
|
||||
import type { BrowserContext, Page } from 'playwright';
|
||||
|
||||
import type { IAuthenticationService } from '../../../../application/ports/IAuthenticationService';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import { AuthenticationState } from '../../../../domain/value-objects/AuthenticationState';
|
||||
import { BrowserAuthenticationState } from '../../../../domain/value-objects/BrowserAuthenticationState';
|
||||
import type { IAuthenticationService } from '../../../../automation-application/ports/IAuthenticationService';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import { AuthenticationState } from '../../../../automation-domain/value-objects/AuthenticationState';
|
||||
import { BrowserAuthenticationState } from '../../../../automation-domain/value-objects/BrowserAuthenticationState';
|
||||
import { Result } from '../../../../shared/result/Result';
|
||||
import { PlaywrightBrowserSession } from '../core/PlaywrightBrowserSession';
|
||||
import { SessionCookieStore } from './SessionCookieStore';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import * as fs from 'fs/promises';
|
||||
import * as path from 'path';
|
||||
import { AuthenticationState } from '../../../../domain/value-objects/AuthenticationState';
|
||||
import { CookieConfiguration } from '../../../../domain/value-objects/CookieConfiguration';
|
||||
import { AuthenticationState } from '../../../../automation-domain/value-objects/AuthenticationState';
|
||||
import { CookieConfiguration } from '../../../../automation-domain/value-objects/CookieConfiguration';
|
||||
import { Result } from '../../../../shared/result/Result';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
|
||||
interface Cookie {
|
||||
name: string;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import type { Browser, Page, BrowserContext } from 'playwright';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import { StepId } from '../../../../domain/value-objects/StepId';
|
||||
import { AuthenticationState } from '../../../../domain/value-objects/AuthenticationState';
|
||||
import { BrowserAuthenticationState } from '../../../../domain/value-objects/BrowserAuthenticationState';
|
||||
import { CheckoutPrice } from '../../../../domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../../../domain/value-objects/CheckoutState';
|
||||
import { CheckoutConfirmation } from '../../../../domain/value-objects/CheckoutConfirmation';
|
||||
import type { IBrowserAutomation } from '../../../../application/ports/IScreenAutomation';
|
||||
import { StepId } from '../../../../automation-domain/value-objects/StepId';
|
||||
import { AuthenticationState } from '../../../../automation-domain/value-objects/AuthenticationState';
|
||||
import { BrowserAuthenticationState } from '../../../../automation-domain/value-objects/BrowserAuthenticationState';
|
||||
import { CheckoutPrice } from '../../../../automation-domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../../../automation-domain/value-objects/CheckoutState';
|
||||
import { CheckoutConfirmation } from '../../../../automation-domain/value-objects/CheckoutConfirmation';
|
||||
import type { IBrowserAutomation } from '../../../../automation-application/ports/IScreenAutomation';
|
||||
import type {
|
||||
NavigationResult,
|
||||
FormFillResult,
|
||||
@@ -15,9 +15,9 @@ import type {
|
||||
WaitResult,
|
||||
ModalResult,
|
||||
AutomationResult,
|
||||
} from '../../../../application/ports/AutomationResults';
|
||||
import type { IAuthenticationService } from '../../../../application/ports/IAuthenticationService';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
} from '../../../../automation-application/ports/AutomationResults';
|
||||
import type { IAuthenticationService } from '../../../../automation-application/ports/IAuthenticationService';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import { Result } from '../../../../shared/result/Result';
|
||||
import { IRACING_SELECTORS, IRACING_URLS, IRACING_TIMEOUTS, ALL_BLOCKED_SELECTORS, BLOCKED_KEYWORDS } from '../dom/IRacingSelectors';
|
||||
import { SessionCookieStore } from '../auth/SessionCookieStore';
|
||||
@@ -25,7 +25,7 @@ import { PlaywrightBrowserSession } from './PlaywrightBrowserSession';
|
||||
import { getFixtureForStep } from '../engine/FixtureServer';
|
||||
import { BrowserModeConfigLoader, BrowserMode } from '../../../config/BrowserModeConfig';
|
||||
import { getAutomationMode } from '../../../config/AutomationConfig';
|
||||
import { PageStateValidator, PageStateValidation, PageStateValidationResult } from '../../../../domain/services/PageStateValidator';
|
||||
import { PageStateValidator, PageStateValidation, PageStateValidationResult } from '../../../../automation-domain/services/PageStateValidator';
|
||||
import { IRacingDomNavigator } from '../dom/IRacingDomNavigator';
|
||||
import { SafeClickService } from '../dom/SafeClickService';
|
||||
import { IRacingDomInteractor } from '../dom/IRacingDomInteractor';
|
||||
|
||||
@@ -4,7 +4,7 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import { BrowserModeConfigLoader, BrowserMode } from '../../../config/BrowserModeConfig';
|
||||
import { getAutomationMode } from '../../../config/AutomationConfig';
|
||||
import type { PlaywrightConfig } from './PlaywrightAutomationAdapter';
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import type { Page } from 'playwright';
|
||||
import { StepId } from '../../../../domain/value-objects/StepId';
|
||||
import { StepId } from '../../../../automation-domain/value-objects/StepId';
|
||||
import type {
|
||||
AutomationResult,
|
||||
ClickResult,
|
||||
FormFillResult,
|
||||
} from '../../../../application/ports/AutomationResults';
|
||||
import type { IAuthenticationService } from '../../../../application/ports/IAuthenticationService';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import { CheckoutPrice } from '../../../../domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../../../domain/value-objects/CheckoutState';
|
||||
import { CheckoutConfirmation } from '../../../../domain/value-objects/CheckoutConfirmation';
|
||||
} from '../../../../automation-application/ports/AutomationResults';
|
||||
import type { IAuthenticationService } from '../../../../automation-application/ports/IAuthenticationService';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import { CheckoutPrice } from '../../../../automation-domain/value-objects/CheckoutPrice';
|
||||
import { CheckoutState } from '../../../../automation-domain/value-objects/CheckoutState';
|
||||
import { CheckoutConfirmation } from '../../../../automation-domain/value-objects/CheckoutConfirmation';
|
||||
import type { PlaywrightConfig } from './PlaywrightAutomationAdapter';
|
||||
import { PlaywrightBrowserSession } from './PlaywrightBrowserSession';
|
||||
import { IRacingDomNavigator } from '../dom/IRacingDomNavigator';
|
||||
@@ -19,7 +19,7 @@ import { getFixtureForStep } from '../engine/FixtureServer';
|
||||
import type {
|
||||
PageStateValidation,
|
||||
PageStateValidationResult,
|
||||
} from '../../../../domain/services/PageStateValidator';
|
||||
} from '../../../../automation-domain/services/PageStateValidator';
|
||||
import type { Result } from '../../../../shared/result/Result';
|
||||
|
||||
interface WizardStepOrchestratorDeps {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import type { Page } from 'playwright';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import type {
|
||||
FormFillResult,
|
||||
ClickResult,
|
||||
ModalResult,
|
||||
} from '../../../../application/ports/AutomationResults';
|
||||
import { StepId } from '../../../../domain/value-objects/StepId';
|
||||
} from '../../../../automation-application/ports/AutomationResults';
|
||||
import { StepId } from '../../../../automation-domain/value-objects/StepId';
|
||||
import type { PlaywrightConfig } from '../core/PlaywrightAutomationAdapter';
|
||||
import { PlaywrightBrowserSession } from '../core/PlaywrightBrowserSession';
|
||||
import { IRACING_SELECTORS, IRACING_TIMEOUTS } from './IRacingSelectors';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { Page } from 'playwright';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import type { NavigationResult, WaitResult } from '../../../../application/ports/AutomationResults';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import type { NavigationResult, WaitResult } from '../../../../automation-application/ports/AutomationResults';
|
||||
import type { PlaywrightConfig } from '../core/PlaywrightAutomationAdapter';
|
||||
import { PlaywrightBrowserSession } from '../core/PlaywrightBrowserSession';
|
||||
import { IRACING_SELECTORS, IRACING_TIMEOUTS, IRACING_URLS } from './IRacingSelectors';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Page } from 'playwright';
|
||||
import type { ILogger } from '../../../../application/ports/ILogger';
|
||||
import type { ILogger } from '../../../../automation-application/ports/ILogger';
|
||||
import { IRACING_SELECTORS, BLOCKED_KEYWORDS } from './IRacingSelectors';
|
||||
import type { PlaywrightConfig } from '../core/PlaywrightAutomationAdapter';
|
||||
import { PlaywrightBrowserSession } from '../core/PlaywrightBrowserSession';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { IAutomationEngine, ValidationResult } from '../../../../application/ports/IAutomationEngine';
|
||||
import { HostedSessionConfig } from '../../../../domain/entities/HostedSessionConfig';
|
||||
import { StepId } from '../../../../domain/value-objects/StepId';
|
||||
import type { IBrowserAutomation } from '../../../../application/ports/IScreenAutomation';
|
||||
import { ISessionRepository } from '../../../../application/ports/ISessionRepository';
|
||||
import { StepTransitionValidator } from '../../../../domain/services/StepTransitionValidator';
|
||||
import { IAutomationEngine, ValidationResult } from '../../../../automation-application/ports/IAutomationEngine';
|
||||
import { HostedSessionConfig } from '../../../../automation-domain/entities/HostedSessionConfig';
|
||||
import { StepId } from '../../../../automation-domain/value-objects/StepId';
|
||||
import type { IBrowserAutomation } from '../../../../automation-application/ports/IScreenAutomation';
|
||||
import { ISessionRepository } from '../../../../automation-application/ports/ISessionRepository';
|
||||
import { StepTransitionValidator } from '../../../../automation-domain/services/StepTransitionValidator';
|
||||
|
||||
/**
|
||||
* Real Automation Engine Adapter.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { IAutomationEngine, ValidationResult } from '../../../../application/ports/IAutomationEngine';
|
||||
import { HostedSessionConfig } from '../../../../domain/entities/HostedSessionConfig';
|
||||
import { StepId } from '../../../../domain/value-objects/StepId';
|
||||
import type { IBrowserAutomation } from '../../../../application/ports/IScreenAutomation';
|
||||
import { ISessionRepository } from '../../../../application/ports/ISessionRepository';
|
||||
import { StepTransitionValidator } from '../../../../domain/services/StepTransitionValidator';
|
||||
import { IAutomationEngine, ValidationResult } from '../../../../automation-application/ports/IAutomationEngine';
|
||||
import { HostedSessionConfig } from '../../../../automation-domain/entities/HostedSessionConfig';
|
||||
import { StepId } from '../../../../automation-domain/value-objects/StepId';
|
||||
import type { IBrowserAutomation } from '../../../../automation-application/ports/IScreenAutomation';
|
||||
import { ISessionRepository } from '../../../../automation-application/ports/ISessionRepository';
|
||||
import { StepTransitionValidator } from '../../../../automation-domain/services/StepTransitionValidator';
|
||||
|
||||
export class MockAutomationEngineAdapter implements IAutomationEngine {
|
||||
private isRunning = false;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { StepId } from '../../../../domain/value-objects/StepId';
|
||||
import type { IBrowserAutomation } from '../../../../application/ports/IScreenAutomation';
|
||||
import { StepId } from '../../../../automation-domain/value-objects/StepId';
|
||||
import type { IBrowserAutomation } from '../../../../automation-application/ports/IScreenAutomation';
|
||||
import {
|
||||
NavigationResult,
|
||||
FormFillResult,
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
WaitResult,
|
||||
ModalResult,
|
||||
AutomationResult,
|
||||
} from '../../../../application/ports/AutomationResults';
|
||||
} from '../../../../automation-application/ports/AutomationResults';
|
||||
|
||||
interface MockConfig {
|
||||
simulateFailures?: boolean;
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
import type { BrowserWindow } from 'electron';
|
||||
import { ipcMain } from 'electron';
|
||||
import { Result } from '../../../shared/result/Result';
|
||||
import type { ICheckoutConfirmationPort, CheckoutConfirmationRequest } from '../../../application/ports/ICheckoutConfirmationPort';
|
||||
import { CheckoutConfirmation } from '../../../domain/value-objects/CheckoutConfirmation';
|
||||
import type { ICheckoutConfirmationPort, CheckoutConfirmationRequest } from '../../../automation-application/ports/ICheckoutConfirmationPort';
|
||||
import { CheckoutConfirmation } from '../../../automation-domain/value-objects/CheckoutConfirmation';
|
||||
|
||||
export class ElectronCheckoutConfirmationAdapter implements ICheckoutConfirmationPort {
|
||||
private mainWindow: BrowserWindow;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ILogger, LogContext } from '../../../application/ports/ILogger';
|
||||
import type { ILogger, LogContext } from '../../../automation-application/ports/ILogger';
|
||||
|
||||
export class NoOpLogAdapter implements ILogger {
|
||||
debug(_message: string, _context?: LogContext): void {}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ILogger, LogContext, LogLevel } from '../../../application/ports/ILogger';
|
||||
import type { ILogger, LogContext, LogLevel } from '../../../automation-application/ports/ILogger';
|
||||
import { loadLoggingConfig, type LoggingEnvironmentConfig } from '../../config/LoggingConfig';
|
||||
|
||||
const LOG_LEVEL_PRIORITY: Record<LogLevel, number> = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { LogLevel } from '../../application/ports/ILogger';
|
||||
import type { LogLevel } from '../../automation-application/ports/ILogger';
|
||||
|
||||
export type LogEnvironment = 'development' | 'production' | 'test';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { AutomationSession } from '../../domain/entities/AutomationSession';
|
||||
import { SessionStateValue } from '../../domain/value-objects/SessionState';
|
||||
import { ISessionRepository } from '../../application/ports/ISessionRepository';
|
||||
import { AutomationSession } from '../../automation-domain/entities/AutomationSession';
|
||||
import { SessionStateValue } from '../../automation-domain/value-objects/SessionState';
|
||||
import { ISessionRepository } from '../../automation-application/ports/ISessionRepository';
|
||||
|
||||
export class InMemorySessionRepository implements ISessionRepository {
|
||||
private sessions: Map<string, AutomationSession> = new Map();
|
||||
|
||||
Reference in New Issue
Block a user