File size: 982 Bytes
8f2ab79 | 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 | import { apiClient } from "./client";
import type { LoginRequest, RegisterRequest, TokenResponse, UserResponse } from "@/types/api";
export const authApi = {
async login(data: LoginRequest): Promise<TokenResponse> {
const response = await apiClient.post("/auth/login", data);
return response.data;
},
async register(data: RegisterRequest): Promise<TokenResponse> {
const response = await apiClient.post("/auth/register", data);
return response.data;
},
async getMe(): Promise<UserResponse> {
const response = await apiClient.get("/auth/me");
return response.data;
},
async refresh(refreshToken: string): Promise<TokenResponse> {
const response = await apiClient.post("/auth/refresh", {
refresh_token: refreshToken,
});
return response.data;
},
async logout(): Promise<void> {
await apiClient.post("/auth/logout");
localStorage.removeItem("access_token");
localStorage.removeItem("refresh_token");
},
};
|