18 lines
738 B
TypeScript
18 lines
738 B
TypeScript
/**
|
|
* Value object representing the user's authentication state with iRacing.
|
|
*
|
|
* This is used to track whether the user has a valid session for automation
|
|
* without GridPilot ever seeing or storing credentials (zero-knowledge design).
|
|
*/
|
|
export const AuthenticationState = {
|
|
/** Authentication status has not yet been checked */
|
|
UNKNOWN: 'UNKNOWN',
|
|
/** Valid session exists and is ready for automation */
|
|
AUTHENTICATED: 'AUTHENTICATED',
|
|
/** Session was valid but has expired, re-authentication required */
|
|
EXPIRED: 'EXPIRED',
|
|
/** User explicitly logged out, clearing the session */
|
|
LOGGED_OUT: 'LOGGED_OUT',
|
|
} as const;
|
|
|
|
export type AuthenticationState = typeof AuthenticationState[keyof typeof AuthenticationState]; |