@highstate/designer 0.30.3 → 0.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{BWDN-9Hx.js → 01ZR8FKx.js} +1 -1
- package/.output/public/_nuxt/{Cofyfw8g.js → 0MzBjiBY.js} +1 -1
- package/.output/public/_nuxt/{VQuDbHHR.js → 4vGmo7Ws.js} +1 -1
- package/.output/public/_nuxt/8VAFkPEE.js +269 -0
- package/.output/public/_nuxt/{Lo988ya0.js → AKCe9LNp.js} +1 -1
- package/.output/public/_nuxt/{DhjMLkwg.js → B9ZfIHZw.js} +1 -1
- package/.output/public/_nuxt/{CJVpO6nQ.js → BCJUQ-QU.js} +1 -1
- package/.output/public/_nuxt/{C7lm33JZ.js → BDLjTA3_.js} +1 -1
- package/.output/public/_nuxt/{DysjCpM9.js → BHpMD-mY.js} +1 -1
- package/.output/public/_nuxt/BKWHojhU.js +1 -0
- package/.output/public/_nuxt/{DsxZEVxb.js → BLfHOckY.js} +7 -7
- package/.output/public/_nuxt/{2jnOiqNC.js → BNEHDwNV.js} +1 -1
- package/.output/public/_nuxt/BOtPOJrV.js +1 -0
- package/.output/public/_nuxt/{k0GHL-8U.js → BQvzkDFt.js} +1 -1
- package/.output/public/_nuxt/{DmGf47KM.js → BVxJafKI.js} +1 -1
- package/.output/public/_nuxt/BeV7FtCY.js +1 -0
- package/.output/public/_nuxt/BhtYnCk1.js +1 -0
- package/.output/public/_nuxt/{5-u3YHQd.js → BipPPoWE.js} +1 -1
- package/.output/public/_nuxt/{CW9RwN2l.js → Bkhf7GZT.js} +1 -1
- package/.output/public/_nuxt/{D3MpZ_Sw.js → BnH0SUiF.js} +1 -1
- package/.output/public/_nuxt/{BwBpcI2q.js → BrgLtl1N.js} +1 -1
- package/.output/public/_nuxt/BscvYf-N.js +2 -0
- package/.output/public/_nuxt/BsfH1i0r.js +1 -0
- package/.output/public/_nuxt/{DcDfdgW1.js → BuVA3kO7.js} +1 -1
- package/.output/public/_nuxt/BulzREL4.js +1 -0
- package/.output/public/_nuxt/{Bc-UhGEo.js → BvF6CC6t.js} +1 -1
- package/.output/public/_nuxt/{aPAh1oAW.js → BvcB3_Ox.js} +1 -1
- package/.output/public/_nuxt/{SCrI01L1.js → Bw8W7XlP.js} +1 -1
- package/.output/public/_nuxt/{D6EnKPw6.js → ByVvJoFt.js} +1 -1
- package/.output/public/_nuxt/{DZH0GUvg.js → BzHexD0k.js} +1 -1
- package/.output/public/_nuxt/{A3pA-dEU.js → BzfFclT9.js} +1 -1
- package/.output/public/_nuxt/{D-LsJ2ZE.js → C3Nw-pxO.js} +1 -1
- package/.output/public/_nuxt/C3dDboVU.js +1 -0
- package/.output/public/_nuxt/{CbVegJaT.js → C50Jf3QI.js} +1 -1
- package/.output/public/_nuxt/{DXfLpys7.js → C9U9g4dI.js} +1 -1
- package/.output/public/_nuxt/{CNrxBMAX.js → C9khB4Xk.js} +1 -1
- package/.output/public/_nuxt/{Cq4nuP-7.js → CAqURRGH.js} +1 -1
- package/.output/public/_nuxt/{CZyQa1Zc.js → CBtqoa0c.js} +1 -1
- package/.output/public/_nuxt/{Dr_haoD_.js → CFMSQg2L.js} +1 -1
- package/.output/public/_nuxt/{DKbLex6i.js → CHVFVVjA.js} +1 -1
- package/.output/public/_nuxt/{hvsd0Qgg.js → CJnh15-L.js} +1 -1
- package/.output/public/_nuxt/{DsRcdFOB.js → CQ57LN-w.js} +1 -1
- package/.output/public/_nuxt/CTCvE27h.js +1 -0
- package/.output/public/_nuxt/{CAGxZJ_q.js → CVCvRHBP.js} +1 -1
- package/.output/public/_nuxt/{B3xH1Y0W.js → Cc4wgJ1h.js} +1 -1
- package/.output/public/_nuxt/{DwfxqiyB.js → CcDGEY8Q.js} +1 -1
- package/.output/public/_nuxt/{DgMGRJzb.js → CcgfvGG3.js} +1 -1
- package/.output/public/_nuxt/Cjc0AvC7.js +14 -0
- package/.output/public/_nuxt/{BxFuzIIZ.js → Cn0h663F.js} +1 -1
- package/.output/public/_nuxt/{DmVwOSq5.js → CqCN84b-.js} +1 -1
- package/.output/public/_nuxt/{DyhJj7Ha.js → CrAApG3c.js} +1 -1
- package/.output/public/_nuxt/{Doxnvpyq.js → Cy6PxgoV.js} +1 -1
- package/.output/public/_nuxt/{EKqCuazP.js → D2UhOMoe.js} +1 -1
- package/.output/public/_nuxt/{Dpa6A3ZD.js → D3W9Jfu7.js} +1 -1
- package/.output/public/_nuxt/{zQpq8Nlt.js → D4O2OVDh.js} +1 -1
- package/.output/public/_nuxt/{DGnuSaKc.js → D6CGQiZp.js} +1 -1
- package/.output/public/_nuxt/{JoXnlJ5o.js → D84zi-ec.js} +1 -1
- package/.output/public/_nuxt/D8M0limG.js +1 -0
- package/.output/public/_nuxt/{CPTDoFCr.js → DDJReq2V.js} +1 -1
- package/.output/public/_nuxt/{DZXawbDK.js → DEI-Qge8.js} +1 -1
- package/.output/public/_nuxt/{CriYd4Xu.js → DKWb1hup.js} +1 -1
- package/.output/public/_nuxt/{CC9Mjlxx.js → DQ-NJtj8.js} +1 -1
- package/.output/public/_nuxt/{D7ydzmTA.js → DRhnxQ4y.js} +1 -1
- package/.output/public/_nuxt/{_c6GHTN4.js → DTSgpdAF.js} +1 -1
- package/.output/public/_nuxt/{LC_ejPos.js → DTT1Xzbm.js} +1 -1
- package/.output/public/_nuxt/{DEdaEI2J.js → DXmPWjsX.js} +1 -1
- package/.output/public/_nuxt/{O5iT7Vr2.js → DYnMeE8e.js} +1 -1
- package/.output/public/_nuxt/{BKZ346WY.js → DfDsDJD2.js} +1 -1
- package/.output/public/_nuxt/{u9IB9fko.js → DjTKfsHU.js} +1 -1
- package/.output/public/_nuxt/{C7Ij7g1p.js → DlfNK0cA.js} +1 -1
- package/.output/public/_nuxt/{DH_B79BE.js → DpUEzsMu.js} +1 -1
- package/.output/public/_nuxt/{Eovi5v4f.js → DrfPDWCl.js} +2 -2
- package/.output/public/_nuxt/{Bsca_muP.js → Dtu55PAv.js} +2 -2
- package/.output/public/_nuxt/DvLL-V6a.js +1 -0
- package/.output/public/_nuxt/{B2Q2xBzH.js → Dz1kPrb2.js} +1 -1
- package/.output/public/_nuxt/DzP42O4c.js +1 -0
- package/.output/public/_nuxt/DzlC1Z8c.js +1 -0
- package/.output/public/_nuxt/{CSWVWBW7.js → GdhEIX5n.js} +1 -1
- package/.output/public/_nuxt/{BYaYzU2p.js → H3fZkrEW.js} +1 -1
- package/.output/public/_nuxt/SVmeI-Hd.js +1 -0
- package/.output/public/_nuxt/{BzOk-KTc.js → UY6IumFv.js} +1 -1
- package/.output/public/_nuxt/{CVfWNyhe.js → Ztua2i2Y.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/2ff2f563-aaec-4b33-8dfa-863323cf8d21.json +1 -0
- package/.output/public/_nuxt/{DkZkynzL.js → iHlZS5Nr.js} +1 -1
- package/.output/public/_nuxt/{BSawHEJh.js → iX982afC.js} +1 -1
- package/.output/public/_nuxt/{D1nRrnR_.js → kwdF6vE0.js} +1 -1
- package/.output/public/_nuxt/{DS4ev0Th.js → mUQQEHsz.js} +1 -1
- package/.output/public/_nuxt/{Deh8i6lm.js → oLJXBT2A.js} +1 -1
- package/.output/public/_nuxt/{B8N1sP4y.js → rErpME9V.js} +1 -1
- package/.output/public/_nuxt/ue1Ve9YE.js +1 -0
- package/.output/public/_nuxt/{y7qbSnME.js → xdzoAViU.js} +1 -1
- package/.output/public/_nuxt/{BExqDRwH.js → zcI5daFe.js} +1 -1
- package/.output/public/_nuxt/{DqaT_RDK.js → zzNAWI73.js} +1 -1
- package/.output/server/index.mjs +1189 -1190
- package/.output/server/package.json +1 -1
- package/package.json +5 -5
- package/.output/public/_nuxt/352AptFn.js +0 -1
- package/.output/public/_nuxt/3RbcgHkU.js +0 -14
- package/.output/public/_nuxt/BuIQ2wGk.js +0 -1
- package/.output/public/_nuxt/C-mYaH7u.js +0 -1
- package/.output/public/_nuxt/C2i4Pe8_.js +0 -1
- package/.output/public/_nuxt/C4hwWhkw.js +0 -269
- package/.output/public/_nuxt/CFc9rdAS.js +0 -2
- package/.output/public/_nuxt/CYKlIh8L.js +0 -1
- package/.output/public/_nuxt/Ct3ssWsd.js +0 -1
- package/.output/public/_nuxt/DJwAKlaO.js +0 -1
- package/.output/public/_nuxt/DOo85agn.js +0 -1
- package/.output/public/_nuxt/DT8lV676.js +0 -1
- package/.output/public/_nuxt/DXVNaud5.js +0 -1
- package/.output/public/_nuxt/Desw6Usx.js +0 -1
- package/.output/public/_nuxt/builds/meta/74426c6d-f911-4b17-980a-4fe479415ac8.json +0 -1
- package/.output/public/_nuxt/builds/meta/8b3b1d78-540f-4b23-a5a0-4fbad1ad9477.json +0 -1
- package/.output/public/_nuxt/dYgxrjeZ.js +0 -1
- package/.output/public/_nuxt/mxKUVBjZ.js +0 -1
- package/.output/public/_nuxt/p1qmzON1.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./
|
|
1
|
+
import"./DlfNK0cA.js";import{_ as c}from"#entry";import{V as t,J as d,a2 as a,a5 as _,E as u,a8 as m,Y as f,ai as p,_ as o,W as l,$ as v,a0 as n,aL as x,aa as b,ab as g,aj as h}from"./-NXdyIEV.js";const C={},V={class:"settings-list-page"},$={class:"table-container"};function k(e,i){return t(),d("div",V,[a("div",$,[_(e.$slots,"default",{},void 0,!0)])])}const S=c(C,[["render",k],["__scopeId","data-v-f4404922"]]),y={class:"details-grid"},D={class:"text-caption text-medium-emphasis mb-1"},B=u({__name:"DetailInfoCard",props:{title:{},items:{}},setup(e){return m(),(i,r)=>(t(),f(p,{class:"detail-info-card",color:"#2d2d2d","bg-color":"#1e1e1e",elevation:0},{default:o(()=>[l(x,null,{default:o(()=>[v(n(e.title),1)]),_:1}),l(h,null,{default:o(()=>[a("div",y,[(t(!0),d(b,null,g(e.items,s=>(t(),d("div",{key:s.key,class:"detail-item"},[a("div",D,n(s.label),1),_(i.$slots,`item.${s.key}`,{},()=>[r[0]||(r[0]=a("div",{class:"text-body-2 text-medium-emphasis"},"N/A",-1))],!0)]))),128))])]),_:3})]),_:3}))}}),T=c(B,[["__scopeId","data-v-1d6a4b9e"]]);export{T as D,S as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as r,S as u}from"./
|
|
1
|
+
import{b as r,S as u}from"./DfDsDJD2.js";import"#entry";import{_ as c}from"./C9khB4Xk.js";import"./DlfNK0cA.js";import{_ as h}from"./CBtqoa0c.js";import{S as f}from"./iX982afC.js";import{E as y,aG as s,V as P,Y as v,D as i,_ as o,W as d,aO as B}from"./-NXdyIEV.js";const V=y({__name:"SecretsTable",props:B({projectId:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(a){const n=s(a,"search"),m=s(a,"sortBy"),l=s(a,"page"),g=s(a,"itemsPerPage"),p=[{...r.name,headerProps:{defaultPrimaryIcon:"mdi:key"}},r.id,{key:"owner",title:"Owner"},r.createdAt,{title:"Value",key:"value"},r.actions];return(b,t)=>(P(),v(i(u),{search:n.value,"onUpdate:search":t[0]||(t[0]=e=>n.value=e),"sort-by":m.value,"onUpdate:sortBy":t[1]||(t[1]=e=>m.value=e),page:l.value,"onUpdate:page":t[2]||(t[2]=e=>l.value=e),"items-per-page":g.value,"onUpdate:itemsPerPage":t[3]||(t[3]=e=>g.value=e),headers:p,data:a.data,loading:a.loading,"hide-header":a.hideHeader,height:a.height},{"item.owner":o(({item:e})=>[d(i(c),{item:e},null,8,["item"])]),"item.value":o(({item:e})=>[d(i(f),{"secret-id":e.id,"project-id":a.projectId},null,8,["secret-id","project-id"])]),"item.actions":o(({item:e})=>[d(i(h),{"page-name":"settings.secret-details","page-params":{projectId:a.projectId,secretId:e.id}},null,8,["page-params"])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","hide-header","height"]))}});export{V as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{m as T}from"#entry";import{E as I,u as _,M as g,V as E,Y as f,D as u,_ as V,W as h}from"./-NXdyIEV.js";import{G as S}from"./zPZwXEME.js";import{P as j}from"./DzP42O4c.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyDuNLRY.js";const k="0123456789ABCDEFGHJKMNPQRSTVWXYZ",x=32,C=16,p=10,L=0xffffffffffff;var c;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(c||(c={}));class l extends Error{constructor(r,t){super(`${t} (${r})`),this.name="ULIDError",this.code=r}}function $(e){if(e.length!==p+C)throw new l(c.DecodeTimeValueMalformed,"Malformed ULID");const r=e.substr(0,p).toUpperCase().split("").reverse().reduce((t,i,a)=>{const d=k.indexOf(i);if(d===-1)throw new l(c.DecodeTimeInvalidCharacter,`Time decode error: Invalid character: ${i}`);return t+=d*Math.pow(x,a)},0);if(r>L)throw new l(c.DecodeTimeValueMalformed,`Malformed ULID: timestamp too large: ${r}`);return r}const v=I({__name:"WorkerVersionLogsPanel",props:{projectId:{},workerVersionId:{}},setup(e){const{$client:r}=_();let t=null;const i=o=>{try{const s=$(o),n=new Date(s),m=n.getHours().toString().padStart(2,"0"),w=n.getMinutes().toString().padStart(2,"0"),D=n.getSeconds().toString().padStart(2,"0"),N=n.getMilliseconds().toString().padStart(3,"0");return`${m}:${w}:${D}.${N}`}catch{return"00:00:00.000"}},a=(o,s,n=!1)=>{if(!t)return;const m=i(o);t.write(`\x1B[36m[${m}]\x1B[0m `),n&&t.write("\x1B[1;35m[runtime]\x1B[0m "),t.writeln(s)},{unsubscribe:d}=r.logs.watchWorkerVersionLogs.subscribe({projectId:e.projectId,workerVersionId:e.workerVersionId},{onData:o=>{t&&a(o.id,o.content,o.isSystem)}});g(d);const M=async o=>{t=o;const s=await r.logs.getWorkerVersionLogs.query({projectId:e.projectId,workerVersionId:e.workerVersionId});for(const n of s)a(n.id,n.content,n.isSystem)};return(o,s)=>(E(),f(u(S),{onLoad:M}))}}),U=I({__name:"logs",props:{params:{}},setup(e){return T(e.params.projectId),(r,t)=>(E(),f(u(j),{"project-id":e.params.projectId,"can-unlock":""},{default:V(()=>[h(u(v),{"project-id":e.params.projectId,"worker-version-id":e.params.workerVersionId},null,8,["project-id","worker-version-id"])]),_:1},8,["project-id"]))}});export{U as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Q as p,D as d,E as l}from"#entry";import"./DlfNK0cA.js";import{S as g}from"./DXmPWjsX.js";import{_ as c}from"./CVCvRHBP.js";import{E as f,aP as m,Y as u,_ as P,D as t,V as _,W as y}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./DfDsDJD2.js";import"./CHVFVVjA.js";import"./M3Z1JMP1.js";import"./C9khB4Xk.js";import"./Dz1kPrb2.js";import"./CrAApG3c.js";import"./CJnh15-L.js";import"./CBtqoa0c.js";const M=f({__name:"index",async setup(j){let s,r;const e=p(),{projectStore:a}=d();return a.initializing?([s,r]=m(()=>l(()=>a.initialized).toBe(!0)),await s,r(),a.addLibraryRoot()):([s,r]=m(()=>a.initialize1()),await s,r(),[s,r]=m(()=>a.initialize2()),await s,r()),e.items.load(),(S,i)=>(_(),u(t(g),{title:"Terminals",icon:"mdi-console",description:"Manage terminals and terminal sessions for this project."},{default:P(({height:n})=>[y(t(c),{search:t(e).items.search,"onUpdate:search":i[0]||(i[0]=o=>t(e).items.search=o),"sort-by":t(e).items.sortBy,"onUpdate:sortBy":i[1]||(i[1]=o=>t(e).items.sortBy=o),page:t(e).items.page,"onUpdate:page":i[2]||(i[2]=o=>t(e).items.page=o),"items-per-page":t(e).items.itemsPerPage,"onUpdate:itemsPerPage":i[3]||(i[3]=o=>t(e).items.itemsPerPage=o),"project-id":t(a).projectId,data:t(e).items.data,loading:t(e).items.isLoading,height:n},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as U}from"#entry";import{E as C,aG as y,V as D,Y as $,_ as n,a2 as x,W as o,D as a,aO as V,J as M,a as S,ah as T,aa as w,r as g,at as P,$ as b,ai as h,aj as j,a0 as N,aJ as E,aK as I}from"./-NXdyIEV.js";import"./
|
|
1
|
+
import{u as U}from"#entry";import{E as C,aG as y,V as D,Y as $,_ as n,a2 as x,W as o,D as a,aO as V,J as M,a as S,ah as T,aa as w,r as g,at as P,$ as b,ai as h,aj as j,a0 as N,aJ as E,aK as I}from"./-NXdyIEV.js";import"./DlfNK0cA.js";import{S as J,b as B}from"./DfDsDJD2.js";import{_ as L,a as R}from"./CBtqoa0c.js";import{u as F,_ as G}from"./CAqURRGH.js";import{S as H}from"./DXmPWjsX.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./CHVFVVjA.js";const K={class:"d-flex justify-center ga-1"},O=C({__name:"BackendServiceAccountsTable",props:V({data:{},loading:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:V(["delete"],["update:search","update:sortBy","update:page","update:itemsPerPage"]),setup(r){const t=y(r,"search"),v=y(r,"sortBy"),d=y(r,"page"),l=y(r,"itemsPerPage"),u=[B.name,B.createdAt,B.actions];return(p,s)=>(D(),$(a(J),{search:t.value,"onUpdate:search":s[0]||(s[0]=i=>t.value=i),"sort-by":v.value,"onUpdate:sortBy":s[1]||(s[1]=i=>v.value=i),page:d.value,"onUpdate:page":s[2]||(s[2]=i=>d.value=i),"items-per-page":l.value,"onUpdate:itemsPerPage":s[3]||(s[3]=i=>l.value=i),headers:u,data:r.data,loading:r.loading,height:r.height},{"item.actions":n(({item:i})=>[x("div",K,[o(a(L),{"page-name":"settings.backend-service-account-details","page-params":{serviceAccountId:i.id}},null,8,["page-params"]),o(a(R),{icon:"mdi-delete-outline",tooltip:"Delete service account",color:"error",disabled:!!i.systemName,onClick:k=>p.$emit("delete",i)},null,8,["disabled","onClick"])])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","height"]))}}),ie=C({__name:"index",setup(r){const t=F(),v=U(),d=g(!1),l=g(!1),u=g(null),p=g(!1),s=g(!1);async function i(f){p.value=!0;try{const e=await t.create(f);d.value=!1,await v.push({name:"settings.backend-service-account-details",params:{serviceAccountId:e.id}})}finally{p.value=!1}}function k(f){u.value=f,l.value=!0}async function A(){if(u.value){s.value=!0;try{await t.delete(u.value.id),l.value=!1,u.value=null}finally{s.value=!1}}}return t.items.load(),(f,e)=>(D(),M(w,null,[o(a(H),{title:"Backend Service Accounts",icon:"mdi-account-key",description:"Manage non-human identities that access backend and project resources."},{actions:n(()=>[o(P,{color:"primary","prepend-icon":"mdi-plus",onClick:e[0]||(e[0]=m=>d.value=!0)},{default:n(()=>[...e[8]||(e[8]=[b(" Create service account ",-1)])]),_:1})]),default:n(({height:m})=>[o(a(O),{search:a(t).items.search,"onUpdate:search":e[1]||(e[1]=c=>a(t).items.search=c),"sort-by":a(t).items.sortBy,"onUpdate:sortBy":e[2]||(e[2]=c=>a(t).items.sortBy=c),page:a(t).items.page,"onUpdate:page":e[3]||(e[3]=c=>a(t).items.page=c),"items-per-page":a(t).items.itemsPerPage,"onUpdate:itemsPerPage":e[4]||(e[4]=c=>a(t).items.itemsPerPage=c),data:a(t).items.data,loading:a(t).items.isLoading,height:m,onDelete:k},null,8,["search","sort-by","page","items-per-page","data","loading","height"])]),_:1}),o(a(G),{visible:a(d),"onUpdate:visible":e[5]||(e[5]=m=>S(d)?d.value=m:null),loading:a(p),onSave:i},null,8,["visible","loading"]),o(T,{modelValue:a(l),"onUpdate:modelValue":e[7]||(e[7]=m=>S(l)?l.value=m:null),"max-width":"480"},{default:n(()=>[o(h,{title:"Delete backend service account"},{default:n(()=>[o(j,null,{default:n(()=>[b(' This permanently deletes "'+N(a(u)?.meta.title)+'" and all of its role and project bindings. ',1)]),_:1}),o(E,null,{default:n(()=>[o(I),o(P,{disabled:a(s),onClick:e[6]||(e[6]=m=>l.value=!1)},{default:n(()=>[...e[9]||(e[9]=[b("Cancel",-1)])]),_:1},8,["disabled"]),o(P,{color:"error",loading:a(s),onClick:A},{default:n(()=>[...e[10]||(e[10]=[b("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{ie as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{P as c,_ as i}from"#entry";import{E as r,V as n,J as m,a2 as l,W as d,D as e,Y as u,a1 as y,a6 as f,j as a}from"./-NXdyIEV.js";const C={class:"dual-icon__square"},I=r({__name:"ComponentIcon",props:{meta:{},size:{default:48}},setup(o){const s=a(()=>typeof o.size=="number"?`${o.size}px`:o.size),t=a(()=>o.meta.icon??"iconamoon:component");return(z,p)=>(n(),m("div",{class:"dual-icon",style:f({"--component-icon-size":e(s)})},[l("div",C,[d(e(c),{icon:e(t),class:"primary-icon",color:o.meta.iconColor},null,8,["icon","color"]),o.meta.secondaryIcon?(n(),u(e(c),{key:0,icon:o.meta.secondaryIcon,color:o.meta.secondaryIconColor,class:"secondary-icon"},null,8,["icon","color"])):y("",!0)])],4))}}),B=i(I,[["__scopeId","data-v-84e2fe7b"]]);export{B as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"#entry";import{E as I,aG as A,V as N,Y as W,_ as o,a2 as Y,W as a,D as t,$ as p,a0 as O,aO as K,u as q,aP as z,J as Q,a as C,ah as U,aa as X,r,at as k,ai as $,aj as x,aJ as R,aK as T}from"./-NXdyIEV.js";import"./
|
|
1
|
+
import"#entry";import{E as I,aG as A,V as N,Y as W,_ as o,a2 as Y,W as a,D as t,$ as p,a0 as O,aO as K,u as q,aP as z,J as Q,a as C,ah as U,aa as X,r,at as k,ai as $,aj as x,aJ as R,aK as T}from"./-NXdyIEV.js";import"./DlfNK0cA.js";import{S as Z}from"./DXmPWjsX.js";import{S as h,b as w}from"./DfDsDJD2.js";import{_,a as M}from"./CBtqoa0c.js";import{A as ee}from"./Cn0h663F.js";import{u as te,B as ae}from"./C9U9g4dI.js";import{u as ie}from"./DKWb1hup.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./CHVFVVjA.js";import"./BqAcL3eq.js";import"./D4_5UqG-.js";import"./01ZR8FKx.js";const le={class:"d-flex justify-center ga-1"},oe=I({__name:"BackendApiKeysTable",props:K({data:{},loading:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:K(["delete","rotate"],["update:search","update:sortBy","update:page","update:itemsPerPage"]),setup(d){const g=A(d,"search"),y=A(d,"sortBy"),l=A(d,"page"),b=A(d,"itemsPerPage"),v=[w.name,{title:"Service account",key:"serviceAccount",sortable:!1},w.createdAt,w.actions];return(u,s)=>(N(),W(t(h),{search:g.value,"onUpdate:search":s[0]||(s[0]=i=>g.value=i),"sort-by":y.value,"onUpdate:sortBy":s[1]||(s[1]=i=>y.value=i),page:l.value,"onUpdate:page":s[2]||(s[2]=i=>l.value=i),"items-per-page":b.value,"onUpdate:itemsPerPage":s[3]||(s[3]=i=>b.value=i),headers:v,data:d.data,loading:d.loading,height:d.height},{"item.serviceAccount":o(({item:i})=>[p(O(i.serviceAccountMeta.title),1)]),"item.actions":o(({item:i})=>[Y("div",le,[a(t(_),{"page-name":"settings.backend-api-key-details","page-params":{apiKeyId:i.id}},null,8,["page-params"]),a(t(M),{icon:"mdi-refresh",tooltip:"Rotate token",onClick:f=>u.$emit("rotate",i)},null,8,["onClick"]),a(t(M),{icon:"mdi-delete-outline",tooltip:"Delete API key",color:"error",onClick:f=>u.$emit("delete",i)},null,8,["onClick"])])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","height"]))}}),Ae=I({__name:"index",async setup(d){let g,y;const l=te(),{$client:b}=q(),v=r(!1),u=r(!1),s=r(!1),i=r(!1),f=r(null),P=r(null),D=r(""),S=r(!1),B=r(!1),V=r(!1),[j,E]=([g,y]=z(()=>Promise.all([ie().getRestrictionOptions(),l.getServiceAccountOptions()])),g=await g,y(),g);async function J(m){S.value=!0;try{const e=await l.create(m);v.value=!1,D.value=e.token,i.value=!0}finally{S.value=!1}}function L(m){f.value=m,u.value=!0}function F(m){P.value=m,s.value=!0}async function G(){if(f.value){B.value=!0;try{await l.delete(f.value.id),u.value=!1,f.value=null}finally{B.value=!1}}}async function H(){if(P.value){V.value=!0;try{const m=await b.apiKey.rotateBackend.mutate({apiKeyId:P.value.id});await l.items.load(),s.value=!1,D.value=m.token,i.value=!0,P.value=null}finally{V.value=!1}}}return l.items.load(),(m,e)=>(N(),Q(X,null,[a(t(Z),{title:"Backend API Keys",icon:"mdi-key-variant",description:"Manage tokens that provide programmatic access to backend resources."},{actions:o(()=>[a(k,{color:"primary","prepend-icon":"mdi-plus",onClick:e[0]||(e[0]=n=>v.value=!0)},{default:o(()=>[...e[11]||(e[11]=[p(" Create API key ",-1)])]),_:1})]),default:o(({height:n})=>[a(t(oe),{search:t(l).items.search,"onUpdate:search":e[1]||(e[1]=c=>t(l).items.search=c),"sort-by":t(l).items.sortBy,"onUpdate:sortBy":e[2]||(e[2]=c=>t(l).items.sortBy=c),page:t(l).items.page,"onUpdate:page":e[3]||(e[3]=c=>t(l).items.page=c),"items-per-page":t(l).items.itemsPerPage,"onUpdate:itemsPerPage":e[4]||(e[4]=c=>t(l).items.itemsPerPage=c),data:t(l).items.data,loading:t(l).items.isLoading,height:n,onDelete:L,onRotate:F},null,8,["search","sort-by","page","items-per-page","data","loading","height"])]),_:1}),a(t(ae),{visible:t(v),"onUpdate:visible":e[5]||(e[5]=n=>C(v)?v.value=n:null),"service-accounts":t(E),"restriction-options":t(j),loading:t(S),onSave:J},null,8,["visible","service-accounts","restriction-options","loading"]),a(t(ee),{visible:t(i),"onUpdate:visible":e[6]||(e[6]=n=>C(i)?i.value=n:null),token:t(D)},null,8,["visible","token"]),a(U,{modelValue:t(u),"onUpdate:modelValue":e[8]||(e[8]=n=>C(u)?u.value=n:null),"max-width":"480"},{default:o(()=>[a($,{title:"Delete backend API key"},{default:o(()=>[a(x,null,{default:o(()=>[p('This permanently revokes "'+O(t(f)?.meta.title)+'".',1)]),_:1}),a(R,null,{default:o(()=>[a(T),a(k,{disabled:t(B),onClick:e[7]||(e[7]=n=>u.value=!1)},{default:o(()=>[...e[12]||(e[12]=[p("Cancel",-1)])]),_:1},8,["disabled"]),a(k,{color:"error",loading:t(B),onClick:G},{default:o(()=>[...e[13]||(e[13]=[p("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(U,{modelValue:t(s),"onUpdate:modelValue":e[10]||(e[10]=n=>C(s)?s.value=n:null),"max-width":"480"},{default:o(()=>[a($,{title:"Rotate backend API key"},{default:o(()=>[a(x,null,{default:o(()=>[...e[14]||(e[14]=[p("The current token will stop working immediately.",-1)])]),_:1}),a(R,null,{default:o(()=>[a(T),a(k,{disabled:t(V),onClick:e[9]||(e[9]=n=>s.value=!1)},{default:o(()=>[...e[15]||(e[15]=[p("Cancel",-1)])]),_:1},8,["disabled"]),a(k,{color:"warning",loading:t(V),onClick:H},{default:o(()=>[...e[16]||(e[16]=[p("Rotate",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{Ae as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as P,s as E,E as L,P as H,n as O}from"#entry";import{E as R,aP as I,Y as f,_ as h,D as t,V as m,a2 as s,a6 as U,W as g,Z as S,$ as W,a0 as y,ak as $,a as A,aX as F,a1 as j,a7 as J,J as M,r as X,j as b}from"./-NXdyIEV.js";import"./DlfNK0cA.js";import{S as Y}from"./DXmPWjsX.js";import{I as Z}from"./Dtu55PAv.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./zPZwXEME.js";const q={class:"d-flex align-center justify-space-between mb-4",style:{"flex-shrink":"0"}},G={class:"d-flex align-center"},K={class:"text-subtitle-1 font-weight-medium"},Q={style:{flex:"1","min-height":"0","overflow-y":"auto"}},ee={class:"mr-2"},te=["onClick"],oe={class:"d-flex flex-column flex-grow-1 mr-4"},ne={key:0,class:"text-caption text-medium-emphasis"},he=R({__name:"index",async setup(ie){let c,l;const{projectStore:d,instancesStore:_,libraryStore:k,stateStore:x,validationStore:V,infoStore:r}=P();d.initializing?([c,l]=I(()=>L(()=>d.initialized).toBe(!0)),await c,l(),d.addLibraryRoot()):([c,l]=I(()=>d.initialize1()),await c,l(),[c,l]=I(()=>d.initialize2()),await c,l());const p=X(""),z=E(p,300),D=b(()=>{const o=[..._.instances.values()],n=z.value.toLowerCase().trim(),e=(n?o.filter(i=>i.id.includes(n)):o).map(i=>{const a=k.library.components[i.type];return{...i,meta:{title:a.meta.title,description:i.name,color:a.meta.color,icon:a.meta.icon??"iconamoon:component",iconColor:a.meta.iconColor,secondaryIcon:a.meta.secondaryIcon,secondaryIconColor:a.meta.secondaryIconColor}}}),u=e.filter(i=>!i.parentId),w=i=>i.map(a=>{const C=e.filter(N=>N.parentId===a.id);return{...a,children:C.length>0?w(C):void 0}});return w(u)}),B=b(()=>{if(!r.projectInfo)return[];const o=r.projectInfo;return[{id:o.id,meta:{title:o.meta.title||o.name,description:o.id,icon:o.meta.icon||"mdi-folder-outline",iconColor:o.meta.iconColor},children:D.value}]}),T=o=>{if(o.id===r.projectInfo?.id)return;const n=x.getInstanceState(o.id);n&&O({name:"settings.instance-details",params:{projectId:d.projectId,stateId:n.id}})};return(o,n)=>(m(),f(t(Y),{title:"Instances",icon:"mdi-cube-outline",description:"View and manage instances created in this project."},{default:h(({height:v})=>[s("div",{class:"instances-tree",style:U({height:v,display:"flex",flexDirection:"column"})},[s("div",q,[s("div",G,[g(S,{class:"mr-2"},{default:h(()=>[...n[1]||(n[1]=[W("mdi-format-list-bulleted",-1)])]),_:1}),s("span",K,y(t(_).instances.size)+" instance "+y(t(_).instances.size===1?"":"s"),1)]),g($,{modelValue:t(p),"onUpdate:modelValue":n[0]||(n[0]=e=>A(p)?p.value=e:null),"prepend-inner-icon":"mdi-magnify",placeholder:"Search instances...",variant:"outlined",density:"compact",clearable:"","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"])]),s("div",Q,[g(F,{items:t(B),"item-title":"meta.title","item-value":"id","open-strategy":"multiple","select-strategy":"independent",density:"compact","indent-lines":"",opened:[t(r).projectInfo?.id]},{prepend:h(({item:e,isOpen:u})=>[s("div",ee,[e.id!==t(r).projectInfo?.id?(m(),f(t(Z),{key:0,state:t(x).instanceStates.get(e.id),"expected-input-hash":t(x).inputHashOutputs.get(e.id)?.inputHash,"validation-output":t(V).validationOutputs.get(e.id)},null,8,["state","expected-input-hash","validation-output"])):(m(),f(S,{key:1,icon:u?"mdi-folder-open-outline":"mdi-folder-outline",size:"20",color:e.meta.iconColor},null,8,["icon","color"]))])]),title:h(({item:e})=>[s("div",{class:"d-flex align-center flex-grow-1",style:{cursor:"pointer"},onClick:u=>T(e)},[e.meta.icon&&e.id!==t(r).projectInfo?.id?(m(),f(t(H),{key:0,icon:e.meta.icon,color:e.meta.iconColor,width:"24",class:"mr-3"},null,8,["icon","color"])):j("",!0),s("div",oe,[s("div",{class:J(["font-weight-medium",e.id===t(r).projectInfo?.id?"text-h6":"text-body-1"])},y(e.meta.title||"Unnamed"),3),e.meta.description?(m(),M("div",ne,y(e.meta.description),1)):j("",!0)])],8,te)]),_:1},8,["items","opened"])])],4)]),_:1}))}});export{he as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as x}from"./
|
|
1
|
+
import{C as x}from"./BzfFclT9.js";import{E as h,V as g,Y as y,ai as S,a6 as C,D as f,_ as d,a5 as c,W as k,j as p}from"./-NXdyIEV.js";const v={done:!1,hasNext:!1};function B(e,...o){let a=e,t=o.map(l=>"lazy"in l?w(l):void 0),n=0;for(;n<o.length;){if(t[n]===void 0||!N(a)){let r=o[n];a=r(a),n+=1;continue}let l=[];for(let r=n;r<o.length;r++){let i=t[r];if(i===void 0||(l.push(i),i.isSingle))break}let s=[];for(let r of a)if(b(r,s,l))break;let{isSingle:u}=l.at(-1);a=u?s[0]:s,n+=l.length}return a}function b(e,o,a){if(a.length===0)return o.push(e),!1;let t=e,n=v,l=!1;for(let[s,u]of a.entries()){let{index:r,items:i}=u;if(i.push(t),n=u(t,r,i),u.index+=1,n.hasNext){if(n.hasMany??!1){for(let m of n.next)if(b(m,o,a.slice(s+1)))return!0;return l}t=n.next}if(!n.hasNext)break;n.done&&(l=!0)}return n.hasNext&&o.push(t),l}function w(e){let{lazy:o,lazyArgs:a}=e,t=o(...a);return Object.assign(t,{isSingle:o.single??!1,index:0,items:[]})}function N(e){return typeof e=="string"||typeof e=="object"&&!!e&&Symbol.iterator in e}const F=h({__name:"ComponentCard",props:{component:{},subtitle:{},text:{},blueprintStatus:{default:"default"},selected:{type:Boolean,default:!1}},setup(e){const o=p(()=>{const t={borderRadius:"4px"};switch(e.blueprintStatus){case"blueprint-valid":return{...t,opacity:"0.7",outline:"2px solid #4CAF50",backgroundColor:"rgba(76, 175, 80, 0.1)",boxShadow:"0 0 10px rgba(76, 175, 80, 0.3)"};case"blueprint-invalid":return{...t,opacity:"0.7",outline:"2px solid #F44336",backgroundColor:"rgba(244, 67, 54, 0.1)",boxShadow:"0 0 10px rgba(244, 67, 54, 0.3)"}}return e.selected?{...t,outline:"2px solid #2196F3",boxShadow:"0 0 8px rgba(33, 150, 243, 0.4)"}:t}),a=p(()=>e.blueprintStatus!=="default"?"#424242":e.component.meta.color??"#2d2d2d");return(t,n)=>(g(),y(S,{width:360,title:e.component.meta.title,subtitle:e.subtitle,text:e.text,color:f(a),style:C(f(o)),variant:"flat"},{prepend:d(()=>[k(x,{meta:e.component.meta},null,8,["meta"])]),append:d(()=>[c(t.$slots,"append")]),default:d(()=>[c(t.$slots,"default")]),_:3},8,["title","subtitle","text","color","style"]))}});export{F as _,v as a,B as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{x as W,_ as Y,A as z,B as F}from"#entry";import{V as G,s as J}from"./D4_5UqG-.js";import{_ as Q}from"./DKWb1hup.js";import{E as H,aG as X,w as Z,V as I,Y as N,_ as c,W as s,ai as h,aj as _,aU as ee,aV as D,a2 as V,ak as B,a as g,D as r,aW as te,aN as ae,aI as ie,$ as x,a1 as se,as as le,aJ as ne,aK as re,at as T,ah as oe,aO as q,r as y,j as m,u as ue}from"./-NXdyIEV.js";import"./DlfNK0cA.js";const ce={class:"builder"},de={class:"preview"},me=H({__name:"BackendApiKeyDialog",props:q({apiKey:{},serviceAccounts:{},restrictionOptions:{},loading:{type:Boolean}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:q(["save"],["update:visible"]),setup(a,{emit:p}){const v=X(a,"visible"),A=p,d=y(""),l=y(""),o=y(),u=y(""),n=y([]),O=m(()=>J(n.value)),w=m(()=>a.serviceAccounts.find(i=>i.id===o.value)?.rules??[]),j=m(()=>!!d.value.trim()),R=m(()=>a.serviceAccounts.some(i=>i.id===o.value)),U=m(()=>!u.value||!Number.isNaN(new Date(u.value).getTime())),k=m(()=>n.value.length===0||W.safeParse(n.value).success),S=m(()=>n.value.length===0||n.value.every(i=>i.permissions.every(e=>w.value.some(t=>t.permissions.includes(e)&&P(t,i))))),K=m(()=>j.value&&R.value&&U.value&&k.value&&S.value);Z(()=>[v.value,a.apiKey,a.serviceAccounts],()=>{v.value&&(d.value=a.apiKey?.meta.title??"",l.value=a.apiKey?.meta.description??"",o.value=a.apiKey?.serviceAccountId??a.serviceAccounts.find(i=>i.systemName==="admin")?.id,u.value=a.apiKey?.expiresAt?E(a.apiKey.expiresAt):"",n.value=a.apiKey?.restrictionRules??[])},{immediate:!0});function E(i){const e=new Date(i),t=e.getTimezoneOffset()*6e4;return new Date(e.getTime()-t).toISOString().slice(0,16)}function M(){!K.value||!o.value||A("save",{meta:{title:d.value.trim(),description:l.value.trim()||void 0},serviceAccountId:o.value,restrictionRules:n.value,expiresAt:u.value?new Date(u.value):null})}function $(i){o.value=i,n.value=[]}function P(i,e){return i.restrictions?e.restrictions?i.restrictions.every(t=>{const f=e.restrictions?.find(b=>b.type===t.type);if(!f)return!1;const L=C(t);return C(f).every(b=>L.includes(b))&&(!("recursive"in f)||!f.recursive||"recursive"in t&&t.recursive)}):!1:!0}function C(i){switch(i.type){case"resources":return i.resourceIds;case"projects":return i.projectIds;case"project-spaces":case"projects-in-spaces":return i.projectSpaceIds}}return(i,e)=>(I(),N(oe,{modelValue:v.value,"onUpdate:modelValue":e[5]||(e[5]=t=>v.value=t),"max-width":"1200",class:"api-key-dialog"},{default:c(()=>[s(h,{title:a.apiKey?"Edit backend API key":"Create backend API key"},{default:c(()=>[s(_,{class:"content"},{default:c(()=>[s(ee,{"no-gutters":"",class:"fill-height"},{default:c(()=>[s(D,{cols:"12",md:"6",class:"pr-md-4 column"},{default:c(()=>[e[7]||(e[7]=V("div",{class:"text-overline mb-2"},"Metadata",-1)),s(B,{modelValue:r(d),"onUpdate:modelValue":e[0]||(e[0]=t=>g(d)?d.value=t:null),class:"flex-grow-0",label:"Title",variant:"outlined",density:"compact",rules:[t=>!!t?.trim()||"Title is required"],required:""},null,8,["modelValue","rules"]),s(te,{modelValue:r(l),"onUpdate:modelValue":e[1]||(e[1]=t=>g(l)?l.value=t:null),class:"flex-grow-0",label:"Description",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue"]),s(ae,{"model-value":r(o),class:"flex-grow-0",items:a.serviceAccounts,"item-title":"meta.title","item-value":"id",label:"Service account",variant:"outlined",density:"compact",rules:[t=>a.serviceAccounts.some(f=>f.id===t)||"Service account is required"],required:"","onUpdate:modelValue":$},null,8,["model-value","items","rules"]),s(B,{modelValue:r(u),"onUpdate:modelValue":e[2]||(e[2]=t=>g(u)?u.value=t:null),class:"expires-at-field flex-grow-0",type:"datetime-local",label:"Expires at",variant:"outlined",density:"compact",clearable:"",rules:[t=>!t||!Number.isNaN(new Date(t).getTime())||"Expiration must be a valid date and time"]},null,8,["modelValue","rules"]),V("div",ce,[s(Q,{modelValue:r(n),"onUpdate:modelValue":e[3]||(e[3]=t=>g(n)?n.value=t:null),options:a.restrictionOptions,"allowed-rules":r(w),"section-title":"Restriction Rules","allow-empty":""},null,8,["modelValue","options","allowed-rules"])]),r(n).length>0&&r(k)&&!r(S)?(I(),N(ie,{key:0,type:"error",variant:"outlined",density:"compact",class:"flex-grow-0 mt-2"},{default:c(()=>[...e[6]||(e[6]=[x(" Restriction rules exceed the selected service account permissions. ",-1)])]),_:1})):se("",!0)]),_:1}),s(le,{vertical:"",class:"d-none d-md-flex"}),s(D,{cols:"12",md:"6",class:"pl-md-4 column"},{default:c(()=>[e[8]||(e[8]=V("div",{class:"text-overline mb-2"},"Restriction preview",-1)),V("div",de,[s(r(G),{value:r(O),theme:"dark-plus",language:"yaml",options:{readOnly:!0,minimap:{enabled:!1},automaticLayout:!0}},null,8,["value"])])]),_:1})]),_:1})]),_:1}),s(ne,null,{default:c(()=>[s(re),s(T,{disabled:a.loading,onClick:e[4]||(e[4]=t=>v.value=!1)},{default:c(()=>[...e[9]||(e[9]=[x("Cancel",-1)])]),_:1},8,["disabled"]),s(T,{color:"primary",disabled:!r(K),loading:a.loading,onClick:M},{default:c(()=>[...e[10]||(e[10]=[x("Save",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),Ae=Y(me,[["__scopeId","data-v-7aef4723"]]),be=z("backend-api-key-settings",()=>{const{$client:a}=ue(),p=F(l=>a.backendApiKeySettings.query.query(l));async function v(l){const o=await a.backendApiKeySettings.create.mutate(l);return await p.load(),o}async function A(l,o){const u=await a.backendApiKeySettings.update.mutate({apiKeyId:l,apiKey:o});return await p.load(),u}async function d(l){await a.backendApiKeySettings.delete.mutate({apiKeyId:l}),await p.load()}return{items:p,get:async l=>await a.backendApiKeySettings.get.query({apiKeyId:l}),create:v,update:A,delete:d,getServiceAccountOptions:async()=>await a.backendApiKeySettings.getServiceAccountOptions.query()}});export{Ae as B,be as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"#entry";import{_ as c}from"./
|
|
1
|
+
import"#entry";import{_ as c}from"./Dz1kPrb2.js";import{_ as d}from"./CJnh15-L.js";import{E as f,V as i,Y as a,D as m,ao as o,_ as s,$ as n,W as r,Z as l}from"./-NXdyIEV.js";const I=f({__name:"OwnerRefChip",props:{item:{}},setup(t){return(u,e)=>t.item.stateId?(i(),a(m(d),{key:0,item:{stateId:t.item.stateId}},null,8,["item"])):t.item.serviceAccountId?(i(),a(m(c),{key:1,item:{serviceAccountId:t.item.serviceAccountId,serviceAccountMeta:t.item.serviceAccountMeta}},null,8,["item"])):t.item.systemName?(i(),a(o,{key:2,color:"info",variant:"flat",size:"small",class:"font-weight-bold"},{prepend:s(()=>[r(l,{class:"mr-1"},{default:s(()=>[...e[0]||(e[0]=[n("mdi-crown",-1)])]),_:1})]),default:s(()=>[e[1]||(e[1]=n(" system ",-1))]),_:1})):(i(),a(o,{key:3,color:"secondary",variant:"flat",size:"small",class:"font-weight-bold"},{prepend:s(()=>[r(l,{class:"mr-1"},{default:s(()=>[...e[2]||(e[2]=[n("mdi-help-circle",-1)])]),_:1})]),default:s(()=>[e[3]||(e[3]=n(" unknown ",-1))]),_:1}))}});export{I as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as f,aG as
|
|
1
|
+
import{E as f,aG as B,w as k,V as A,Y as V,_ as r,W as o,ai as w,aj as p,ak as R,a as m,D as v,aW as C,aJ as q,aK as x,at as g,$ as S,ah as T,aO as b,r as y,u as j}from"./-NXdyIEV.js";import{A as D,B as P}from"#entry";const O=f({__name:"BackendServiceAccountDialog",props:b({serviceAccount:{},loading:{type:Boolean}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:b(["save"],["update:visible"]),setup(t,{emit:s}){const l=B(t,"visible"),d=s,i=y(""),e=y("");k(()=>[l.value,t.serviceAccount],()=>{l.value&&(i.value=t.serviceAccount?.meta.title??"",e.value=t.serviceAccount?.meta.description??"")},{immediate:!0});function n(){i.value.trim()&&d("save",{meta:{title:i.value.trim(),description:e.value.trim()||void 0}})}return(u,a)=>(A(),V(T,{modelValue:l.value,"onUpdate:modelValue":a[3]||(a[3]=c=>l.value=c),"max-width":"620"},{default:r(()=>[o(w,{title:t.serviceAccount?"Edit backend service account":"Create backend service account",color:"#2d2d2d"},{default:r(()=>[o(p,{class:"pt-4"},{default:r(()=>[o(R,{modelValue:v(i),"onUpdate:modelValue":a[0]||(a[0]=c=>m(i)?i.value=c:null),class:"mb-4",label:"Title",variant:"outlined",density:"compact",rules:[c=>!!c?.trim()||"Title is required"],required:"",autofocus:""},null,8,["modelValue","rules"]),o(C,{modelValue:v(e),"onUpdate:modelValue":a[1]||(a[1]=c=>m(e)?e.value=c:null),label:"Description",variant:"outlined",density:"compact",rows:"3"},null,8,["modelValue"])]),_:1}),o(q,null,{default:r(()=>[o(x),o(g,{disabled:t.loading,onClick:a[2]||(a[2]=c=>l.value=!1)},{default:r(()=>[...a[4]||(a[4]=[S("Cancel",-1)])]),_:1},8,["disabled"]),o(g,{color:"primary",disabled:!v(i).trim(),loading:t.loading,onClick:n},{default:r(()=>[...a[5]||(a[5]=[S("Save",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),U=D("backend-service-account-settings",()=>{const{$client:t}=j(),s=P(e=>t.backendServiceAccountSettings.query.query(e));async function l(e){const n=await t.backendServiceAccountSettings.create.mutate(e);return await s.load(),n}async function d(e,n){const u=await t.backendServiceAccountSettings.update.mutate({serviceAccountId:e,serviceAccount:n});return await s.load(),u}async function i(e){await t.backendServiceAccountSettings.delete.mutate({serviceAccountId:e}),await s.load()}return{items:s,get:async e=>await t.backendServiceAccountSettings.get.query({serviceAccountId:e}),create:l,update:d,delete:i,getRoleBindings:async e=>await t.backendServiceAccountSettings.getRoleBindings.query({serviceAccountId:e}),getRoleBindingsByRole:async e=>await t.backendServiceAccountSettings.getRoleBindingsByRole.query({roleId:e}),addRoleBinding:async(e,n)=>await t.backendServiceAccountSettings.addRoleBinding.mutate({roleId:e,serviceAccountId:n}),removeRoleBinding:async(e,n)=>await t.backendServiceAccountSettings.removeRoleBinding.mutate({roleId:e,serviceAccountId:n}),getProjectBindingOptions:async e=>await t.backendServiceAccountSettings.getProjectBindingOptions.query({serviceAccountId:e}),setProjectBinding:async(e,n,u)=>await t.backendServiceAccountSettings.setProjectBinding.mutate({serviceAccountId:e,projectId:n,projectServiceAccountId:u})}});export{O as _,U as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as c}from"#entry";import"./
|
|
1
|
+
import{n as c}from"#entry";import"./DlfNK0cA.js";import{E as n,V as o,Y as s,au as r,_ as l,a2 as d,a0 as m,W as u,at as f,ag as p,D as v}from"./-NXdyIEV.js";const b=n({__name:"TableItemAction",props:{icon:{},tooltip:{},variant:{default:"text"},size:{default:"small"},color:{},disabled:{type:Boolean,default:!1}},emits:["click"],setup(a){return(e,t)=>(o(),s(r,{location:"top"},{activator:l(({props:i})=>[u(f,p(i,{icon:a.icon,variant:a.variant,size:a.size,color:a.color,disabled:a.disabled,onClick:t[0]||(t[0]=g=>e.$emit("click"))}),null,16,["icon","variant","size","color","disabled"])]),default:l(()=>[d("span",null,m(a.tooltip),1)]),_:1}))}}),V=n({__name:"ShowDetailsAction",props:{pageName:{},pageParams:{},variant:{default:"text"},size:{default:"small"},disabled:{type:Boolean,default:!1}},setup(a){const e=()=>{c({name:a.pageName,params:a.pageParams})};return(t,i)=>(o(),s(v(b),{icon:"mdi-eye",tooltip:"View Details",variant:a.variant,size:a.size,disabled:a.disabled,onClick:e},null,8,["variant","size","disabled"]))}});export{V as _,b as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as M,bF as C,E as k,bG as P,D as T,m as z}from"#entry";import{G as L}from"./zPZwXEME.js";import{u as D,B as h,M as _,r as W,E as g,aP as f,V as S,Y as A,_ as j,D as x,W as H}from"./-NXdyIEV.js";import{P as E}from"./DzP42O4c.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyDuNLRY.js";function N(){return navigator.userAgent.includes("Mac")}function G(s,n){const e=h(null),t=h(null),u=W(!1),{$client:r}=D(),l=M(),w=async d=>{e.value=d;async function i(a,o){if(o==="restart"){if(u.value)return;u.value=!0,e.value.writeln(">>> Restarting terminal session... <<<");const m=await r.terminal.getOrCreateTerminalSession.mutate({projectId:s,terminalId:t.value.terminalId});l.closeTerminalPanel(s,t.value.id),l.openTerminalPanel(s,m.id)}else(N()?a.metaKey:a.ctrlKey)&&window.open(o,"_blank")}const c={activate:(a,o)=>{i(a,o)},hover:(a,o,m)=>{},leave:(a,o,m)=>{},allowNonHttpProtocols:!0},p=new C.WebLinksAddon(i,c);e.value.loadAddon(p),e.value.options.linkHandler=c,await b();const{unsubscribe:v}=r.terminal.watchSession.subscribe({projectId:s,sessionId:n},{onData(a){if(t.value=a,a.finishedAt){const B=`\x1B[1m\x1B[33m${`>>> Terminal session finished at ${new Date(a.finishedAt).toLocaleString("en-US")} <<<`}\x1B[0m`,$="\x1B]8;;restart\x1B\\>>> Click here to restart <<<\x1B]8;;\x1B\\";e.value.writeln(""),e.value.writeln(B),e.value.writeln($),v()}}});_(v),await k(t).not.toBeNull(),t.value.finishedAt||(y(),e.value.focus())},b=async()=>{const d=await r.terminal.getSessionHistory.query({projectId:s,sessionId:n});for(const i of d)e.value.write(i.content)},y=()=>{const i=`${location.protocol==="https:"?"wss":"ws"}://${location.host}`,c=new WebSocket(`${i}/api/projects/${s}/terminal-sessions/${n}?screenSize=${e.value.cols}x${e.value.rows}`),p=new P.AttachAddon(c);e.value.loadAddon(p),_(()=>c.close())};return{initialize:w,session:t}}const R=g({__name:"TerminalSession",props:{sessionId:{}},async setup(s){let n,e;const{projectStore:t}=T();t.initializing?([n,e]=f(()=>k(()=>t.initialized).toBe(!0)),await n,e(),t.addLibraryRoot()):([n,e]=f(()=>t.initialize1()),await n,e(),[n,e]=f(()=>t.initialize2()),await n,e());const{initialize:u}=G(t.projectId,s.sessionId),r=l=>{u(l)};return(l,w)=>(S(),A(L,{onLoad:r}))}}),J=g({__name:"[sessionId]",props:{params:{}},setup(s){return z(s.params.projectId),(n,e)=>(S(),A(x(E),{"project-id":s.params.projectId,"can-unlock":""},{default:j(()=>[H(x(R),{"session-id":s.params.sessionId},null,8,["session-id"])]),_:1},8,["project-id"]))}});export{J as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a3 as v,_ as x}from"#entry";import{E as m,V as f,J as p,a2 as u,a0 as n,D as s,W as i,at as _,_ as c,Z as h,$ as d,au as y}from"./-NXdyIEV.js";import"./
|
|
1
|
+
import{a3 as v,_ as x}from"#entry";import{E as m,V as f,J as p,a2 as u,a0 as n,D as s,W as i,at as _,_ as c,Z as h,$ as d,au as y}from"./-NXdyIEV.js";import"./DlfNK0cA.js";const $=e=>e?e.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"Unknown",g=e=>{if(!e)return"Unknown";const o=Date.now()-e.getTime(),t=Math.floor(o/(1e3*60*60*24)),a=Math.floor(o/(1e3*60*60)),l=Math.floor(o/(1e3*60));return t>0?`${t} day${t===1?"":"s"} ago`:a>0?`${a} hour${a===1?"":"s"} ago`:l>0?`${l} minute${l===1?"":"s"} ago`:"Just now"},T=e=>`${e.slice(0,8)}...${e.slice(-8)}`,C={class:"d-flex align-center"},b={class:"text-caption text-medium-emphasis font-mono mr-2"},w=m({__name:"IdTableCell",props:{value:{},truncate:{type:Boolean,default:!0},copyFullText:{default:"Copy full ID"}},setup(e){const{copy:r}=v();return(o,t)=>(f(),p("div",C,[u("code",b,n(e.truncate?s(T)(e.value):e.value),1),i(_,{icon:"mdi-content-copy",variant:"text",size:"x-small",onClick:t[0]||(t[0]=a=>s(r)(e.value))},{default:c(()=>[i(h,{size:"16"},{default:c(()=>[...t[1]||(t[1]=[d("mdi-content-copy",-1)])]),_:1}),i(y,{activator:"parent",location:"top"},{default:c(()=>[d(n(e.copyFullText),1)]),_:1})]),_:1})]))}}),M=x(w,[["__scopeId","data-v-0dcfb73b"]]),I={class:"text-body-2"},V={class:"text-caption text-medium-emphasis"},N=m({__name:"TimeTableCell",props:{value:{}},setup(e){return(r,o)=>(f(),p("div",null,[u("div",I,n(s($)(e.value)),1),u("div",V,n(s(g)(e.value)),1)]))}});export{M as I,N as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{D as m}from"#entry";import{E as u}from"./CrAApG3c.js";import{E as p,V as d,Y as f,D as s,j as a}from"./-NXdyIEV.js";const C=p({__name:"InstanceRefChip",props:{item:{}},setup(n){const{instancesStore:r,libraryStore:i,stateStore:c}=m(),t=a(()=>{const e=c.stateIdToStateMap.get(n.item.stateId);return e?r.instances.get(e.instanceId):null}),o=a(()=>t.value?i.library.components[t.value.type]?.meta??null:null),l=a(()=>t.value?{title:t.value.name,icon:o.value?.icon,iconColor:o.value?.iconColor}:null);return(e,I)=>(d(),f(s(u),{id:n.item.stateId,meta:s(l),"fallback-icon":"mdi-cube-outline","page-name":"settings.instance-details","page-params":{stateId:n.item.stateId}},null,8,["id","meta","page-params"]))}});export{C as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as y,b as i}from"./
|
|
1
|
+
import{S as y,b as i}from"./DfDsDJD2.js";import"#entry";import{_ as P}from"./C9khB4Xk.js";import"./DlfNK0cA.js";import{_ as b,a as p}from"./CBtqoa0c.js";import{E as v,aG as o,V as B,Y as k,_ as c,a2 as $,W as r,D as s,aO as u}from"./-NXdyIEV.js";const C={class:"d-flex justify-center ga-1"},D=v({__name:"ApiKeysTable",props:u({projectId:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:u(["delete","rotate"],["update:search","update:sortBy","update:page","update:itemsPerPage"]),setup(a){const d=o(a,"search"),n=o(a,"sortBy"),l=o(a,"page"),m=o(a,"itemsPerPage"),h=[i.name,i.id,{title:"Owner",key:"owner",sortable:!1},i.createdAt,i.actions];return(g,t)=>(B(),k(s(y),{search:d.value,"onUpdate:search":t[0]||(t[0]=e=>d.value=e),"sort-by":n.value,"onUpdate:sortBy":t[1]||(t[1]=e=>n.value=e),page:l.value,"onUpdate:page":t[2]||(t[2]=e=>l.value=e),"items-per-page":m.value,"onUpdate:itemsPerPage":t[3]||(t[3]=e=>m.value=e),headers:h,data:a.data,loading:a.loading,"hide-header":a.hideHeader,height:a.height},{"item.owner":c(({item:e})=>[r(s(P),{item:e},null,8,["item"])]),"item.actions":c(({item:e})=>[$("div",C,[r(s(b),{"page-name":"settings.api-key-details","page-params":{projectId:a.projectId,apiKeyId:e.id}},null,8,["page-params"]),r(s(p),{icon:"mdi-refresh",tooltip:"Rotate token",disabled:e.managed,onClick:f=>g.$emit("rotate",e)},null,8,["disabled","onClick"]),r(s(p),{icon:"mdi-delete-outline",tooltip:"Delete API key",color:"error",disabled:e.managed,onClick:f=>g.$emit("delete",e)},null,8,["disabled","onClick"])])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","hide-header","height"]))}});export{D as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as Y,q as J,T as Z,U as M,V as _,W as O,X as ee,D as R,L as te,K as ae,C as oe,G as se,H as ie,Q as ne,O as re,v as z,E as L,n as le}from"#entry";import{E as A,V,Y as F,D as e,_ as i,W as s,n as G,aP as h,at as de,$ as H,a2 as q,a0 as ue,ai as pe,aL as me,aj as ge,aS as ve,a1 as ce}from"./-NXdyIEV.js";import{I as T}from"./CHVFVVjA.js";import{S as fe}from"./DlfNK0cA.js";import{D as ye,a as Pe}from"./BvF6CC6t.js";import{O as Ie}from"./0MzBjiBY.js";import{_ as I}from"./DSTHpVUV.js";import{_ as be}from"./CVCvRHBP.js";import{_ as Se}from"./BvcB3_Ox.js";import{_ as je}from"./zcI5daFe.js";import{_ as Be}from"./iHlZS5Nr.js";import{_ as he}from"./BDLjTA3_.js";import{_ as Ue}from"./BQvzkDFt.js";import{_ as we}from"./BVxJafKI.js";import{G as ke,H as Ce,I as xe}from"./Cjc0AvC7.js";import{u as Le}from"./BeV7FtCY.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./D4_5UqG-.js";import"./DfDsDJD2.js";import"./M3Z1JMP1.js";import"./C9khB4Xk.js";import"./Dz1kPrb2.js";import"./CrAApG3c.js";import"./CJnh15-L.js";import"./CBtqoa0c.js";import"./iX982afC.js";import"./DjTKfsHU.js";import"./DfvKjH24.js";import"./BxAss8Tj.js";import"./BzfFclT9.js";import"./C50Jf3QI.js";import"./BqAcL3eq.js";import"./BbYXjaP8.js";const Te=A({__name:"PreviewCanvas",props:{instances:{},hubs:{default:()=>[]},components:{},entities:{},autoPosition:{type:Boolean,default:!0},interactive:{type:Boolean,default:!1}},emits:["ready"],setup(o,{emit:d}){const u=d,j=Y.createId(),B=J.child({customCanvasId:j}),{outputs:b,dependentMap:P,set:U,dispatchInitialNodes:w}=Z("InputResolver",B,ee,!0),k=async n=>{n.nodeFactory.createNodesForModels(o.instances,o.hubs,{readonly:!0});for(const l of o.instances){const C=o.components[l.type];U(`instance:${l.id}`,{kind:"instance",instance:l,component:C,entities:o.entities})}for(const l of o.hubs)U(`hub:${l.id}`,{kind:"hub",hub:l,entities:o.entities});const S=[w()];o.autoPosition?S.push(M(n.vueFlowStore).then(()=>_(n.vueFlowStore)).then(()=>n.vueFlowStore.fitView()).then(()=>G()).then(()=>O(n.vueFlowStore,n.onNodesMoved,n.edgeEndpointOffsets))):S.push(M(n.vueFlowStore).then(()=>n.vueFlowStore.fitView()).then(()=>G()).then(()=>O(n.vueFlowStore,n.onNodesMoved,n.edgeEndpointOffsets))),await Promise.all(S),u("ready")};return(n,S)=>(V(),F(ke,{"canvas-id":["custom",e(j)],onInit:k,"input-resolver-outputs":e(b),components:o.components,entities:o.entities,minimap:!1,interactive:o.interactive},{"node-instance":i(({data:l})=>[s(e(xe),{instance:l.instance,component:o.components[l.instance.type],entities:o.entities,"input-resolver-outputs":e(b),"input-resolver-dependent-map":e(P),editable:""},null,8,["instance","component","entities","input-resolver-outputs","input-resolver-dependent-map"])]),"node-hub":i(({data:l})=>[s(Ce,{hub:l.hub},null,8,["hub"])]),_:1},8,["canvas-id","input-resolver-outputs","components","entities","interactive"]))}}),Ve={class:"d-flex ga-6",style:{"min-height":"400px"}},Fe={class:"text-body-2 text-capitalize"},ft=A({__name:"[stateId]",props:{params:{}},async setup(o){let d,u;const{instancesStore:j,stateStore:B,libraryStore:b}=R(),{projectStore:P}=R(),U=te(),w=ae(),k=oe(),n=se(),S=ie(),l=ne(),C=re(),W=Le.ensureCreated(o.params.projectId);P.initializing?([d,u]=h(()=>L(()=>P.initialized).toBe(!0)),await d,u(),P.addLibraryRoot()):([d,u]=h(()=>P.initialize1()),await d,u(),[d,u]=h(()=>P.initialize2()),await d,u()),[d,u]=h(()=>L(()=>j.initializationPhase!=="loading").toBe(!0)),await d,u(),[d,u]=h(()=>L(()=>B.statesLoaded).toBe(!0)),await d,u();const x=B.getStateByStateId(o.params.stateId)?.instanceId;if(!x)throw z({statusCode:404,statusMessage:"Instance not found for the given state ID"});const y=j.instances.get(x);if(!y)throw z({statusCode:404,statusMessage:"Instance not found"});const N=b.library.components[y.type],$=N?.meta,K=[{key:"instanceId",label:"Instance ID"},{key:"stateId",label:"State ID"},{key:"type",label:"Component Type"},{key:"kind",label:"Kind"}],Q=b.library.components,X=b.library.entities,p=l.forState(o.params.stateId),m=S.forState(o.params.stateId),g=k.forState(o.params.stateId),v=n.forState(o.params.stateId),c=C.forState(o.params.stateId),f=U.forState(o.params.stateId),D=B.instanceStates.get(x)?.lastOperationState?.operationId,r=D?w.snapshotsForInstanceOperation(o.params.stateId,D):null;return p.load(),m.load(),g.load(),v.load(),c.load(),f.load(),r&&r.load(),(E,t)=>(V(),F(e(Pe),null,{default:i(()=>[s(fe,{meta:e($),"fallback-icon":"mdi-cube-outline",title:e(N).meta.title,description:e(y).name},{actions:i(()=>[s(de,{variant:"outlined","prepend-icon":"mdi-vector-square",onClick:t[0]||(t[0]=()=>{e(W).requestInstanceFocus(e(y).id),("navigateTo"in E?E.navigateTo:e(le))({name:"project",params:{projectId:o.params.projectId}})})},{default:i(()=>[...t[29]||(t[29]=[H(" View in Canvas ",-1)])]),_:1})]),_:1},8,["meta","title","description"]),q("div",Ve,[s(e(ye),{title:"Instance Details",items:K,style:{flex:"1"}},{"item.instanceId":i(()=>[s(e(T),{truncate:!1,value:e(y).id},null,8,["value"])]),"item.stateId":i(()=>[s(e(T),{truncate:!1,value:o.params.stateId},null,8,["value"])]),"item.type":i(()=>[s(e(T),{truncate:!1,value:e(y).type},null,8,["value"])]),"item.kind":i(()=>[q("div",Fe,ue(e(y).kind),1)]),_:1}),s(pe,{style:{flex:"1",border:"solid 2px #2d2d2d"},elevation:0},{default:i(()=>[s(me,{class:"d-flex align-center"},{default:i(()=>[...t[30]||(t[30]=[H("Preview",-1)])]),_:1}),s(ge,{class:"pa-0",style:{height:"350px"}},{default:i(()=>[s(e(Te),{instances:[e(y)],hubs:[],components:e(Q),entities:e(X),"auto-position":!1},null,8,["instances","components","entities"])]),_:1})]),_:1})]),s(ve,{elevation:0},{default:i(()=>[s(e(Ie),{title:"Instance Model",data:e(y)},null,8,["data"]),s(e(I),{title:"Terminals",icon:"mdi-console",count:e(p).data.value.total},{default:i(()=>[s(e(be),{search:e(p).search.value,"onUpdate:search":t[1]||(t[1]=a=>e(p).search.value=a),"sort-by":e(p).sortBy.value,"onUpdate:sortBy":t[2]||(t[2]=a=>e(p).sortBy.value=a),page:e(p).page.value,"onUpdate:page":t[3]||(t[3]=a=>e(p).page.value=a),"items-per-page":e(p).itemsPerPage.value,"onUpdate:itemsPerPage":t[4]||(t[4]=a=>e(p).itemsPerPage.value=a),"project-id":o.params.projectId,data:e(p).data.value,loading:e(p).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),s(e(I),{title:"Secrets",icon:"mdi-key-variant",count:e(m).data.value.total},{default:i(()=>[s(e(Se),{search:e(m).search.value,"onUpdate:search":t[5]||(t[5]=a=>e(m).search.value=a),"sort-by":e(m).sortBy.value,"onUpdate:sortBy":t[6]||(t[6]=a=>e(m).sortBy.value=a),page:e(m).page.value,"onUpdate:page":t[7]||(t[7]=a=>e(m).page.value=a),"items-per-page":e(m).itemsPerPage.value,"onUpdate:itemsPerPage":t[8]||(t[8]=a=>e(m).itemsPerPage.value=a),"project-id":o.params.projectId,data:e(m).data.value,loading:e(m).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),s(e(I),{title:"Pages",icon:"mdi-file-document-outline",count:e(g).data.value.total},{default:i(()=>[s(e(je),{search:e(g).search.value,"onUpdate:search":t[9]||(t[9]=a=>e(g).search.value=a),"sort-by":e(g).sortBy.value,"onUpdate:sortBy":t[10]||(t[10]=a=>e(g).sortBy.value=a),page:e(g).page.value,"onUpdate:page":t[11]||(t[11]=a=>e(g).page.value=a),"items-per-page":e(g).itemsPerPage.value,"onUpdate:itemsPerPage":t[12]||(t[12]=a=>e(g).itemsPerPage.value=a),"project-id":o.params.projectId,data:e(g).data.value,loading:e(g).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),s(e(I),{title:"Panels",icon:"mdi-view-dashboard-outline",count:e(v).data.value.total},{default:i(()=>[s(e(Be),{search:e(v).search.value,"onUpdate:search":t[13]||(t[13]=a=>e(v).search.value=a),"sort-by":e(v).sortBy.value,"onUpdate:sortBy":t[14]||(t[14]=a=>e(v).sortBy.value=a),page:e(v).page.value,"onUpdate:page":t[15]||(t[15]=a=>e(v).page.value=a),"items-per-page":e(v).itemsPerPage.value,"onUpdate:itemsPerPage":t[16]||(t[16]=a=>e(v).itemsPerPage.value=a),"project-id":o.params.projectId,data:e(v).data.value,loading:e(v).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),s(e(I),{title:"Triggers",icon:"mdi-lightning-bolt",count:e(c).data.value.total},{default:i(()=>[s(e(he),{search:e(c).search.value,"onUpdate:search":t[17]||(t[17]=a=>e(c).search.value=a),"sort-by":e(c).sortBy.value,"onUpdate:sortBy":t[18]||(t[18]=a=>e(c).sortBy.value=a),page:e(c).page.value,"onUpdate:page":t[19]||(t[19]=a=>e(c).page.value=a),"items-per-page":e(c).itemsPerPage.value,"onUpdate:itemsPerPage":t[20]||(t[20]=a=>e(c).itemsPerPage.value=a),"project-id":o.params.projectId,data:e(c).data.value,loading:e(c).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),s(e(I),{title:"Artifacts",icon:"mdi-package-variant",count:e(f).data.value.total},{default:i(()=>[s(e(Ue),{search:e(f).search.value,"onUpdate:search":t[21]||(t[21]=a=>e(f).search.value=a),"sort-by":e(f).sortBy.value,"onUpdate:sortBy":t[22]||(t[22]=a=>e(f).sortBy.value=a),page:e(f).page.value,"onUpdate:page":t[23]||(t[23]=a=>e(f).page.value=a),"items-per-page":e(f).itemsPerPage.value,"onUpdate:itemsPerPage":t[24]||(t[24]=a=>e(f).itemsPerPage.value=a),"project-id":o.params.projectId,data:e(f).data.value,loading:e(f).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),e(r)?(V(),F(e(I),{key:0,title:"Entities",icon:"mdi-database",count:e(r).data.value.total},{default:i(()=>[s(e(we),{search:e(r).search.value,"onUpdate:search":t[25]||(t[25]=a=>e(r).search.value=a),"sort-by":e(r).sortBy.value,"onUpdate:sortBy":t[26]||(t[26]=a=>e(r).sortBy.value=a),page:e(r).page.value,"onUpdate:page":t[27]||(t[27]=a=>e(r).page.value=a),"items-per-page":e(r).itemsPerPage.value,"onUpdate:itemsPerPage":t[28]||(t[28]=a=>e(r).itemsPerPage.value=a),"project-id":o.params.projectId,data:e(r).data.value,loading:e(r).isLoading.value,"fallback-icon-meta":e($),"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","fallback-icon-meta"])]),_:1},8,["count"])):ce("",!0)]),_:1})]),_:1}))}});export{ft as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as u,b as r}from"./
|
|
1
|
+
import{S as u,b as r}from"./DfDsDJD2.js";import"#entry";import{t as f}from"./M3Z1JMP1.js";import{_ as h}from"./D9y446qR.js";import{_ as c}from"./C9khB4Xk.js";import"./DlfNK0cA.js";import{_ as y}from"./CBtqoa0c.js";import{E as P,aG as i,V as B,Y as b,D as s,_ as o,W as m,aO as v}from"./-NXdyIEV.js";const T=P({__name:"TerminalsTable",props:v({projectId:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(a){const n=i(a,"search"),d=i(a,"sortBy"),l=i(a,"page"),p=i(a,"itemsPerPage"),g=[{title:"Status",key:"status",sortable:!1},r.name,{key:"owner",title:"Owner",sortable:!1},r.id,r.createdAt,r.actions];return(M,t)=>(B(),b(s(u),{search:n.value,"onUpdate:search":t[0]||(t[0]=e=>n.value=e),"sort-by":d.value,"onUpdate:sortBy":t[1]||(t[1]=e=>d.value=e),page:l.value,"onUpdate:page":t[2]||(t[2]=e=>l.value=e),"items-per-page":p.value,"onUpdate:itemsPerPage":t[3]||(t[3]=e=>p.value=e),headers:g,data:a.data,loading:a.loading,"hide-header":a.hideHeader,height:a.height},{"item.status":o(({item:e})=>[m(s(h),{status:e.status,"status-map":s(f)},null,8,["status","status-map"])]),"item.owner":o(({item:e})=>[m(s(c),{item:e},null,8,["item"])]),"item.actions":o(({item:e})=>[m(s(y),{"page-name":"settings.terminal-details","page-params":{projectId:a.projectId,terminalId:e.id}},null,8,["page-params"])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","hide-header","height"]))}});export{T as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{D as n,I as d,E as g}from"#entry";import"./DlfNK0cA.js";import{S as l}from"./DXmPWjsX.js";import{_ as c}from"./Ztua2i2Y.js";import{E as u,aP as p,Y as f,_ as P,D as t,V as y,W as _}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./DfDsDJD2.js";import"./CHVFVVjA.js";import"./C9khB4Xk.js";import"./Dz1kPrb2.js";import"./CrAApG3c.js";import"./CJnh15-L.js";import"./CBtqoa0c.js";const A=u({__name:"index",async setup(j){let o,s;const{projectStore:a}=n(),e=d();return a.initializing?([o,s]=p(()=>g(()=>a.initialized).toBe(!0)),await o,s(),a.addLibraryRoot()):([o,s]=p(()=>a.initialize1()),await o,s(),[o,s]=p(()=>a.initialize2()),await o,s()),e.items.load(),(w,i)=>(y(),f(t(l),{title:"Workers",icon:"mdi-progress-wrench",description:"Manage the workers that are processing tasks and operations in your project."},{default:P(({height:m})=>[_(t(c),{search:t(e).items.search,"onUpdate:search":i[0]||(i[0]=r=>t(e).items.search=r),"sort-by":t(e).items.sortBy,"onUpdate:sortBy":i[1]||(i[1]=r=>t(e).items.sortBy=r),page:t(e).items.page,"onUpdate:page":i[2]||(i[2]=r=>t(e).items.page=r),"items-per-page":t(e).items.itemsPerPage,"onUpdate:itemsPerPage":i[3]||(i[3]=r=>t(e).items.itemsPerPage=r),"project-id":t(a).projectId,data:t(e).items.data,loading:t(e).items.isLoading,height:m},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{A as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as h,_,C as ee,I as te,K as ae,B as oe,F as le,G as ie,bt as se,P as re,H as ne,t as de,u as ue,D as ce}from"#entry";import{_ as q,I as ve}from"./DKbLex6i.js";import{S as me}from"./C7Ij7g1p.js";import{E as O,aG as pe,u as ge,aP as D,V as B,J as L,D as e,Y as K,aI as Q,_ as s,$ as k,a0 as H,a1 as N,a2 as P,W as o,a as z,aN as fe,at as x,aa as Y,ab as ye,aQ as Pe,aO as be,r as A,j as J,ah as Se,aR as Ae,aS as Ie,ai as je,aj as Be,aJ as Ue,aK as ke}from"./-NXdyIEV.js";import{_ as we}from"./D5xxahUY.js";import{D as Ce,a as Ve}from"./Bc-UhGEo.js";import{_ as U}from"./DSTHpVUV.js";import{_ as xe}from"./CAGxZJ_q.js";import{_ as Re}from"./aPAh1oAW.js";import{_ as $e}from"./BExqDRwH.js";import{_ as De}from"./DkZkynzL.js";import{_ as Le}from"./DsRcdFOB.js";import{_ as Ne}from"./CVfWNyhe.js";import{_ as Te}from"./k0GHL-8U.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./VQuDbHHR.js";import"./D9y446qR.js";import"./BKZ346WY.js";import"./M3Z1JMP1.js";import"./CNrxBMAX.js";import"./B2Q2xBzH.js";import"./DyhJj7Ha.js";import"./hvsd0Qgg.js";import"./CZyQa1Zc.js";import"./BSawHEJh.js";import"./u9IB9fko.js";const Ee={class:"pa-4"},Ke={class:"binding-form mb-6"},ze={class:"text-right"},Fe={key:0},Me=O({__name:"ProjectServiceAccountRoleBindingsTable",props:be({projectId:{},serviceAccountId:{},readonly:{type:Boolean}},{count:{default:0},countModifiers:{}}),emits:["update:count"],async setup(l){let d,b;const w=pe(l,"count"),{$client:V}=ge(),R=A([]),$=A([]),j=A(null),S=A(!1),I=A(null),T=J(()=>{const r=new Map(R.value.map(i=>[i.roleId,i]));return $.value.filter(i=>r.has(i.id)).map(i=>({...i,binding:r.get(i.id)}))}),F=J(()=>{const r=new Set(R.value.map(i=>i.roleId));return $.value.filter(i=>!r.has(i.id))});async function n(){S.value=!0;try{const r=await V.projectServiceAccountSettings.getRoleBindings.query({projectId:l.projectId,serviceAccountId:l.serviceAccountId}),i=await h(u=>V.projectRoleSettings.query.query({projectId:l.projectId,query:u}));R.value=r,$.value=i,w.value=r.length,I.value=null}catch(r){I.value=r instanceof Error?r.message:"Failed to load role bindings"}finally{S.value=!1}}async function M(){if(j.value){S.value=!0;try{await V.projectServiceAccountSettings.addRoleBinding.mutate({projectId:l.projectId,serviceAccountId:l.serviceAccountId,roleId:j.value}),j.value=null,await n()}catch(r){I.value=r instanceof Error?r.message:"Failed to update role bindings"}finally{S.value=!1}}}async function C(r){S.value=!0;try{await V.projectServiceAccountSettings.removeRoleBinding.mutate({projectId:l.projectId,serviceAccountId:l.serviceAccountId,roleId:r}),await n()}catch(i){I.value=i instanceof Error?i.message:"Failed to update role bindings"}finally{S.value=!1}}return[d,b]=D(()=>n()),await d,b(),(r,i)=>(B(),L("div",Ee,[e(I)?(B(),K(Q,{key:0,type:"error",density:"compact",class:"mb-4"},{default:s(()=>[k(H(e(I)),1)]),_:1})):N("",!0),P("div",Ke,[o(fe,{modelValue:e(j),"onUpdate:modelValue":i[0]||(i[0]=u=>z(j)?j.value=u:null),items:e(F),"item-title":"meta.title","item-value":"id",label:"Role",density:"compact",variant:"outlined","hide-details":"",disabled:l.readonly||e(S)},null,8,["modelValue","items","disabled"]),o(x,{class:"binding-action",color:"primary",disabled:l.readonly||!e(j),loading:e(S),onClick:M},{default:s(()=>[...i[1]||(i[1]=[k(" Add ",-1)])]),_:1},8,["disabled","loading"])]),o(Pe,null,{default:s(()=>[i[3]||(i[3]=P("thead",null,[P("tr",null,[P("th",null,"Role"),P("th",null,"Created"),P("th",{class:"text-right"},"Actions")])],-1)),P("tbody",null,[(B(!0),L(Y,null,ye(e(T),u=>(B(),L("tr",{key:u.id},[P("td",null,H(u.meta.title),1),P("td",null,[o(q,{value:u.binding.createdAt},null,8,["value"])]),P("td",ze,[o(x,{icon:"mdi-delete-outline",variant:"text",size:"small",disabled:l.readonly,onClick:W=>C(u.id)},null,8,["disabled","onClick"])])]))),128)),!e(S)&&e(T).length===0?(B(),L("tr",Fe,[...i[2]||(i[2]=[P("td",{colspan:"3",class:"text-center text-medium-emphasis py-4"},"No roles",-1)])])):N("",!0)])]),_:1})]))}}),qe=_(Me,[["__scopeId","data-v-b5c984d1"]]),We={class:"d-flex ga-2"},yt=O({__name:"[serviceAccountId]",props:{params:{}},async setup(l){let d,b;const{projectStore:w}=ee(),V=te(),R=ae(),$=oe(),j=le(),S=ie(),I=se(),T=re(),F=ne();w.initializing?([d,b]=D(()=>ce(()=>w.initialized).toBe(!0)),await d,b(),w.addLibraryRoot()):([d,b]=D(()=>w.initialize1()),await d,b(),[d,b]=D(()=>w.initialize2()),await d,b());const n=A(([d,b]=D(()=>I.get(l.params.serviceAccountId)),d=await d,b(),d));if(!n.value)throw de({statusCode:404,statusMessage:"Service Account not found"});const M=ue(),C=A(!1),r=A(!1),i=A(!1),u=A(!1);async function W(G){i.value=!0;try{n.value=await I.update(l.params.serviceAccountId,G),C.value=!1}finally{i.value=!1}}async function X(){u.value=!0;try{await I.delete(l.params.serviceAccountId),await M.push({name:"settings.service-accounts",params:{projectId:l.params.projectId}})}finally{u.value=!1}}const Z=[{key:"serviceAccountId",label:"Service Account ID"},{key:"name",label:"Name"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last Updated"}],c=V.forServiceAccount(l.params.serviceAccountId),v=T.forServiceAccount(l.params.serviceAccountId),m=$.forServiceAccount(l.params.serviceAccountId),p=j.forServiceAccount(l.params.serviceAccountId),g=S.forServiceAccount(l.params.serviceAccountId),f=F.forServiceAccount(l.params.serviceAccountId),y=R.forServiceAccount(l.params.serviceAccountId),E=A(0);return c.load(),v.load(),m.load(),p.load(),g.load(),f.load(),y.load(),(G,t)=>(B(),L(Y,null,[e(n)?(B(),K(e(Ve),{key:0},{default:s(()=>[o(me,{meta:e(n).meta,"fallback-icon":"mdi-account-circle",title:e(n).meta.title,description:e(n).meta.description},Ae({_:2},[e(n).systemName?void 0:{name:"actions",fn:s(()=>[P("div",We,[o(x,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:t[0]||(t[0]=a=>C.value=!0)},{default:s(()=>[...t[34]||(t[34]=[k(" Edit ",-1)])]),_:1}),o(x,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:t[1]||(t[1]=a=>r.value=!0)},{default:s(()=>[...t[35]||(t[35]=[k(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),e(n).systemName?(B(),K(Q,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:s(()=>[...t[36]||(t[36]=[k(" This system-managed service account is read-only. ",-1)])]),_:1})):N("",!0),o(e(Ce),{title:"Service Account Details",items:Z},{"item.serviceAccountId":s(()=>[o(e(ve),{value:e(n).id},null,8,["value"])]),"item.createdAt":s(()=>[o(e(q),{value:e(n).createdAt},null,8,["value"])]),"item.updatedAt":s(()=>[o(e(q),{value:e(n).updatedAt},null,8,["value"])]),_:1}),o(Ie,{elevation:0},{default:s(()=>[o(e(U),{title:"Roles",icon:"mdi-shield-account",count:e(E)},{default:s(()=>[o(e(qe),{count:e(E),"onUpdate:count":t[2]||(t[2]=a=>z(E)?E.value=a:null),"project-id":l.params.projectId,"service-account-id":e(n).id,readonly:!!e(n).systemName},null,8,["count","project-id","service-account-id","readonly"])]),_:1},8,["count"]),o(e(U),{title:"API Keys",icon:"mdi-key-variant",count:e(c).data.value.total},{default:s(()=>[o(e(Le),{search:e(c).search.value,"onUpdate:search":t[3]||(t[3]=a=>e(c).search.value=a),"sort-by":e(c).sortBy.value,"onUpdate:sortBy":t[4]||(t[4]=a=>e(c).sortBy.value=a),page:e(c).page.value,"onUpdate:page":t[5]||(t[5]=a=>e(c).page.value=a),"items-per-page":e(c).itemsPerPage.value,"onUpdate:itemsPerPage":t[6]||(t[6]=a=>e(c).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(c).data.value,loading:e(c).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Terminals",icon:"mdi-console",count:e(v).data.value.total},{default:s(()=>[o(e(xe),{search:e(v).search.value,"onUpdate:search":t[7]||(t[7]=a=>e(v).search.value=a),"sort-by":e(v).sortBy.value,"onUpdate:sortBy":t[8]||(t[8]=a=>e(v).sortBy.value=a),page:e(v).page.value,"onUpdate:page":t[9]||(t[9]=a=>e(v).page.value=a),"items-per-page":e(v).itemsPerPage.value,"onUpdate:itemsPerPage":t[10]||(t[10]=a=>e(v).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(v).data.value,loading:e(v).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Pages",icon:"mdi-file-document-outline",count:e(m).data.value.total},{default:s(()=>[o(e($e),{search:e(m).search.value,"onUpdate:search":t[11]||(t[11]=a=>e(m).search.value=a),"sort-by":e(m).sortBy.value,"onUpdate:sortBy":t[12]||(t[12]=a=>e(m).sortBy.value=a),page:e(m).page.value,"onUpdate:page":t[13]||(t[13]=a=>e(m).page.value=a),"items-per-page":e(m).itemsPerPage.value,"onUpdate:itemsPerPage":t[14]||(t[14]=a=>e(m).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(m).data.value,loading:e(m).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Panels",icon:"mdi-view-dashboard-outline",count:e(p).data.value.total},{default:s(()=>[o(e(De),{search:e(p).search.value,"onUpdate:search":t[15]||(t[15]=a=>e(p).search.value=a),"sort-by":e(p).sortBy.value,"onUpdate:sortBy":t[16]||(t[16]=a=>e(p).sortBy.value=a),page:e(p).page.value,"onUpdate:page":t[17]||(t[17]=a=>e(p).page.value=a),"items-per-page":e(p).itemsPerPage.value,"onUpdate:itemsPerPage":t[18]||(t[18]=a=>e(p).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(p).data.value,loading:e(p).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Secrets",icon:"mdi-key-variant",count:e(g).data.value.total},{default:s(()=>[o(e(Re),{search:e(g).search.value,"onUpdate:search":t[19]||(t[19]=a=>e(g).search.value=a),"sort-by":e(g).sortBy.value,"onUpdate:sortBy":t[20]||(t[20]=a=>e(g).sortBy.value=a),page:e(g).page.value,"onUpdate:page":t[21]||(t[21]=a=>e(g).page.value=a),"items-per-page":e(g).itemsPerPage.value,"onUpdate:itemsPerPage":t[22]||(t[22]=a=>e(g).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(g).data.value,loading:e(g).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Workers",icon:"mdi-progress-wrench",count:e(f).data.value.total},{default:s(()=>[o(e(Ne),{search:e(f).search.value,"onUpdate:search":t[23]||(t[23]=a=>e(f).search.value=a),"sort-by":e(f).sortBy.value,"onUpdate:sortBy":t[24]||(t[24]=a=>e(f).sortBy.value=a),page:e(f).page.value,"onUpdate:page":t[25]||(t[25]=a=>e(f).page.value=a),"items-per-page":e(f).itemsPerPage.value,"onUpdate:itemsPerPage":t[26]||(t[26]=a=>e(f).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(f).data.value,loading:e(f).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Artifacts",icon:"mdi-package-variant",count:e(y).data.value.total},{default:s(()=>[o(e(Te),{search:e(y).search.value,"onUpdate:search":t[27]||(t[27]=a=>e(y).search.value=a),"sort-by":e(y).sortBy.value,"onUpdate:sortBy":t[28]||(t[28]=a=>e(y).sortBy.value=a),page:e(y).page.value,"onUpdate:page":t[29]||(t[29]=a=>e(y).page.value=a),"items-per-page":e(y).itemsPerPage.value,"onUpdate:itemsPerPage":t[30]||(t[30]=a=>e(y).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(y).data.value,loading:e(y).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"])]),_:1})]),_:1})):N("",!0),e(n)?(B(),K(e(we),{key:1,visible:e(C),"onUpdate:visible":t[31]||(t[31]=a=>z(C)?C.value=a:null),"service-account":e(n),loading:e(i),onSave:W},null,8,["visible","service-account","loading"])):N("",!0),o(Se,{modelValue:e(r),"onUpdate:modelValue":t[33]||(t[33]=a=>z(r)?r.value=a:null),"max-width":"480"},{default:s(()=>[o(je,{title:"Delete project service account"},{default:s(()=>[o(Be,null,{default:s(()=>[...t[37]||(t[37]=[k(" This permanently deletes the service account and all of its role bindings. ",-1)])]),_:1}),o(Ue,null,{default:s(()=>[o(ke),o(x,{disabled:e(u),onClick:t[32]||(t[32]=a=>r.value=!1)},{default:s(()=>[...t[38]||(t[38]=[k("Cancel",-1)])]),_:1},8,["disabled"]),o(x,{color:"error",loading:e(u),onClick:X},{default:s(()=>[...t[39]||(t[39]=[k("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{yt as default};
|
|
1
|
+
import{t as h,_,D as ee,J as te,L as ae,C as oe,G as le,H as ie,bt as se,Q as re,I as ne,v as de,u as ue,E as ce}from"#entry";import{_ as q,I as ve}from"./CHVFVVjA.js";import{S as me}from"./DlfNK0cA.js";import{E as Q,aG as pe,u as ge,aP as D,V as B,J as L,D as e,Y as z,aI as O,_ as s,$ as k,a0 as G,a1 as N,a2 as P,W as o,a as K,aN as fe,at as x,aa as Y,ab as ye,aQ as Pe,aO as be,r as A,j as H,ah as Se,aR as Ae,aS as Ie,ai as je,aj as Be,aJ as Ue,aK as ke}from"./-NXdyIEV.js";import{_ as we}from"./D5xxahUY.js";import{D as Ce,a as Ve}from"./BvF6CC6t.js";import{_ as U}from"./DSTHpVUV.js";import{_ as xe}from"./CVCvRHBP.js";import{_ as Re}from"./BvcB3_Ox.js";import{_ as $e}from"./zcI5daFe.js";import{_ as De}from"./iHlZS5Nr.js";import{_ as Le}from"./CQ57LN-w.js";import{_ as Ne}from"./Ztua2i2Y.js";import{_ as Te}from"./BQvzkDFt.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./DfDsDJD2.js";import"./M3Z1JMP1.js";import"./C9khB4Xk.js";import"./Dz1kPrb2.js";import"./CrAApG3c.js";import"./CJnh15-L.js";import"./CBtqoa0c.js";import"./iX982afC.js";import"./DjTKfsHU.js";const Ee={class:"pa-4"},ze={class:"binding-form mb-6"},Ke={class:"text-right"},Me={key:0},Fe=Q({__name:"ProjectServiceAccountRoleBindingsTable",props:be({projectId:{},serviceAccountId:{},readonly:{type:Boolean}},{count:{default:0},countModifiers:{}}),emits:["update:count"],async setup(l){let d,b;const w=pe(l,"count"),{$client:V}=ge(),R=A([]),$=A([]),j=A(null),S=A(!1),I=A(null),T=H(()=>{const r=new Map(R.value.map(i=>[i.roleId,i]));return $.value.filter(i=>r.has(i.id)).map(i=>({...i,binding:r.get(i.id)}))}),M=H(()=>{const r=new Set(R.value.map(i=>i.roleId));return $.value.filter(i=>!r.has(i.id))});async function n(){S.value=!0;try{const r=await V.projectServiceAccountSettings.getRoleBindings.query({projectId:l.projectId,serviceAccountId:l.serviceAccountId}),i=await h(u=>V.projectRoleSettings.query.query({projectId:l.projectId,query:u}));R.value=r,$.value=i,w.value=r.length,I.value=null}catch(r){I.value=r instanceof Error?r.message:"Failed to load role bindings"}finally{S.value=!1}}async function F(){if(j.value){S.value=!0;try{await V.projectServiceAccountSettings.addRoleBinding.mutate({projectId:l.projectId,serviceAccountId:l.serviceAccountId,roleId:j.value}),j.value=null,await n()}catch(r){I.value=r instanceof Error?r.message:"Failed to update role bindings"}finally{S.value=!1}}}async function C(r){S.value=!0;try{await V.projectServiceAccountSettings.removeRoleBinding.mutate({projectId:l.projectId,serviceAccountId:l.serviceAccountId,roleId:r}),await n()}catch(i){I.value=i instanceof Error?i.message:"Failed to update role bindings"}finally{S.value=!1}}return[d,b]=D(()=>n()),await d,b(),(r,i)=>(B(),L("div",Ee,[e(I)?(B(),z(O,{key:0,type:"error",density:"compact",class:"mb-4"},{default:s(()=>[k(G(e(I)),1)]),_:1})):N("",!0),P("div",ze,[o(fe,{modelValue:e(j),"onUpdate:modelValue":i[0]||(i[0]=u=>K(j)?j.value=u:null),items:e(M),"item-title":"meta.title","item-value":"id",label:"Role",density:"compact",variant:"outlined","hide-details":"",disabled:l.readonly||e(S)},null,8,["modelValue","items","disabled"]),o(x,{class:"binding-action",color:"primary",disabled:l.readonly||!e(j),loading:e(S),onClick:F},{default:s(()=>[...i[1]||(i[1]=[k(" Add ",-1)])]),_:1},8,["disabled","loading"])]),o(Pe,null,{default:s(()=>[i[3]||(i[3]=P("thead",null,[P("tr",null,[P("th",null,"Role"),P("th",null,"Created"),P("th",{class:"text-right"},"Actions")])],-1)),P("tbody",null,[(B(!0),L(Y,null,ye(e(T),u=>(B(),L("tr",{key:u.id},[P("td",null,G(u.meta.title),1),P("td",null,[o(q,{value:u.binding.createdAt},null,8,["value"])]),P("td",Ke,[o(x,{icon:"mdi-delete-outline",variant:"text",size:"small",disabled:l.readonly,onClick:J=>C(u.id)},null,8,["disabled","onClick"])])]))),128)),!e(S)&&e(T).length===0?(B(),L("tr",Me,[...i[2]||(i[2]=[P("td",{colspan:"3",class:"text-center text-medium-emphasis py-4"},"No roles",-1)])])):N("",!0)])]),_:1})]))}}),qe=_(Fe,[["__scopeId","data-v-b5c984d1"]]),Je={class:"d-flex ga-2"},yt=Q({__name:"[serviceAccountId]",props:{params:{}},async setup(l){let d,b;const{projectStore:w}=ee(),V=te(),R=ae(),$=oe(),j=le(),S=ie(),I=se(),T=re(),M=ne();w.initializing?([d,b]=D(()=>ce(()=>w.initialized).toBe(!0)),await d,b(),w.addLibraryRoot()):([d,b]=D(()=>w.initialize1()),await d,b(),[d,b]=D(()=>w.initialize2()),await d,b());const n=A(([d,b]=D(()=>I.get(l.params.serviceAccountId)),d=await d,b(),d));if(!n.value)throw de({statusCode:404,statusMessage:"Service Account not found"});const F=ue(),C=A(!1),r=A(!1),i=A(!1),u=A(!1);async function J(W){i.value=!0;try{n.value=await I.update(l.params.serviceAccountId,W),C.value=!1}finally{i.value=!1}}async function X(){u.value=!0;try{await I.delete(l.params.serviceAccountId),await F.push({name:"settings.service-accounts",params:{projectId:l.params.projectId}})}finally{u.value=!1}}const Z=[{key:"serviceAccountId",label:"Service Account ID"},{key:"name",label:"Name"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last Updated"}],c=V.forServiceAccount(l.params.serviceAccountId),v=T.forServiceAccount(l.params.serviceAccountId),m=$.forServiceAccount(l.params.serviceAccountId),p=j.forServiceAccount(l.params.serviceAccountId),g=S.forServiceAccount(l.params.serviceAccountId),f=M.forServiceAccount(l.params.serviceAccountId),y=R.forServiceAccount(l.params.serviceAccountId),E=A(0);return c.load(),v.load(),m.load(),p.load(),g.load(),f.load(),y.load(),(W,t)=>(B(),L(Y,null,[e(n)?(B(),z(e(Ve),{key:0},{default:s(()=>[o(me,{meta:e(n).meta,"fallback-icon":"mdi-account-circle",title:e(n).meta.title,description:e(n).meta.description},Ae({_:2},[e(n).systemName?void 0:{name:"actions",fn:s(()=>[P("div",Je,[o(x,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:t[0]||(t[0]=a=>C.value=!0)},{default:s(()=>[...t[34]||(t[34]=[k(" Edit ",-1)])]),_:1}),o(x,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:t[1]||(t[1]=a=>r.value=!0)},{default:s(()=>[...t[35]||(t[35]=[k(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),e(n).systemName?(B(),z(O,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:s(()=>[...t[36]||(t[36]=[k(" This system-managed service account is read-only. ",-1)])]),_:1})):N("",!0),o(e(Ce),{title:"Service Account Details",items:Z},{"item.serviceAccountId":s(()=>[o(e(ve),{value:e(n).id},null,8,["value"])]),"item.createdAt":s(()=>[o(e(q),{value:e(n).createdAt},null,8,["value"])]),"item.updatedAt":s(()=>[o(e(q),{value:e(n).updatedAt},null,8,["value"])]),_:1}),o(Ie,{elevation:0},{default:s(()=>[o(e(U),{title:"Roles",icon:"mdi-shield-account",count:e(E)},{default:s(()=>[o(e(qe),{count:e(E),"onUpdate:count":t[2]||(t[2]=a=>K(E)?E.value=a:null),"project-id":l.params.projectId,"service-account-id":e(n).id,readonly:!!e(n).systemName},null,8,["count","project-id","service-account-id","readonly"])]),_:1},8,["count"]),o(e(U),{title:"API Keys",icon:"mdi-key-variant",count:e(c).data.value.total},{default:s(()=>[o(e(Le),{search:e(c).search.value,"onUpdate:search":t[3]||(t[3]=a=>e(c).search.value=a),"sort-by":e(c).sortBy.value,"onUpdate:sortBy":t[4]||(t[4]=a=>e(c).sortBy.value=a),page:e(c).page.value,"onUpdate:page":t[5]||(t[5]=a=>e(c).page.value=a),"items-per-page":e(c).itemsPerPage.value,"onUpdate:itemsPerPage":t[6]||(t[6]=a=>e(c).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(c).data.value,loading:e(c).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Terminals",icon:"mdi-console",count:e(v).data.value.total},{default:s(()=>[o(e(xe),{search:e(v).search.value,"onUpdate:search":t[7]||(t[7]=a=>e(v).search.value=a),"sort-by":e(v).sortBy.value,"onUpdate:sortBy":t[8]||(t[8]=a=>e(v).sortBy.value=a),page:e(v).page.value,"onUpdate:page":t[9]||(t[9]=a=>e(v).page.value=a),"items-per-page":e(v).itemsPerPage.value,"onUpdate:itemsPerPage":t[10]||(t[10]=a=>e(v).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(v).data.value,loading:e(v).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Pages",icon:"mdi-file-document-outline",count:e(m).data.value.total},{default:s(()=>[o(e($e),{search:e(m).search.value,"onUpdate:search":t[11]||(t[11]=a=>e(m).search.value=a),"sort-by":e(m).sortBy.value,"onUpdate:sortBy":t[12]||(t[12]=a=>e(m).sortBy.value=a),page:e(m).page.value,"onUpdate:page":t[13]||(t[13]=a=>e(m).page.value=a),"items-per-page":e(m).itemsPerPage.value,"onUpdate:itemsPerPage":t[14]||(t[14]=a=>e(m).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(m).data.value,loading:e(m).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Panels",icon:"mdi-view-dashboard-outline",count:e(p).data.value.total},{default:s(()=>[o(e(De),{search:e(p).search.value,"onUpdate:search":t[15]||(t[15]=a=>e(p).search.value=a),"sort-by":e(p).sortBy.value,"onUpdate:sortBy":t[16]||(t[16]=a=>e(p).sortBy.value=a),page:e(p).page.value,"onUpdate:page":t[17]||(t[17]=a=>e(p).page.value=a),"items-per-page":e(p).itemsPerPage.value,"onUpdate:itemsPerPage":t[18]||(t[18]=a=>e(p).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(p).data.value,loading:e(p).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Secrets",icon:"mdi-key-variant",count:e(g).data.value.total},{default:s(()=>[o(e(Re),{search:e(g).search.value,"onUpdate:search":t[19]||(t[19]=a=>e(g).search.value=a),"sort-by":e(g).sortBy.value,"onUpdate:sortBy":t[20]||(t[20]=a=>e(g).sortBy.value=a),page:e(g).page.value,"onUpdate:page":t[21]||(t[21]=a=>e(g).page.value=a),"items-per-page":e(g).itemsPerPage.value,"onUpdate:itemsPerPage":t[22]||(t[22]=a=>e(g).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(g).data.value,loading:e(g).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Workers",icon:"mdi-progress-wrench",count:e(f).data.value.total},{default:s(()=>[o(e(Ne),{search:e(f).search.value,"onUpdate:search":t[23]||(t[23]=a=>e(f).search.value=a),"sort-by":e(f).sortBy.value,"onUpdate:sortBy":t[24]||(t[24]=a=>e(f).sortBy.value=a),page:e(f).page.value,"onUpdate:page":t[25]||(t[25]=a=>e(f).page.value=a),"items-per-page":e(f).itemsPerPage.value,"onUpdate:itemsPerPage":t[26]||(t[26]=a=>e(f).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(f).data.value,loading:e(f).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"]),o(e(U),{title:"Artifacts",icon:"mdi-package-variant",count:e(y).data.value.total},{default:s(()=>[o(e(Te),{search:e(y).search.value,"onUpdate:search":t[27]||(t[27]=a=>e(y).search.value=a),"sort-by":e(y).sortBy.value,"onUpdate:sortBy":t[28]||(t[28]=a=>e(y).sortBy.value=a),page:e(y).page.value,"onUpdate:page":t[29]||(t[29]=a=>e(y).page.value=a),"items-per-page":e(y).itemsPerPage.value,"onUpdate:itemsPerPage":t[30]||(t[30]=a=>e(y).itemsPerPage.value=a),"project-id":l.params.projectId,data:e(y).data.value,loading:e(y).isLoading.value,"hide-header":""},null,8,["search","sort-by","page","items-per-page","project-id","data","loading"])]),_:1},8,["count"])]),_:1})]),_:1})):N("",!0),e(n)?(B(),z(e(we),{key:1,visible:e(C),"onUpdate:visible":t[31]||(t[31]=a=>K(C)?C.value=a:null),"service-account":e(n),loading:e(i),onSave:J},null,8,["visible","service-account","loading"])):N("",!0),o(Se,{modelValue:e(r),"onUpdate:modelValue":t[33]||(t[33]=a=>K(r)?r.value=a:null),"max-width":"480"},{default:s(()=>[o(je,{title:"Delete project service account"},{default:s(()=>[o(Be,null,{default:s(()=>[...t[37]||(t[37]=[k(" This permanently deletes the service account and all of its role bindings. ",-1)])]),_:1}),o(Ue,null,{default:s(()=>[o(ke),o(x,{disabled:e(u),onClick:t[32]||(t[32]=a=>r.value=!1)},{default:s(()=>[...t[38]||(t[38]=[k("Cancel",-1)])]),_:1},8,["disabled"]),o(x,{color:"error",loading:e(u),onClick:X},{default:s(()=>[...t[39]||(t[39]=[k("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{yt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{t as O,_ as G,u as H,v as K}from"#entry";import{_ as D,I as Q}from"./CHVFVVjA.js";import{S as W}from"./DlfNK0cA.js";import{u as Y,_ as X}from"./CAqURRGH.js";import{E as N,aG as M,u as F,aP as P,V as f,J as S,D as e,Y as $,aI as E,_ as i,$ as A,a0 as h,a1 as _,a2 as s,W as n,a as R,aN as q,at as w,aa as T,ab as L,aQ as z,aO as J,r as v,j as U,ao as Z,d as ee,ah as te,aR as ae,aS as ne,ai as le,aj as ie,aJ as oe,aK as se}from"./-NXdyIEV.js";import{D as de,a as ue}from"./BvF6CC6t.js";import{_ as j}from"./DSTHpVUV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";const ce={class:"pa-4"},re={class:"binding-form mb-6"},me={class:"text-right"},ve={key:0},fe=N({__name:"BackendServiceAccountRoleBindingsTable",props:J({serviceAccountId:{},readonly:{type:Boolean}},{count:{default:0},countModifiers:{}}),emits:["update:count"],async setup(m){let k,B;const C=M(m,"count"),{$client:I}=F(),y=v([]),l=v([]),d=v(null),u=v(!1),p=v(null),V=U(()=>{const c=new Map(y.value.map(a=>[a.roleId,a]));return l.value.filter(a=>c.has(a.id)).map(a=>({...a,binding:c.get(a.id)}))}),o=U(()=>{const c=new Set(y.value.map(a=>a.roleId));return l.value.filter(a=>!c.has(a.id))});async function r(){u.value=!0;try{const c=await I.backendServiceAccountSettings.getRoleBindings.query({serviceAccountId:m.serviceAccountId}),a=await O(t=>I.backendRoleSettings.query.query(t));y.value=c,C.value=c.length,l.value=a,p.value=null}catch(c){p.value=c instanceof Error?c.message:"Failed to load role bindings"}finally{u.value=!1}}async function g(){if(d.value){u.value=!0;try{await I.backendServiceAccountSettings.addRoleBinding.mutate({roleId:d.value,serviceAccountId:m.serviceAccountId}),d.value=null,await r()}catch(c){p.value=c instanceof Error?c.message:"Failed to update role bindings"}finally{u.value=!1}}}async function x(c){u.value=!0;try{await I.backendServiceAccountSettings.removeRoleBinding.mutate({roleId:c,serviceAccountId:m.serviceAccountId}),await r()}catch(a){p.value=a instanceof Error?a.message:"Failed to update role bindings"}finally{u.value=!1}}return[k,B]=P(()=>r()),await k,B(),(c,a)=>(f(),S("div",ce,[e(p)?(f(),$(E,{key:0,type:"error",density:"compact",class:"mb-4"},{default:i(()=>[A(h(e(p)),1)]),_:1})):_("",!0),s("div",re,[n(q,{modelValue:e(d),"onUpdate:modelValue":a[0]||(a[0]=t=>R(d)?d.value=t:null),items:e(o),"item-title":"meta.title","item-value":"id",label:"Role",density:"compact",variant:"outlined","hide-details":"",disabled:m.readonly||e(u)},null,8,["modelValue","items","disabled"]),n(w,{class:"binding-action",color:"primary",disabled:m.readonly||!e(d),loading:e(u),onClick:g},{default:i(()=>[...a[1]||(a[1]=[A(" Add ",-1)])]),_:1},8,["disabled","loading"])]),n(z,null,{default:i(()=>[a[3]||(a[3]=s("thead",null,[s("tr",null,[s("th",null,"Role"),s("th",null,"Created"),s("th",{class:"text-right"},"Actions")])],-1)),s("tbody",null,[(f(!0),S(T,null,L(e(V),t=>(f(),S("tr",{key:t.id},[s("td",null,h(t.meta.title),1),s("td",null,[n(D,{value:t.binding.createdAt},null,8,["value"])]),s("td",me,[n(w,{icon:"mdi-delete-outline",variant:"text",size:"small",disabled:m.readonly,onClick:b=>x(t.id)},null,8,["disabled","onClick"])])]))),128)),!e(u)&&e(V).length===0?(f(),S("tr",ve,[...a[2]||(a[2]=[s("td",{colspan:"3",class:"text-center text-medium-emphasis py-4"},"No roles",-1)])])):_("",!0)])]),_:1})]))}}),ge=G(fe,[["__scopeId","data-v-3c9cd839"]]),ye={class:"pa-4"},pe={key:0},be=N({__name:"BackendProjectBindingsTable",props:J({serviceAccountId:{},readonly:{type:Boolean}},{count:{default:0},countModifiers:{}}),emits:["update:count"],async setup(m){let k,B;const C=M(m,"count"),{$client:I}=F(),y=v([]),l=ee(new Set),d=v(null);async function u(){try{y.value=await I.backendServiceAccountSettings.getProjectBindingOptions.query({serviceAccountId:m.serviceAccountId}),C.value=y.value.filter(o=>o.binding).length,d.value=null}catch(o){d.value=o instanceof Error?o.message:"Failed to load project bindings"}}function p(o){return o.serviceAccounts.length>0||!o.binding?o.serviceAccounts:[{id:o.binding.projectServiceAccountId,meta:{title:o.binding.projectServiceAccountId},systemName:null}]}async function V(o,r){l.add(o);try{await I.backendServiceAccountSettings.setProjectBinding.mutate({serviceAccountId:m.serviceAccountId,projectId:o,projectServiceAccountId:r}),await u()}finally{l.delete(o)}}return[k,B]=P(()=>u()),await k,B(),(o,r)=>(f(),S("div",ye,[e(d)?(f(),$(E,{key:0,type:"error",density:"compact",class:"mb-4"},{default:i(()=>[A(h(e(d)),1)]),_:1})):_("",!0),n(z,null,{default:i(()=>[r[1]||(r[1]=s("thead",null,[s("tr",null,[s("th",null,"Project"),s("th",null,"Status"),s("th",null,"Project service account")])],-1)),s("tbody",null,[(f(!0),S(T,null,L(e(y),g=>(f(),S("tr",{key:g.projectId},[s("td",null,h(g.projectMeta.title),1),s("td",null,[n(Z,{color:g.unlocked?"success":"warning",size:"small"},{default:i(()=>[A(h(g.unlocked?"Unlocked":"Locked"),1)]),_:2},1032,["color"])]),s("td",null,[n(q,{"model-value":g.binding?.projectServiceAccountId??null,items:p(g),"item-title":"meta.title","item-value":"id",density:"compact",variant:"outlined","hide-details":"",clearable:"",disabled:m.readonly||!g.unlocked,loading:e(l).has(g.projectId),"onUpdate:modelValue":x=>V(g.projectId,x)},null,8,["model-value","items","disabled","loading","onUpdate:modelValue"])])]))),128)),e(y).length===0?(f(),S("tr",pe,[...r[0]||(r[0]=[s("td",{colspan:"3",class:"text-center text-medium-emphasis py-4"},"No projects",-1)])])):_("",!0)])]),_:1})]))}}),ke={class:"d-flex ga-2"},he=N({__name:"[serviceAccountId]",props:{params:{}},async setup(m){let k,B;const C=Y(),I=H(),y=m.params.serviceAccountId,l=v(([k,B]=P(()=>C.get(y)),k=await k,B(),k)),d=v(!1),u=v(!1),p=v(!1),V=v(!1),o=v(0),r=v(0);if(!l.value)throw K({statusCode:404,statusMessage:"Backend service account not found"});const g=[{key:"id",label:"Service account ID"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last updated"}];async function x(a){p.value=!0;try{l.value=await C.update(y,a),d.value=!1}finally{p.value=!1}}async function c(){V.value=!0;try{await C.delete(y),await I.push({name:"settings.backend-service-accounts"})}finally{V.value=!1}}return(a,t)=>(f(),S(T,null,[e(l)?(f(),$(e(ue),{key:0},{default:i(()=>[n(e(W),{meta:e(l).meta,"fallback-icon":"mdi-account-key",title:e(l).meta.title,description:e(l).meta.description},ae({_:2},[e(l).systemName?void 0:{name:"actions",fn:i(()=>[s("div",ke,[n(w,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:t[0]||(t[0]=b=>d.value=!0)},{default:i(()=>[...t[7]||(t[7]=[A(" Edit ",-1)])]),_:1}),n(w,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:t[1]||(t[1]=b=>u.value=!0)},{default:i(()=>[...t[8]||(t[8]=[A(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),e(l).systemName?(f(),$(E,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:i(()=>[...t[9]||(t[9]=[A(" This system-managed service account is read-only. ",-1)])]),_:1})):_("",!0),n(e(de),{title:"Backend Service Account Details",items:g},{"item.id":i(()=>[n(e(Q),{value:e(l).id},null,8,["value"])]),"item.createdAt":i(()=>[n(e(D),{value:e(l).createdAt},null,8,["value"])]),"item.updatedAt":i(()=>[n(e(D),{value:e(l).updatedAt},null,8,["value"])]),_:1}),n(ne,{elevation:0},{default:i(()=>[n(e(j),{title:"Roles",icon:"mdi-shield-account",count:e(o)},{default:i(()=>[n(e(ge),{count:e(o),"onUpdate:count":t[2]||(t[2]=b=>R(o)?o.value=b:null),"service-account-id":e(l).id,readonly:!!e(l).systemName},null,8,["count","service-account-id","readonly"])]),_:1},8,["count"]),n(e(j),{title:"Projects",icon:"mdi-folder-key",count:e(r)},{default:i(()=>[n(e(be),{count:e(r),"onUpdate:count":t[3]||(t[3]=b=>R(r)?r.value=b:null),"service-account-id":e(l).id,readonly:!!e(l).systemName},null,8,["count","service-account-id","readonly"])]),_:1},8,["count"])]),_:1})]),_:1})):_("",!0),e(l)?(f(),$(e(X),{key:1,visible:e(d),"onUpdate:visible":t[4]||(t[4]=b=>R(d)?d.value=b:null),"service-account":e(l),loading:e(p),onSave:x},null,8,["visible","service-account","loading"])):_("",!0),n(te,{modelValue:e(u),"onUpdate:modelValue":t[6]||(t[6]=b=>R(u)?u.value=b:null),"max-width":"480"},{default:i(()=>[n(le,{title:"Delete backend service account"},{default:i(()=>[n(ie,null,{default:i(()=>[...t[10]||(t[10]=[A(" This permanently deletes the service account and all of its role and project bindings. ",-1)])]),_:1}),n(oe,null,{default:i(()=>[n(se),n(w,{variant:"text",onClick:t[5]||(t[5]=b=>u.value=!1)},{default:i(()=>[...t[11]||(t[11]=[A("Cancel",-1)])]),_:1}),n(w,{color:"error",loading:e(V),onClick:c},{default:i(()=>[...t[12]||(t[12]=[A("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{he as default};
|