37 lines
845 B
TypeScript

export type SessionData = {
id: string;
token?: string | null;
room?: string | null;
username?: string | null;
studioUrl?: string | null;
createdAt: number;
};
const sessionStore = new Map<string, SessionData>();
export function saveSession(id: string, data: Omit<Partial<SessionData>, 'id'>) {
const payload: SessionData = {
id,
token: data.token ?? null,
room: data.room ?? null,
username: data.username ?? null,
studioUrl: data.studioUrl ?? null,
createdAt: Date.now(),
};
sessionStore.set(id, payload);
return payload;
}
export function getSession(id: string): SessionData | null {
return sessionStore.get(id) || null;
}
export function deleteSession(id: string): boolean {
return sessionStore.delete(id);
}
export function listSessions() {
return Array.from(sessionStore.values());
}