admin-projects/src/services/token-store.ts

36 lines
990 B
TypeScript
Raw Normal View History

const ACCESS_TOKEN_KEY = 'admin_access_token'
const REFRESH_TOKEN_KEY = 'admin_refresh_token'
const ADMIN_USER_KEY = 'admin_user'
export function getAccessToken(): string | null {
return localStorage.getItem(ACCESS_TOKEN_KEY)
}
export function getRefreshToken(): string | null {
return localStorage.getItem(REFRESH_TOKEN_KEY)
}
export function setTokens(access: string, refresh: string): void {
localStorage.setItem(ACCESS_TOKEN_KEY, access)
localStorage.setItem(REFRESH_TOKEN_KEY, refresh)
}
export function clearTokens(): void {
localStorage.removeItem(ACCESS_TOKEN_KEY)
localStorage.removeItem(REFRESH_TOKEN_KEY)
localStorage.removeItem(ADMIN_USER_KEY)
}
export function getStoredAdminUser<T>(): T | null {
try {
const raw = localStorage.getItem(ADMIN_USER_KEY)
return raw ? (JSON.parse(raw) as T) : null
} catch {
return null
}
}
export function setStoredAdminUser<T>(user: T): void {
localStorage.setItem(ADMIN_USER_KEY, JSON.stringify(user))
}