import { api } from '$lib/api/httpClient'; import type { ApiResult } from '$lib/types/api'; import { authStore } from '$lib/stores/authStore'; import { browser } from '$app/environment'; export const tokenService = { /** * Check if the current token is valid */ validateToken: async (): Promise => { if (!browser) return false; try { const response = await api.get('/auth/validate'); return response.code === 200; } catch (error) { console.error('Token validation failed:', error); return false; } }, /** * Refresh the current token */ refreshToken: async (): Promise => { if (!browser) return false; try { const response = await api.post<{token: string, tokenHead: string}>('/auth/refresh', {}); if (response.code === 200 && response.data) { // Update the auth store with new token authStore.update(state => ({ ...state, token: response.data!.token, tokenHead: response.data!.tokenHead })); return true; } return false; } catch (error) { console.error('Token refresh failed:', error); return false; } } };