import { request, setAccessToken } from '@/shared/api/client'; import type { AuthResponse, UserResponse } from '@/shared/api/responses'; export async function login(email: string, password: string) { const result = await request('/api/v1/auth/login', undefined, { method: 'POST', body: { email, password }, skipAuth: true, }); setAccessToken(result.data.accessToken); return result.data; } export async function register(email: string, password: string, name?: string) { const result = await request('/api/v1/auth/register', undefined, { method: 'POST', body: { email, password, name }, skipAuth: true, }); setAccessToken(result.data.accessToken); return result.data; } export async function refresh() { const result = await request('/api/v1/auth/refresh', undefined, { method: 'POST', skipAuth: true, }); setAccessToken(result.data.accessToken); return result.data; } export async function logout() { const result = await request<{ message: string }>('/api/v1/auth/logout', undefined, { method: 'POST', }); setAccessToken(null); return result.data; } export async function getMe() { const result = await request('/api/v1/auth/me'); return result.data; } export async function updateProfile(data: { name?: string }) { const result = await request('/api/v1/auth/me', undefined, { method: 'PATCH', body: data, }); return result.data; }