brain / console /src /lib /auth.ts
Leon4gr45's picture
Deploy complete BrainAPI source d15a5889e878
2f1e7ff verified
Raw History Blame Contribute Delete
986 Bytes
export interface AuthSession {
apiBaseUrl: string;
brainId: string | null;
isSystemPat: boolean;
csrfToken?: string;
}
const STORAGE_KEY = "brainapi-console-preferences";
// Remove old credential-bearing storage on upgrade, without reading its value.
sessionStorage.removeItem("brainapi-console-session");
localStorage.removeItem("brainapi-console-session");
export function loadSession(): AuthSession | null {
try {
const preferences = JSON.parse(localStorage.getItem(STORAGE_KEY) ?? "null");
return preferences ? { apiBaseUrl: preferences.apiBaseUrl, brainId: null, isSystemPat: false } : null;
} catch { return null; }
}
export function saveSession(session: AuthSession): void {
localStorage.setItem(STORAGE_KEY, JSON.stringify({ apiBaseUrl: session.apiBaseUrl }));
}
export function clearSession(): void {
sessionStorage.removeItem("brainapi-console-session");
}
export function normalizeBaseUrl(url: string): string { return url.replace(/\/+$/, ""); }