27 lines
872 B
TypeScript
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
|