Files
SerpentRace/SerpentRace_Backend/dist/Application/Services/JWTService.d.ts
T

27 lines
872 B
TypeScript

import { Request, Response } from 'express';
import { UserState } from '../../Domain/User/UserAggregate';
export interface TokenPayload {
userId: string;
authLevel: 0 | 1;
userStatus: UserState;
orgId: string;
iat?: number;
exp?: number;
}
export declare class JWTService {
private readonly secretKey;
private readonly tokenExpiry;
private readonly cookieName;
constructor();
create(payload: TokenPayload, res: Response): string;
verify(req: Request): TokenPayload | null;
shouldRefreshToken(payload: TokenPayload): boolean;
refreshIfNeeded(payload: TokenPayload, res: Response): boolean;
/**
* Parse duration string to seconds (e.g., "24h", "7d", "30m")
* @param duration Duration string
* @returns Duration in seconds
*/
private parseDuration;
}
//# sourceMappingURL=JWTService.d.ts.map