/home/techb158/cosmic-risk.abdallabala.com/src/app/api/projects/[projectId]
NameSizeModeActions
audit/-0755rm
dashboard/-0755rm
experiments/-0755rm
gate/-0744rm
indicators/-0755rm
mitigations/-0755rm
report-exports/-0755rm
reports/-0744rm
risks/-0755rm
scheduled-reports/-0755rm
route.js15220644editdlrm
Edit: /home/techb158/cosmic-risk.abdallabala.com/src/app/api/projects/[projectId]/route.js (1522B)
const { getActorFromRequest } = require("../../../../lib/request-context"); const { requireProjectAccess } = require("../../../../lib/tenant-guard"); const { getProject, updateProject, deleteProject } = require("../../../../services/project-service"); const { jsonResponse, errorResponse, parseJson } = require("../../../../lib/http"); export async function GET(request, { params }) { try { const { projectId } = await params; const actor = await getActorFromRequest(request); await requireProjectAccess(actor, projectId, "project:read"); return jsonResponse({ project: await getProject(projectId) }); } catch (error) { return errorResponse(error); } } export async function PATCH(request, { params }) { try { const { projectId } = await params; const actor = await getActorFromRequest(request); const projectScope = await requireProjectAccess(actor, projectId, "project:write"); const payload = await parseJson(request); return jsonResponse({ project: await updateProject({ projectScope, actor, payload, request }) }); } catch (error) { return errorResponse(error); } } export async function DELETE(request, { params }) { try { const { projectId } = await params; const actor = await getActorFromRequest(request); const projectScope = await requireProjectAccess(actor, projectId, "project:write"); return jsonResponse(await deleteProject({ projectScope, projectId, actor, request })); } catch (error) { return errorResponse(error); } }