@toruslabs/session-manager
Version:
31 lines (30 loc) • 858 B
TypeScript
export type IRequestBody = Record<string, unknown>;
export interface ApiRequestParams {
url: string;
method?: string;
headers?: Record<string, string>;
data?: IRequestBody;
}
export interface ISessionManager<TSessionData> {
sessionId: string;
createSession(data: TSessionData): Promise<string>;
authorizeSession(): Promise<TSessionData>;
updateSession(data: Partial<TSessionData>): Promise<void>;
invalidateSession(): Promise<boolean>;
}
export type SessionApiResponse = {
message?: string;
};
export interface SessionManagerOptions {
sessionServerBaseUrl?: string;
sessionNamespace?: string;
sessionTime?: number;
sessionId?: string;
}
export interface SessionRequestBody extends IRequestBody {
key: string;
data: string;
signature: string;
timeout?: number;
namespace?: string;
}