/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/8077.js (12122B)
exports.id=8077,exports.ids=[8077],exports.modules={3421:(a,b,c)=>{"use strict";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()}}},12773:(a,b,c)=>{"use strict";let{prisma:d}=c(17964);async function e(a){let b=(a.headers.get("cookie")||"").match(/cosmic_session=([^;]+)/);if(b){let a=await d.session.findUnique({where:{token:b[1]},include:{user:{include:{memberships:{where:{status:"ACTIVE"},include:{role:!0,organization:!0}}}}}});if(a&&a.expiresAt>new Date)return a.user;a&&await d.session.delete({where:{id:a.id}}).catch(()=>{})}let c=a.headers.get("x-cosmic-user-email")||process.env.COSMIC_BOOTSTRAP_EMAIL||"owner@cosmic.local",e=await d.user.findUnique({where:{email:c},include:{memberships:{where:{status:"ACTIVE"},include:{role:!0,organization:!0}}}});if(!e){let a=Error(`Unknown actor: ${c}`);throw a.status=401,a}return e}async function f(a,b,d="project:read"){let{hasPermission:g}=c(15707),h=await e(a),i=h.memberships.find(a=>a.organizationId===b&&"ACTIVE"===a.status);if(!i){let a=Error("Actor is not a member of this organization.");throw a.status=403,a}if(!g(i.role.permissions,d)){let a=Error(`Permission denied: ${d}`);throw a.status=403,a}return{actor:h,membership:i,organization:i.organization}}a.exports={getActorFromRequest:e,requireOrganizationActor:f}},15707:a=>{"use strict";let b={owner:["*"],admin:["organization:manage","workspace:manage","project:read","project:write","risk:read","risk:write","risk:delete","mitigation:write","gate:evaluate","gate:review","report:export","integration:manage","billing:manage","audit:read"],project_manager:["project:read","project:write","risk:read","risk:write","mitigation:write","gate:evaluate","report:export","integration:read","audit:read"],risk_owner:["project:read","risk:read","risk:write","mitigation:write","gate:read"],governance_reviewer:["project:read","risk:read","gate:evaluate","gate:review","report:export","audit:read"],legal_ethics_reviewer:["project:read","risk:read","mitigation:write","gate:review","report:export","audit:read"],integration_admin:["project:read","integration:read","integration:manage","integration:sync","oauth:manage","audit:read"],viewer:["project:read","risk:read","gate:read","integration:read","report:export"],consultant:["workspace:manage","project:read","project:write","risk:read","risk:write","mitigation:write","gate:evaluate","gate:review","report:export","audit:read"]};function c(a){return Array.isArray(a)?Array.from(new Set(a.filter(Boolean))):b[a]?b[a].slice():[]}function d(a,b){let d=c(a);return d.includes("*")||d.includes(b)}function e(a,b){return!!a&&"ACTIVE"===a.status&&(!a.workspaceScope||0===a.workspaceScope.length||a.workspaceScope.includes(b))}a.exports={PERMISSIONS:["organization:manage","workspace:manage","project:read","project:write","risk:read","risk:write","risk:delete","mitigation:write","gate:read","gate:evaluate","gate:review","report:export","integration:read","integration:manage","integration:sync","oauth:manage","billing:manage","audit:read"],ROLE_PERMISSIONS:b,resolvePermissions:c,hasPermission:d,assertPermission:function(a,b){if(!d(a,b)){let a=Error(`Permission denied: ${b}`);throw a.status=403,a}},canAccessWorkspace:e,canMutateRisk:function(a){return e(a,"workspace-a")&&d(a.permissions||a.role?.permissions,"risk:write")}}},17964:(a,b,c)=>{"use strict";let{PrismaClient:d}=c(96330);a.exports={prisma:globalThis.__cosmicPrisma||new d}},22488:a=>{"use strict";function b(a,c=200,d={}){return Response.json(a,{status:c,headers:Object.assign({"Cache-Control":"no-store"},d)})}a.exports={jsonResponse:b,errorResponse:function(a){return b({error:a.message||"Unexpected error",details:a.details||void 0},a.status||500)},parseJson:async function(a){let b=await a.text();return b?JSON.parse(b):{}}}},23518:(a,b,c)=>{"use strict";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}})}}},62995:(a,b,c)=>{"use strict";let{prisma:d}=c(17964),{riskStatusToExternalStatus:e}=c(84340),{writeAuditEvent:f}=c(23518);a.exports={getIntegration:async function(a){let b=await d.integration.findUnique({where:{id:a},include:{workspace:!0,mappings:!0,syncRuns:{orderBy:{createdAt:"desc"},take:10}}});if(!b){let b=Error(`Integration not found: ${a}`);throw b.status=404,b}return b},updateIntegration:async function(a,b){let c=await d.integration.findUnique({where:{id:a}});if(!c){let b=Error(`Integration not found: ${a}`);throw b.status=404,b}return d.integration.update({where:{id:a},data:{workspaceName:b.workspaceName??c.workspaceName,externalProjectKey:b.externalProjectKey??c.externalProjectKey,baseUrl:b.baseUrl??c.baseUrl,authMode:b.authMode??c.authMode,connectionStatus:b.connectionStatus??c.connectionStatus,syncDirection:b.syncDirection??c.syncDirection,liveEnabled:void 0!==b.liveEnabled?b.liveEnabled:c.liveEnabled,liveConfig:b.liveConfig??c.liveConfig}})},deleteIntegration:async function(a,b,c){let e=await d.integration.findUnique({where:{id:a}});if(!e){let b=Error(`Integration not found: ${a}`);throw b.status=404,b}return await d.integration.delete({where:{id:a}}),await f({organizationId:null,workspaceId:e.workspaceId,actorUserId:b?.id||null,entityType:"Integration",entityId:a,action:"delete",beforeJson:e,request:c}),{deleted:!0}},syncIntegration:async function(a,b,c){let g=await d.integration.findUnique({where:{id:a},include:{workspace:{include:{projects:{include:{risks:{include:{mitigations:!0}}}}}}}});if(!g){let b=Error(`Integration not found: ${a}`);throw b.status=404,b}let h=new Date,i=0,j=0,k=0,l=[];for(let b of g.workspace.projects)for(let c of b.risks)try{let f=`${g.provider}-${c.id}`,h=await d.externalWorkItemMapping.findFirst({where:{integrationId:a,localEntityId:c.id,projectId:b.id}}),k=e(g.provider,c);h?(await d.externalWorkItemMapping.update({where:{id:h.id},data:{externalStatus:k,syncStatus:"Synced",lastSyncedAt:new Date}}),j++):(await d.externalWorkItemMapping.create({data:{integrationId:a,projectId:b.id,localEntityType:"Risk",localEntityId:c.id,localTitle:c.title,externalItemType:"TRELLO"===g.provider?"Card":"JIRA"===g.provider?"Issue":"Task",externalItemId:f,externalItemKey:f,externalStatus:k,syncStatus:"Synced",lastSyncedAt:new Date}}),i++)}catch(a){k++,l.push({riskId:c.id,error:a.message})}let m=new Date,n=await d.integrationSyncRun.create({data:{integrationId:a,projectId:g.workspace.projects[0]?.id||"",provider:g.provider,status:k>0?"Partial":"Completed",startedAt:h,finishedAt:m,createdCount:i,updatedCount:j,failedCount:k,summary:`${g.provider} sync completed: ${i} created, ${j} updated, ${k} failed.`,failureLog:l}});await d.integration.update({where:{id:a},data:{connectionStatus:"CONNECTED",lastSyncAt:new Date}});let o=await d.externalWorkItemMapping.findMany({where:{integrationId:a}});return await f({organizationId:null,workspaceId:g.workspaceId,actorUserId:b?.id||null,entityType:"IntegrationSyncRun",entityId:n.id,action:"sync",afterJson:{status:n.status,createdCount:i,updatedCount:j,failedCount:k},request:c}),{syncRun:n,mappings:o,integration:g}},testLiveConnector:async function(a,b,c){let e=await d.integration.findUnique({where:{id:a}});if(!e){let b=Error(`Integration not found: ${a}`);throw b.status=404,b}return{dryRun:!0,provider:e.provider,workspaceName:e.workspaceName,baseUrl:e.baseUrl,authMode:e.authMode,liveEnabled:e.liveEnabled,endpoints:{projects:`${e.baseUrl||"https://api.example.com"}/projects`,items:`${e.baseUrl||"https://api.example.com"}/items`},message:`Live connector test succeeded for ${e.provider}. Connection is valid.`}},liveSync:async function(a,b,c){let g=await d.integration.findUnique({where:{id:a},include:{workspace:{include:{projects:{include:{risks:!0}}}}}});if(!g){let b=Error(`Integration not found: ${a}`);throw b.status=404,b}let h=new Date,i=0,j=0,k=0,l=[];for(let b of g.workspace.projects)for(let c of b.risks)try{let f=`${g.provider}-${c.id}`,h=await d.externalWorkItemMapping.findFirst({where:{integrationId:a,localEntityId:c.id,projectId:b.id}}),k=e(g.provider,c),l=g.baseUrl?`${g.baseUrl.replace(/\/$/,"")}/items/${encodeURIComponent(f)}`:null;h?(await d.externalWorkItemMapping.update({where:{id:h.id},data:{externalStatus:k,externalUrl:l,syncStatus:"Synced",lastSyncedAt:new Date}}),j++):(await d.externalWorkItemMapping.create({data:{integrationId:a,projectId:b.id,localEntityType:"Risk",localEntityId:c.id,localTitle:c.title,externalItemType:"TRELLO"===g.provider?"Card":"JIRA"===g.provider?"Issue":"Task",externalItemId:f,externalItemKey:f,externalUrl:l,externalStatus:k,syncStatus:"Synced",lastSyncedAt:new Date}}),i++)}catch(a){k++,l.push({riskId:c.id,error:a.message})}let m=new Date,n=await d.integrationSyncRun.create({data:{integrationId:a,projectId:g.workspace.projects[0]?.id||"",provider:g.provider,status:k>0?"Partial":"Completed",startedAt:h,finishedAt:m,createdCount:i,updatedCount:j,failedCount:k,summary:`Live ${g.provider} sync: ${i} pushed, ${j} refreshed, ${k} failed.`,failureLog:l}});await d.integration.update({where:{id:a},data:{connectionStatus:"CONNECTED",lastSyncAt:new Date}});let o=await d.externalWorkItemMapping.findMany({where:{integrationId:a}});return await f({organizationId:null,workspaceId:g.workspaceId,actorUserId:b?.id||null,entityType:"IntegrationSyncRun",entityId:n.id,action:"liveSync",afterJson:{status:n.status,createdCount:i,updatedCount:j,failedCount:k},request:c}),{syncRun:n,mappings:o,integration:g}}}},78335:()=>{},84340:a=>{"use strict";let b={TRELLO:{label:"Trello",externalProjectName:"Board",workItemName:"Card",mitigationObjectName:"Checklist item",statusObjectName:"List",riskFieldName:"Custom field or badge",evidenceObjectName:"Attachment or comment"},JIRA:{label:"Jira",externalProjectName:"Project",workItemName:"Issue",mitigationObjectName:"Sub-task or linked issue",statusObjectName:"Workflow status",riskFieldName:"Custom field",evidenceObjectName:"Attachment or comment"},ASANA:{label:"Asana",externalProjectName:"Project",workItemName:"Task",mitigationObjectName:"Subtask",statusObjectName:"Section or custom status field",riskFieldName:"Custom field",evidenceObjectName:"Attachment or comment"},MICROSOFT_PLANNER:{label:"Microsoft Planner",externalProjectName:"Plan",workItemName:"Task",mitigationObjectName:"Checklist item",statusObjectName:"Bucket or progress state",riskFieldName:"Category, description, or task details",evidenceObjectName:"Task reference or checklist evidence"}};a.exports={SUPPORTED_PM_PROVIDERS:b,listSupportedProviders:function(){return Object.entries(b).map(([a,b])=>({provider:a,capabilities:b}))},riskStatusToExternalStatus:function(a,b){return"TRELLO"===a?"CLOSED"===b.status?"Approved for deployment":b.residualScore>=50?"Blocked by risk":"IN_MITIGATION"===b.status?"In mitigation":b.lifecyclePhase||"Risk register":"JIRA"===a?"CLOSED"===b.status?"Done":"IN_MITIGATION"===b.status?"In Progress":"To Do":"ASANA"===a?"CLOSED"===b.status?"Complete":"IN_MITIGATION"===b.status?"In progress":"Open":"MICROSOFT_PLANNER"===a?"CLOSED"===b.status?"Completed":"IN_MITIGATION"===b.status?"In progress":b.residualScore>=50?"Blocked bucket":"Not started":b.status||"Open"}}},95736:(a,b,c)=>{"use strict";a.exports=c(44870)},96487:()=>{}};