/home/techb158/balavpn.abdallabala.com/.next/server/app/api/risks/[riskId]
NameSizeModeActions
mitigations/-0777rm
route.js162320666editdlrm
route.js.nft.json46780666editdlrm
route_client-reference-manifest.js94440666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/.next/server/app/api/risks/[riskId]/route.js (16232B)
"use strict";(()=>{var a={};a.id=3591,a.ids=[3591],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3421:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16261:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{DELETE:()=>E,PATCH:()=>D});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356);let{prisma:u}=c(17964),{getActorFromRequest:v}=c(12773),{requireProjectAccess:w}=c(15400),{updateRisk:x,deleteRisk:y}=c(69698),{jsonResponse:z,errorResponse:A,parseJson:B}=c(22488);async function C(a,b,c){let d=await u.risk.findUnique({where:{id:b}});if(!d){let a=Error(`Risk not found: ${b}`);throw a.status=404,a}let e=await v(a),f=await w(e,d.projectId,c);return{actor:e,projectScope:f}}async function D(a,{params:b}){try{let{riskId:c}=await b,{actor:d,projectScope:e}=await C(a,c,"risk:write"),f=await B(a);return z({risk:await x({projectScope:e,riskId:c,actor:d,payload:f,request:a})})}catch(a){return A(a)}}async function E(a,{params:b}){try{let{riskId:c}=await b,{actor:d,projectScope:e}=await C(a,c,"risk:delete");return z(await y({projectScope:e,riskId:c,actor:d,request:a}))}catch(a){return A(a)}}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/risks/[riskId]/route",pathname:"/api/risks/[riskId]",filename:"route",bundlePath:"app/api/risks/[riskId]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\abd_b\\OneDrive\\Desktop\\COSMIC AI-Risk Dashboard\\Step 12 is complete Final QA, Demo Readiness, and Submission Freeze\\application\\saas-app\\src\\app\\api\\risks\\[riskId]\\route.js",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){var d;let e="/api/risks/[riskId]/route";"/index"===e&&(e="/");let g=await F.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),E=!!(y.dynamicRoutes[D]||y.routes[C]);if(E&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!E||F.isDev||x||(G="/index"===(G=C)?"/":G);let H=!0===F.isDev||!E,I=E&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>F.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>F.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!E)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!E)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&E||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),E)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},23518:(a,b,c)=>{let{prisma:d}=c(17964);a.exports={writeAuditEvent:async function({organizationId:a,workspaceId:b=null,projectId:c=null,actorUserId:e=null,entityType:f,entityId:g,action:h,beforeJson:i=null,afterJson:j=null,request:k=null}){return d.auditEvent.create({data:{organizationId:a,workspaceId:b,projectId:c,actorUserId:e,entityType:f,entityId:g,action:h,beforeJson:i,afterJson:j,ipAddress:k&&k.headers.get("x-forwarded-for")||null,userAgent:k&&k.headers.get("user-agent")||null}})}}},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69698:(a,b,c)=>{let{prisma:d}=c(17964),{scoreRisk:e}=c(55567),{writeAuditEvent:f}=c(23518);function g(a){return"In mitigation"===a||"IN_MITIGATION"===a?"IN_MITIGATION":"Accepted"===a||"ACCEPTED"===a?"ACCEPTED":"Closed"===a||"CLOSED"===a?"CLOSED":"OPEN"}function h(a){return"Approved"===a||"APPROVED"===a?"APPROVED":"Rejected"===a||"REJECTED"===a?"REJECTED":"Accepted"===a||"ACCEPTED"===a?"ACCEPTED":"PENDING"}function i(a){return"In progress"===a||"IN_PROGRESS"===a?"IN_PROGRESS":"Done"===a||"DONE"===a?"DONE":"Rejected"===a||"REJECTED"===a?"REJECTED":"NOT_STARTED"}a.exports={listRisks:async function(a){return(await d.risk.findMany({where:{projectId:a},include:{mitigations:!0,evidence:!0},orderBy:{createdAt:"asc"}})).map(a=>e(Object.assign({},a,{mitigationProgress:a.mitigations.length?Math.round(a.mitigations.reduce((a,b)=>a+b.progressPercent,0)/a.mitigations.length):0,mitigationEffectiveness:a.mitigations.length?Math.round(a.mitigations.reduce((a,b)=>a+b.effectivenessPercent,0)/a.mitigations.length):0})))},createRisk:async function({projectScope:a,actor:b,payload:c,request:i}){if(!c.title)throw Error("title is required");let j=await d.risk.create({data:{projectId:a.project.id,ownerDisplayName:c.ownerDisplayName||c.owner||b.displayName,title:c.title,description:c.description||"",dimension:c.dimension||"Technical",domain:c.domain||"Technical risks",lifecyclePhase:c.lifecyclePhase||a.project.currentLifecyclePhase||"Needs identification",probability:Number(c.probability||3),impact:Number(c.impact||3),detectability:Number(c.detectability||3),status:g(c.status),approvalStatus:h(c.approvalStatus),dueDate:c.dueDate?new Date(c.dueDate):null,evidenceSummary:c.evidenceSummary||c.evidence||""}});return(c.evidenceTitle||c.evidenceSummary||c.evidenceUri)&&await d.evidence.create({data:{projectId:a.project.id,riskId:j.id,type:c.evidenceType||"Review",title:c.evidenceTitle||c.evidenceSummary||c.evidenceUri,uri:c.evidenceUri||null,createdById:b.id}}),await f({organizationId:a.organization.id,workspaceId:a.project.workspaceId,projectId:a.project.id,actorUserId:b.id,entityType:"Risk",entityId:j.id,action:"create",afterJson:j,request:i}),e(j)},updateRisk:async function({projectScope:a,riskId:b,actor:c,payload:i,request:j}){let k=await d.risk.findUnique({where:{id:b}});if(!k||k.projectId!==a.project.id){let a=Error(`Risk not found: ${b}`);throw a.status=404,a}let l=await d.risk.update({where:{id:b},data:{title:i.title??k.title,description:i.description??k.description,dimension:i.dimension??k.dimension,domain:i.domain??k.domain,lifecyclePhase:i.lifecyclePhase??k.lifecyclePhase,probability:void 0!==i.probability?Number(i.probability):k.probability,impact:void 0!==i.impact?Number(i.impact):k.impact,detectability:void 0!==i.detectability?Number(i.detectability):k.detectability,status:void 0!==i.status?g(i.status):k.status,approvalStatus:void 0!==i.approvalStatus?h(i.approvalStatus):k.approvalStatus,dueDate:void 0!==i.dueDate?i.dueDate?new Date(i.dueDate):null:k.dueDate,evidenceSummary:i.evidenceSummary??k.evidenceSummary}});return await f({organizationId:a.organization.id,workspaceId:a.project.workspaceId,projectId:a.project.id,actorUserId:c.id,entityType:"Risk",entityId:l.id,action:"update",beforeJson:k,afterJson:l,request:j}),e(l)},deleteRisk:async function({projectScope:a,riskId:b,actor:c,request:e}){let g=await d.risk.findUnique({where:{id:b}});if(!g||g.projectId!==a.project.id){let a=Error(`Risk not found: ${b}`);throw a.status=404,a}return await d.risk.delete({where:{id:b}}),await f({organizationId:a.organization.id,workspaceId:a.project.workspaceId,projectId:a.project.id,actorUserId:c.id,entityType:"Risk",entityId:b,action:"delete",beforeJson:g,request:e}),{deleted:!0}},createMitigation:async function({projectScope:a,riskId:b,actor:c,payload:e,request:g}){let h=await d.risk.findUnique({where:{id:b}});if(!h||h.projectId!==a.project.id){let a=Error(`Risk not found: ${b}`);throw a.status=404,a}let j=await d.mitigation.create({data:{riskId:b,ownerDisplayName:e.ownerDisplayName||e.owner||c.displayName,title:e.title,description:e.description||"",status:i(e.status),progressPercent:Number(e.progressPercent??e.progress_percent??0),effectivenessPercent:Number(e.effectivenessPercent??e.effectiveness_percent??0),dueDate:e.dueDate?new Date(e.dueDate):null,sequence:Number(e.sequence||1)}});return(e.evidenceTitle||e.evidenceUri)&&await d.evidence.create({data:{projectId:a.project.id,riskId:b,mitigationId:j.id,type:e.evidenceType||"Review",title:e.evidenceTitle||e.evidenceUri,uri:e.evidenceUri||null,createdById:c.id}}),await f({organizationId:a.organization.id,workspaceId:a.project.workspaceId,projectId:a.project.id,actorUserId:c.id,entityType:"Mitigation",entityId:j.id,action:"create",afterJson:j,request:g}),j},getMitigation:async function(a){let b=await d.mitigation.findUnique({where:{id:a},include:{evidence:!0,risk:{select:{id:!0,title:!0,dimension:!0,projectId:!0}}}});if(!b){let b=Error(`Mitigation not found: ${a}`);throw b.status=404,b}return b},listProjectMitigations:async function(a){return d.mitigation.findMany({where:{risk:{projectId:a}},include:{evidence:!0,risk:{select:{id:!0,title:!0,dimension:!0}}},orderBy:{createdAt:"desc"}})},updateMitigation:async function({projectScope:a,mitigationId:b,actor:c,payload:e,request:g}){let h=await d.mitigation.findUnique({where:{id:b},include:{risk:{select:{projectId:!0}}}});if(!h||h.risk.projectId!==a.project.id){let a=Error(`Mitigation not found: ${b}`);throw a.status=404,a}let j=await d.mitigation.update({where:{id:b},data:{title:e.title??h.title,description:e.description??h.description,ownerDisplayName:e.ownerDisplayName??e.owner??h.ownerDisplayName,status:void 0!==e.status?i(e.status):h.status,progressPercent:void 0!==e.progressPercent?Number(e.progressPercent):h.progressPercent,effectivenessPercent:void 0!==e.effectivenessPercent?Number(e.effectivenessPercent):h.effectivenessPercent,dueDate:void 0!==e.dueDate?e.dueDate?new Date(e.dueDate):null:h.dueDate,sequence:void 0!==e.sequence?Number(e.sequence):h.sequence}});return(e.evidenceTitle||e.evidenceUri)&&await d.evidence.create({data:{projectId:a.project.id,riskId:h.riskId,mitigationId:j.id,type:e.evidenceType||"Review",title:e.evidenceTitle||e.evidenceUri,uri:e.evidenceUri||null,createdById:c.id}}),await f({organizationId:a.organization.id,workspaceId:a.project.workspaceId,projectId:a.project.id,actorUserId:c.id,entityType:"Mitigation",entityId:j.id,action:"update",beforeJson:h,afterJson:j,request:g}),j},deleteMitigation:async function({projectScope:a,mitigationId:b,actor:c,request:e}){let g=await d.mitigation.findUnique({where:{id:b},include:{risk:{select:{projectId:!0}}}});if(!g||g.risk.projectId!==a.project.id){let a=Error(`Mitigation not found: ${b}`);throw a.status=404,a}return await d.mitigation.delete({where:{id:b}}),await f({organizationId:a.organization.id,workspaceId:a.project.workspaceId,projectId:a.project.id,actorUserId:c.id,entityType:"Mitigation",entityId:b,action:"delete",beforeJson:g,request:e}),{deleted:!0}},addEvidenceToMitigation:async function({projectScope:a,mitigationId:b,actor:c,payload:e,request:g}){let h=await d.mitigation.findUnique({where:{id:b},include:{risk:{select:{projectId:!0}}}});if(!h||h.risk.projectId!==a.project.id){let a=Error(`Mitigation not found: ${b}`);throw a.status=404,a}let i=await d.evidence.create({data:{projectId:a.project.id,riskId:h.riskId,mitigationId:h.id,type:e.type||"Review",title:e.title,uri:e.uri||null,createdById:c.id}});return await f({organizationId:a.organization.id,workspaceId:a.project.workspaceId,projectId:a.project.id,actorUserId:c.id,entityType:"Evidence",entityId:i.id,action:"create",afterJson:i,request:g}),i},normalizeRiskStatus:g,normalizeApprovalStatus:h}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95736:(a,b,c)=>{a.exports=c(44870)},96330:a=>{a.exports=require("@prisma/client")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,6325],()=>b(b.s=16261));module.exports=c})();