import { apiGet, apiPost } from "@/services/api/request"; export const AUTH_TOKEN_KEY = "infinite-canvas-auth-token-v1"; export type UserRole = "guest" | "user" | "admin"; export type AuthUser = { id: string; username: string; displayName: string; avatarUrl: string; role: UserRole; credits: number; createdAt: string; updatedAt: string; }; export type AuthSession = { token: string; user: AuthUser; }; export type AuthPayload = { username: string; password: string; }; export async function login(payload: AuthPayload) { return apiPost("/api/auth/login", payload); } export async function register(payload: AuthPayload) { return apiPost("/api/auth/register", payload); } export async function fetchCurrentUser(token?: string) { return apiGet("/api/auth/me", undefined, token); }