Files
gridpilot.gg/packages/application/use-cases/CheckAuthenticationUseCase.ts

22 lines
761 B
TypeScript

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<Result<AuthenticationState>> {
return this.authService.checkSession();
}
}