import { AuthenticationState } from '../../domain/value-objects/AuthenticationState'; import { Result } from '../../shared/result/Result'; import type { IAuthenticationService } from '../ports/IAuthenticationService'; /** * Use case for checking if the user has a valid iRacing session. * * This validates the session before automation starts, allowing * the system to prompt for re-authentication if needed. */ export class CheckAuthenticationUseCase { constructor(private readonly authService: IAuthenticationService) {} /** * Execute the authentication check. * * @returns Result containing the current AuthenticationState */ async execute(): Promise> { return this.authService.checkSession(); } }