/
home
/
techb158
/
cosmic-risk.abdallabala.com
/
src
/
app
/
api
/
gates
/
[gateId]
/
decisions
/
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/gates/[gateId]/decisions
mkdir
upload
Name
Size
Mode
Actions
route.js
1074
0644
edit
dl
rm
Edit:
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/gates/[gateId]/decisions/route.js
(1074B)
const { prisma } = require("../../../../../lib/prisma"); const { getActorFromRequest } = require("../../../../../lib/request-context"); const { requireProjectAccess } = require("../../../../../lib/tenant-guard"); const { addGateDecision } = require("../../../../../services/gate-service"); const { jsonResponse, errorResponse, parseJson } = require("../../../../../lib/http"); export async function POST(request, { params }) { try { const { gateId } = await params; const gate = await prisma.gateEvaluation.findUnique({ where: { id: gateId } }); if (!gate) { const error = new Error(`Gate not found: ${gateId}`); error.status = 404; throw error; } const actor = await getActorFromRequest(request); const projectScope = await requireProjectAccess(actor, gate.projectId, "gate:review"); const payload = await parseJson(request); const decision = await addGateDecision({ projectScope, gateId, actor, payload, request }); return jsonResponse({ decision }, 201); } catch (error) { return errorResponse(error); } }
Save
cmd:
run