import { api } from './api'; import { normalizeMobileNumber, normalizeVerificationCode } from '../lib/utils'; export const authService = { sendOtp: async (mobileNumber: string) => { const normalizedMobile = normalizeMobileNumber(mobileNumber); const response = await api.post('/api/v1/accounts/send-otp-sms', { mobile: { number: normalizedMobile, countryCode: '98' } }); return response.data; }, login: async (mobileNumber: string, code: string) => { const normalizedMobile = normalizeMobileNumber(mobileNumber); const normalizedCode = normalizeVerificationCode(code); const response = await api.post('/api/v1/accounts/register-and-login-by-mobile', { mobile: { number: normalizedMobile, countryCode: '98' }, verificationCode: normalizedCode }); if (response.data.isSuccess) { const { accessToken, refreshToken } = response.data.value; localStorage.setItem('accessToken', accessToken); localStorage.setItem('refreshToken', refreshToken); } return response.data; }, logout: async () => { const refreshToken = localStorage.getItem('refreshToken'); if (refreshToken) { await api.post('/api/v1/accounts/logout', { refreshToken }); } localStorage.removeItem('accessToken'); localStorage.removeItem('refreshToken'); }, getMe: async () => { const response = await api.get('/api/v1/users/me'); return response.data; } };