22 lines
761 B
TypeScript
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();
|
|
}
|
|
} |