import { apiFetch, setAccessToken, clearTokens } from './client'; import { API_ENDPOINTS } from './config'; export interface LoginPayload { email: string; password: string; device_fingerprint?: string; latitude?: number; longitude?: number; location_name?: string; } export interface TokenResponse { access_token: string; refresh_token: string; token_type: string; } export const authService = { async login(payload: LoginPayload): Promise { const data = await apiFetch(API_ENDPOINTS.AUTH_LOGIN, { method: 'POST', body: JSON.stringify(payload), skipAuth: true, }); setAccessToken(data.access_token); if (typeof window !== 'undefined') { localStorage.setItem('refresh_token', data.refresh_token); } return data; }, async logout(): Promise { try { await apiFetch(API_ENDPOINTS.AUTH_LOGOUT, { method: 'POST' }); } finally { clearTokens(); } }, };