@analog-tools/auth
Version:
Authentication module for AnalogJS applications
27 lines (26 loc) • 1.12 kB
TypeScript
import { H3Event } from 'h3';
import { AuthSessionData, SessionWithSave, SessionWithHandler } from '../types/auth-session.types';
import { SessionStorageConfig } from '../types/auth.types';
export declare class SessionService {
static readonly INJECTABLE = true;
private readonly storageConfig;
private store;
private logger;
constructor(config: SessionStorageConfig);
initSession(event: H3Event): Promise<void>;
/**
* Get a session by session ID
* @param sessionId The session ID
* @returns The session object or null if not found
*/
getSession(sessionId: string): Promise<SessionWithSave | null>;
/**
* Get all active sessions from storage
* @returns Array of session objects with update capability
*/
getActiveSessions(): Promise<SessionWithHandler[]>;
destroyAuthSession(event: H3Event): Promise<void>;
getSessionData<T>(event: H3Event, key: keyof AuthSessionData): Promise<T | null>;
setSessionData<T>(event: H3Event, key: keyof AuthSessionData, value: T): Promise<void>;
isValidSession(event: H3Event): Promise<boolean>;
}