feat: add local auth billing and usage management

This commit is contained in:
inman
2026-08-12 12:13:06 +08:00
parent f642b5e71f
commit 196fdde83f
119 changed files with 15695 additions and 2650 deletions

22
app/api/usage/route.ts Normal file
View File

@@ -0,0 +1,22 @@
import { jsonError, jsonOk } from "@/lib/server/api";
import { requireAppUser } from "@/lib/server/auth/current-user";
import { getPersonalUsageReport } from "@/lib/server/usage-service";
import type { UsagePreset } from "@/lib/usage";
export const runtime = "nodejs";
export const dynamic = "force-dynamic";
export async function GET(request: Request) {
try {
const user = await requireAppUser();
const preset = parsePreset(new URL(request.url).searchParams.get("preset"));
return jsonOk(await getPersonalUsageReport(user.id, preset));
} catch (error) {
return jsonError(error, 500, { request, source: "api.usage" });
}
}
function parsePreset(value: string | null): UsagePreset {
if (value === "today" || value === "7d" || value === "30d" || value === "month") return value;
return "month";
}