/
FlysAt
/
DataFoundry
Обзор
Документация
Войти
/
FlysAt
/
DataFoundry
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
frontend/src/utils/auth.ts
45 строк
1 KB
FlysAt8
Integration Testing
27 мар 2026, 14:49
27 мар 2026, 14:49
1ead39b
Код
Авторство
О чём код?
// src/utils/auth.ts import type { User } from '../api/auth'; const TOKEN_KEY = 'access_token'; const REFRESH_TOKEN_KEY = 'refresh_token'; const USER_KEY = 'user'; export const authUtils = { setTokens: (accessToken: string, refreshToken: string): void => { localStorage.setItem(TOKEN_KEY, accessToken); localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken); }, getAccessToken: (): string | null => { return localStorage.getItem(TOKEN_KEY); }, getRefreshToken: (): string | null => { return localStorage.getItem(REFRESH_TOKEN_KEY); }, setUser: (user: User): void => { localStorage.setItem(USER_KEY, JSON.stringify(user)); }, getUser: (): User | null => { const userStr = localStorage.getItem(USER_KEY); return userStr ? JSON.parse(userStr) : null; }, isAuthenticated: (): boolean => { return !!localStorage.getItem(TOKEN_KEY); }, hasRole: (role: string): boolean => { const user = authUtils.getUser(); return user?.roles?.includes(role) ?? false; }, logout: (): void => { localStorage.removeItem(TOKEN_KEY); localStorage.removeItem(REFRESH_TOKEN_KEY); localStorage.removeItem(USER_KEY); }, };