Files
NianAIGC/app/api/billing/route.ts

25 lines
862 B
TypeScript

import { jsonError, jsonOk } from "@/lib/server/api";
import { requireAppSession } from "@/lib/server/auth/current-user";
import { getBillingOverview } from "@/lib/server/billing-service";
export const runtime = "nodejs";
export const dynamic = "force-dynamic";
export async function GET() {
try {
const session = await requireAppSession();
const organizationId = session.user.organizationId;
if (!organizationId) throw Object.assign(new Error("当前账号未绑定组织。"), { status: 422 });
const overview = await getBillingOverview({ organizationId, accountId: session.user.id });
return jsonOk({
organization: {
id: organizationId,
name: session.user.organizationName || organizationId
},
...overview
});
} catch (error) {
return jsonError(error, 500, { source: "api.billing" });
}
}