/home/techb158/balavpn.abdallabala.com/.next/server/chunks
NameSizeModeActions
546.js110390666editdlrm
4792.js2285640666editdlrm
5611.js691850666editdlrm
5873.js1253820666editdlrm
6325.js113110666editdlrm
6720.js1535220666editdlrm
7082.js212920666editdlrm
8077.js121220666editdlrm
9978.js103050666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/.next/server/chunks/546.js (11039B)
"use strict";exports.id=546,exports.ids=[546],exports.modules={23249:(a,b,c)=>{let d=c(50453),e=process.env.REDIS_URL||"redis://localhost:6379",f="false"!==process.env.COSMIC_REDIS_ENABLED,g=null,h=new Map,i=new Map;async function j(){if(null===g&&(g=function(){if(!f)return null;try{let a=new d(e,{maxRetriesPerRequest:1,retryStrategy:a=>a>3?null:Math.min(200*a,2e3),lazyConnect:!0,enableOfflineQueue:!1});return a.on("error",()=>{}),a.on("close",()=>{}),a}catch{return null}}()),!g||"ready"===g.status||"connecting"===g.status||"connect"===g.status)return g;try{return await g.connect(),g}catch{return null}}function k(a){let b=h.get(a);return b?b.expiry&&Date.now()>b.expiry?(h.delete(a),null):b.value:null}function l(a,b,c){if(h.set(a,{value:b,expiry:c?Date.now()+c:null}),i.has(a)&&clearTimeout(i.get(a)),c){let b=setTimeout(()=>{h.delete(a),i.delete(a)},c);b.unref(),i.set(a,b)}}a.exports={redisGet:async function(a){let b=await j();if(b)try{return await b.get(a)}catch{return null}return k(a)},redisSet:async function(a,b,c){let d=await j();if(d)try{c?await d.set(a,b,"PX",c):await d.set(a,b);return}catch{}l(a,b,c)},redisDel:async function(a){let b=await j();if(b)try{await b.del(a);return}catch{}h.delete(a),i.has(a)&&(clearTimeout(i.get(a)),i.delete(a))},redisIncr:async function(a,b){let c=await j();if(c)try{let d=await c.incr(a);return b&&1===d&&await c.pexpire(a,b),d}catch{}let d=(parseInt(k(a),10)||0)+1;return l(a,String(d),b),d},redisTtl:async function(a){let b=await j();if(b)try{return await b.ttl(a)}catch{return -2}let c=h.get(a);if(!c||!c.expiry)return -1;let d=Math.max(0,Math.floor((c.expiry-Date.now())/1e3));return d>0?d:-2},redisFlush:async function(){let a=await j();if(a)try{await a.flushdb();return}catch{}for(let a of(h.clear(),i.values()))clearTimeout(a);i.clear()}}},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}})}}},28779:(a,b,c)=>{let{redisGet:d,redisSet:e}=c(23249);a.exports={withIdempotency:async function a(a,b){if(!a)return b();let c=await d(`idemp:${a}`);if(c)return JSON.parse(c);let f=await b();return await e(`idemp:${a}`,JSON.stringify(f),864e5),f},getIdempotencyKey:function(a){return a.headers.get("Idempotency-Key")||a.headers.get("idempotency-key")||null}}},54775:a=>{let b={requests:0,errors:0,methods:{},routes:{}},c=[];a.exports={trackRequest:function(a,d,e,f){b.requests++,b.methods[a]=(b.methods[a]||0)+1;let g=d.replace(/\/[a-z0-9]{20,}/gi,"/:id").replace(/\/[a-z0-9-]{20,}/gi,"/:id");b.routes[g]=(b.routes[g]||0)+1,e>=400&&b.errors++,c.push({method:a,pathname:d,statusCode:e,durationMs:f,timestamp:Date.now()}),c.length>1e3&&c.splice(0,c.length-1e3)},getMetrics:function(){let a=c.length?Math.round(c.reduce((a,b)=>a+b.durationMs,0)/c.length):0;return{uptime:process.uptime(),totalRequests:b.requests,totalErrors:b.errors,avgDurationMs:a,methods:b.methods,routes:b.routes,recentTimings:c.slice(-20)}}}},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}}};