mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-07-24 21:36:06 +00:00
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
export const ACTIVE_WORKSPACE_STORAGE_KEY = 'langbot_active_workspace_uuid';
|
|
export const PENDING_INVITATION_TOKEN_KEY = 'langbot_pending_invitation_token';
|
|
|
|
let activeWorkspaceUuid: string | null = null;
|
|
|
|
function readStoredWorkspaceUuid(): string | null {
|
|
if (typeof window === 'undefined') return null;
|
|
const value = localStorage.getItem(ACTIVE_WORKSPACE_STORAGE_KEY)?.trim();
|
|
return value || null;
|
|
}
|
|
|
|
export function getActiveWorkspaceUuid(): string | null {
|
|
if (activeWorkspaceUuid) return activeWorkspaceUuid;
|
|
activeWorkspaceUuid = readStoredWorkspaceUuid();
|
|
return activeWorkspaceUuid;
|
|
}
|
|
|
|
export function setActiveWorkspaceUuid(workspaceUuid: string): void {
|
|
const normalized = workspaceUuid.trim();
|
|
if (!normalized) {
|
|
throw new Error('Workspace UUID cannot be empty');
|
|
}
|
|
activeWorkspaceUuid = normalized;
|
|
if (typeof window !== 'undefined') {
|
|
localStorage.setItem(ACTIVE_WORKSPACE_STORAGE_KEY, normalized);
|
|
}
|
|
}
|
|
|
|
export function clearActiveWorkspaceUuid(): void {
|
|
activeWorkspaceUuid = null;
|
|
if (typeof window !== 'undefined') {
|
|
localStorage.removeItem(ACTIVE_WORKSPACE_STORAGE_KEY);
|
|
}
|
|
}
|
|
|
|
export function getPendingInvitationToken(): string | null {
|
|
if (typeof window === 'undefined') return null;
|
|
const token = sessionStorage.getItem(PENDING_INVITATION_TOKEN_KEY)?.trim();
|
|
return token || null;
|
|
}
|
|
|
|
export function setPendingInvitationToken(token: string): void {
|
|
const normalized = token.trim();
|
|
if (!normalized) throw new Error('Invitation token cannot be empty');
|
|
if (typeof window !== 'undefined') {
|
|
sessionStorage.setItem(PENDING_INVITATION_TOKEN_KEY, normalized);
|
|
}
|
|
}
|
|
|
|
export function clearPendingInvitationToken(): void {
|
|
if (typeof window !== 'undefined') {
|
|
sessionStorage.removeItem(PENDING_INVITATION_TOKEN_KEY);
|
|
}
|
|
}
|