import api from './api'; import * as SecureStore from 'expo-secure-store'; import { AuthResponse, User } from '../types'; export async function login(username: string, password: string): Promise { const response = await api.post('/auth/login', { username, password }); const { user, token } = response.data; await SecureStore.setItemAsync('auth_token', token); await SecureStore.setItemAsync('user', JSON.stringify(user)); return response.data; } export async function logout(): Promise { await api.post('/auth/logout'); await SecureStore.deleteItemAsync('auth_token'); await SecureStore.deleteItemAsync('user'); } export async function checkAuth(): Promise { try { const response = await api.get('/auth/check'); return response.data.user; } catch { return null; } } export async function getStoredUser(): Promise { const userStr = await SecureStore.getItemAsync('user'); return userStr ? JSON.parse(userStr) : null; } export async function register(username: string, password: string): Promise { const response = await api.post('/auth/register', { username, password }); const { user, token } = response.data; await SecureStore.setItemAsync('auth_token', token); await SecureStore.setItemAsync('user', JSON.stringify(user)); return response.data; }