import type { PublicUser } from "../api/auth.js"; const STORAGE_KEY = "eden.reseller.session"; export interface StoredSession { accessToken: string; refreshToken: string; user: PublicUser; } /** * Basic session persistence (localStorage) so a page refresh doesn't log * the user out. Deliberately NOT rotating the refresh token automatically * on expiry in this leva — see apps/reseller-web/src/lib/auth/AuthContext.tsx. */ export function readSession(): StoredSession | null { try { const raw = window.localStorage.getItem(STORAGE_KEY); if (!raw) return null; const parsed = JSON.parse(raw) as StoredSession; if (!parsed.accessToken || !parsed.refreshToken || !parsed.user) return null; return parsed; } catch { return null; } } export function writeSession(session: StoredSession): void { window.localStorage.setItem(STORAGE_KEY, JSON.stringify(session)); } export function clearSession(): void { window.localStorage.removeItem(STORAGE_KEY); }