SPB Git

spb/autoscholar

Public
753 B · 20 lines typescript
1import { createProject, listProjects } from "@autoscholar/core";2import { CreateProjectRequest } from "@autoscholar/schemas";3import { handler, json, parseBody } from "@/lib/server/api";4import { db } from "@/lib/server/db";5import { requireAdmin } from "@/lib/server/session";67export const runtime = "nodejs";89export const GET = handler(async (req) => {10  await requireAdmin(req);11  return json({ projects: await listProjects(db()) });12});1314export const POST = handler(async (req) => {15  const sess = await requireAdmin(req, { mutation: true });16  const body = await parseBody(req, CreateProjectRequest, 16 * 1024);17  const project = await createProject(db(), body, { id: sess.userId, ip: sess.ip });18  return json({ project }, { status: 201 });19});20
Files · main
Menu

Theme