/** * Auth Service * * Сервис авторизации пользователей. */ import api from './api-client.js' import settingsService from './settings.service.js' /** * Проверить авторизацию при загрузке страницы * @returns {Promise} True если авторизован */ export async function checkAuth() { if (!api.isAuthenticated()) { return false } // Попробовать загрузить настройки (валидация токена) try { await settingsService.loadFromServer() return true } catch (error) { console.error('Token validation failed:', error) return false } } /** * Авторизация пользователя * @param {string} login - 8-значный логин * @returns {Promise} User info */ export async function login(login) { // Валидация формата логина if (!/^[0-9]{8}$/.test(login)) { throw new Error('Логин должен состоять из 8 цифр') } try { const response = await api.login(login) console.log('Login successful:', response.user) // Загрузить настройки с сервера await settingsService.loadFromServer() return response.user } catch (error) { console.error('Login failed:', error) throw error } } /** * Выход из системы */ export function logout() { api.logout() } /** * Проверить авторизован ли пользователь * @returns {boolean} */ export function isAuthenticated() { return api.isAuthenticated() }