import { type } from "arktype"; import { readDropValidatedBody, throwingArktype } from "~/server/arktype"; import aclManager from "~/server/internal/acls"; import prisma from "~/server/internal/db/database"; const CreateDepot = type({ endpoint: "string", }).configure(throwingArktype); export default defineEventHandler(async (h3) => { const allowed = await aclManager.allowSystemACL(h3, ["depot:new"]); if (!allowed) throw createError({ statusCode: 403 }); const body = await readDropValidatedBody(h3, CreateDepot); const depot = await prisma.depot.create({ data: { endpoint: body.endpoint }, }); return depot; });