/
home
/
techb158
/
balavpn.abdallabala.com
/
src
/
app
/
api
/
risks
/
[riskId]
/
/home/techb158/balavpn.abdallabala.com/src/app/api/risks/[riskId]
mkdir
upload
Name
Size
Mode
Actions
mitigations/
-
0755
rm
route.js
1516
0644
edit
dl
rm
Edit:
/home/techb158/balavpn.abdallabala.com/src/app/api/risks/[riskId]/route.js
(1516B)
const { prisma } = require("../../../../lib/prisma"); const { getActorFromRequest } = require("../../../../lib/request-context"); const { requireProjectAccess } = require("../../../../lib/tenant-guard"); const { updateRisk, deleteRisk } = require("../../../../services/risk-service"); const { jsonResponse, errorResponse, parseJson } = require("../../../../lib/http"); async function scopeForRisk(request, riskId, permission) { const risk = await prisma.risk.findUnique({ where: { id: riskId } }); if (!risk) { const error = new Error(`Risk not found: ${riskId}`); error.status = 404; throw error; } const actor = await getActorFromRequest(request); const projectScope = await requireProjectAccess(actor, risk.projectId, permission); return { actor, projectScope }; } export async function PATCH(request, { params }) { try { const { riskId } = await params; const { actor, projectScope } = await scopeForRisk(request, riskId, "risk:write"); const payload = await parseJson(request); return jsonResponse({ risk: await updateRisk({ projectScope, riskId, actor, payload, request }) }); } catch (error) { return errorResponse(error); } } export async function DELETE(request, { params }) { try { const { riskId } = await params; const { actor, projectScope } = await scopeForRisk(request, riskId, "risk:delete"); return jsonResponse(await deleteRisk({ projectScope, riskId, actor, request })); } catch (error) { return errorResponse(error); } }
Save
cmd:
run