Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import api from './axios' import type { User } from '@/types' export interface LoginCredentials { username: string password: string } export interface RegisterData { email: string username: string password: string role?: string courseId?: string } export interface AuthToken { access_token: string token_type: string } // ---------------------------------------------------------------- // AUTH API // ---------------------------------------------------------------- export const authApi = { /** * Login user */ login: (credentials: LoginCredentials) => { return api.post<AuthToken>('/auth/login', credentials) }, /** * Register new user */ register: (data: RegisterData) => { return api.post<AuthToken>('/auth/register', data) }, /** * Get current user info */ me: () => { return api.get<User>('/auth/me') }, /** * Refresh access token */ refresh: () => { return api.post<AuthToken>('/auth/refresh') }, } |