import { generateToken } from '../lib/codes.ts'; export type Session = { token: string; userId: string; createdAt: number; }; export interface SessionStore { create(userId: string): Promise; findByToken(token: string): Promise; } export class InMemorySessionStore implements SessionStore { private byToken = new Map(); async create(userId: string): Promise { const session = { token: generateToken(), userId, createdAt: Date.now() }; this.byToken.set(session.token, session); return session; } async findByToken(token: string): Promise { return this.byToken.get(token); } }