25 lines
787 B
TypeScript
25 lines
787 B
TypeScript
import { fetchJson } from "@/lib/client/fetch-json";
|
|
import type { User } from "@/lib/shared/types";
|
|
|
|
export async function authMe() {
|
|
return fetchJson<{ user: User }>("/api/auth/me", { method: "GET" });
|
|
}
|
|
|
|
export async function authLogin(input: { email: string; password: string; remember: boolean }) {
|
|
return fetchJson<{ user: User }>("/api/auth/login", {
|
|
method: "POST",
|
|
body: JSON.stringify(input)
|
|
});
|
|
}
|
|
|
|
export async function authRegister(input: { email: string; password: string; displayName?: string }) {
|
|
return fetchJson<{ user: User }>("/api/auth/register", {
|
|
method: "POST",
|
|
body: JSON.stringify(input)
|
|
});
|
|
}
|
|
|
|
export async function authLogout() {
|
|
return fetchJson<{ ok: true }>("/api/auth/logout", { method: "POST" });
|
|
}
|