/
home
/
techb158
/
cosmic-risk.abdallabala.com
/
src
/
app
/
api
/
projects
/
[projectId]
/
indicators
/
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/projects/[projectId]/indicators
mkdir
upload
Name
Size
Mode
Actions
[indicatorId]/
-
0755
rm
route.js
1476
0644
edit
dl
rm
Edit:
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/projects/[projectId]/indicators/route.js
(1476B)
const { prisma } = require("../../../../../lib/prisma"); const { getActorFromRequest } = require("../../../../../lib/request-context"); const { requireProjectAccess } = require("../../../../../lib/tenant-guard"); const { jsonResponse, errorResponse } = 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"); const indicators = await prisma.indicator.findMany({ where: { projectId }, orderBy: { createdAt: "desc" } }); return jsonResponse({ indicators }); } catch (error) { return errorResponse(error); } } export async function POST(request, { params }) { try { const { projectId } = await params; const actor = await getActorFromRequest(request); await requireProjectAccess(actor, projectId, "project:update"); const body = await request.json(); const { name, dimension, measurand, unit, target, interpretationRule } = body; if (!name || !dimension) { return jsonResponse({ error: "name and dimension are required" }, 400); } const indicator = await prisma.indicator.create({ data: { projectId, name, dimension, measurand: measurand || "", unit: unit || "", target, interpretationRule } }); return jsonResponse(indicator, 201); } catch (error) { return errorResponse(error); } }
Save
cmd:
run