import { createProject, listProjects } from "@autoscholar/core"; import { CreateProjectRequest } from "@autoscholar/schemas"; import { handler, json, parseBody } from "@/lib/server/api"; import { db } from "@/lib/server/db"; import { requireAdmin } from "@/lib/server/session"; export const runtime = "nodejs"; export const GET = handler(async (req) => { await requireAdmin(req); return json({ projects: await listProjects(db()) }); }); export const POST = handler(async (req) => { const sess = await requireAdmin(req, { mutation: true }); const body = await parseBody(req, CreateProjectRequest, 16 * 1024); const project = await createProject(db(), body, { id: sess.userId, ip: sess.ip }); return json({ project }, { status: 201 }); });