best / frontend /src /lib /api /auth.ts
anky2002's picture
feat: Complete project scaffold - backend (FastAPI) + frontend (Next.js 15) + scraper + LLM gateway
8f2ab79 verified
Raw
History Blame Contribute Delete
982 Bytes
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");
},
};