1 | import { CookieSerializeOptions } from 'cookie';
|
2 | import { Config } from '../config';
|
3 | import { Cookies } from '../utils/cookies';
|
4 | export interface SessionPayload<Session> {
|
5 | header: {
|
6 | |
7 |
|
8 |
|
9 | iat: number;
|
10 | |
11 |
|
12 |
|
13 | uat: number;
|
14 | |
15 |
|
16 |
|
17 | exp: number;
|
18 | };
|
19 | |
20 |
|
21 |
|
22 | data: Session;
|
23 | }
|
24 | export type Header = {
|
25 | iat: number;
|
26 | uat: number;
|
27 | exp: number;
|
28 | [propName: string]: unknown;
|
29 | };
|
30 | export declare abstract class AbstractSession<Req, Res, Session> {
|
31 | protected config: Config;
|
32 | protected Cookies: new () => Cookies;
|
33 | constructor(config: Config, Cookies: new () => Cookies);
|
34 | abstract getSession(req: Req): Promise<SessionPayload<Session> | undefined | null>;
|
35 | abstract setSession(req: Req, res: Res, session: Session, uat: number, iat: number, exp: number, cookieOptions: CookieSerializeOptions, isNewSession: boolean): Promise<void>;
|
36 | abstract deleteSession(req: Req, res: Res, cookieOptions: CookieSerializeOptions): Promise<void>;
|
37 | read(req: Req): Promise<[Session?, number?]>;
|
38 | save(req: Req, res: Res, session: Session | null | undefined, createdAt?: number): Promise<void>;
|
39 | private calculateExp;
|
40 | }
|
41 | //# sourceMappingURL=abstract-session.d.ts.map |
\ | No newline at end of file |