orcaq 1.1.8 → 1.1.10
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/{Cqk0ImDE.js → -WSV_TU1.js} +1 -1
- package/.output/public/_nuxt/0U50G6dt.js +1 -0
- package/.output/public/_nuxt/{mcYTISF7.js → 0yW2dL-K.js} +1 -1
- package/.output/public/_nuxt/{CXQ2zrsE.js → 1V1SIDI5.js} +1 -1
- package/.output/public/_nuxt/{Bu6ybm3Z.js → 24W1ftax.js} +1 -1
- package/.output/public/_nuxt/339BCoyy.js +1 -0
- package/.output/public/_nuxt/{XjywAggc.js → 9PqzQzi0.js} +1 -1
- package/.output/public/_nuxt/{DG9CsZCx.js → 9Skr9Ccw.js} +1 -1
- package/.output/public/_nuxt/{D8egDyEO.js → 9eKRx5AF.js} +1 -1
- package/.output/public/_nuxt/{FmHWbXNk.js → 9vfu7pKH.js} +1 -1
- package/.output/public/_nuxt/B79M7zD1.js +1 -0
- package/.output/public/_nuxt/{BsCPQnkm.js → BDw-ivE-.js} +1 -1
- package/.output/public/_nuxt/{DgxTwFGe.js → BFOjhnLA.js} +2 -2
- package/.output/public/_nuxt/{BWTTrGtY.js → BFYNB1ok.js} +2 -2
- package/.output/public/_nuxt/BFlFdtcI.js +12 -0
- package/.output/public/_nuxt/{BXMKgn-J.js → BIBdWmGh.js} +1 -1
- package/.output/public/_nuxt/{_uLivI44.js → BIDVPCgr.js} +1 -1
- package/.output/public/_nuxt/{BuTCm7Bo.js → BJMwGHo7.js} +1 -1
- package/.output/public/_nuxt/{BHr4_sbs.js → BKh6DDUh.js} +1 -1
- package/.output/public/_nuxt/{5450EsIE.js → BLDVl9Iw.js} +1 -1
- package/.output/public/_nuxt/{Cd_fVKDw.js → BNgGNFV2.js} +1 -1
- package/.output/public/_nuxt/BP-G5cXp.js +1 -0
- package/.output/public/_nuxt/{DkX74xDd.js → BS966b0P.js} +1 -1
- package/.output/public/_nuxt/{BQm1mt0O.js → B_Oy26qU.js} +1 -1
- package/.output/public/_nuxt/Bdou58NY.js +1 -0
- package/.output/public/_nuxt/Bg0K-n53.js +18 -0
- package/.output/public/_nuxt/{BO3FEgXG.js → BjfaOtB-.js} +1 -1
- package/.output/public/_nuxt/{BalNYDR1.js → BlngscFe.js} +1 -1
- package/.output/public/_nuxt/{DHXwq7wT.js → BsXv3P9A.js} +1 -1
- package/.output/public/_nuxt/{C-e53AuW.js → Buh85F8i.js} +1 -1
- package/.output/public/_nuxt/{CU5cwnUW.js → Bvi2huT8.js} +1 -1
- package/.output/public/_nuxt/{LxqkguPP.js → BxlUlYz1.js} +1 -1
- package/.output/public/_nuxt/ByJGqBjE.js +1 -0
- package/.output/public/_nuxt/{DCewvWOu.js → C-M7J4rh.js} +1 -1
- package/.output/public/_nuxt/{D_kY6P5P.js → C04-ICJx.js} +1 -1
- package/.output/public/_nuxt/{f6XRRKUb.js → C2Czrs1u.js} +1 -1
- package/.output/public/_nuxt/{CuXTA7ZW.js → C5Feel6b.js} +1 -1
- package/.output/public/_nuxt/CAVSZeVY.js +1 -0
- package/.output/public/_nuxt/{7iCr9_qw.js → CAcViJl9.js} +3 -3
- package/.output/public/_nuxt/CBge6eLY.js +1 -0
- package/.output/public/_nuxt/{BK-6CJ0A.js → CC8wYgAN.js} +1 -1
- package/.output/public/_nuxt/{WGDY9i_Q.js → CEIpXOz0.js} +1 -1
- package/.output/public/_nuxt/CI85gLx4.js +1 -0
- package/.output/public/_nuxt/{Dpkaavgs.js → CJeCcjmd.js} +1 -1
- package/.output/public/_nuxt/{CMDq7o88.js → CJuYfiL1.js} +1 -1
- package/.output/public/_nuxt/CNErkSjF.js +1 -0
- package/.output/public/_nuxt/COII6plA.js +31 -0
- package/.output/public/_nuxt/{R04uZjs6.js → CRCn6mdA.js} +1 -1
- package/.output/public/_nuxt/{tc7vkD0J.js → CUtdecax.js} +2 -2
- package/.output/public/_nuxt/{Dtry_3Qa.js → CYm7TuhP.js} +1 -1
- package/.output/public/_nuxt/{CMnjMfEQ.js → CbkolJXg.js} +1 -1
- package/.output/public/_nuxt/{CMI-3q_e.js → CeA2-eDW.js} +1 -1
- package/.output/public/_nuxt/CgY96xS_.js +1 -0
- package/.output/public/_nuxt/{JxgekUqn.js → Ch9kUYU-.js} +1 -1
- package/.output/public/_nuxt/{CCC5u9Ni.js → Ch_iEFHi.js} +1 -1
- package/.output/public/_nuxt/{DZ4xLzJg.js → Co6sZiuo.js} +1 -1
- package/.output/public/_nuxt/Cu7zvuYQ.js +1 -0
- package/.output/public/_nuxt/CwcaMelw.js +1 -0
- package/.output/public/_nuxt/CxFAImHj.js +1 -0
- package/.output/public/_nuxt/{jtwYTq7X.js → D-yya4MN.js} +32 -32
- package/.output/public/_nuxt/{D4DMGxvZ.js → D0NZRXnm.js} +1 -1
- package/.output/public/_nuxt/{vP25tZUh.js → D6XDbGbI.js} +1 -1
- package/.output/public/_nuxt/{BNh4NY7v.js → D8JEzGOU.js} +1 -1
- package/.output/public/_nuxt/{C874itvn.js → D8wbEppA.js} +1 -1
- package/.output/public/_nuxt/D9h-2lVu.js +1 -0
- package/.output/public/_nuxt/{D5Oboajo.js → DANeHzIE.js} +1 -1
- package/.output/public/_nuxt/{CyKRjZZo.js → DBku6oAz.js} +1 -1
- package/.output/public/_nuxt/{DJXrgohw.js → DDXEeq1n.js} +2 -2
- package/.output/public/_nuxt/DESxUB7o.js +1 -0
- package/.output/public/_nuxt/{CAjVwGyz.js → DHG-KJyJ.js} +1 -1
- package/.output/public/_nuxt/DHXbNYui.js +1 -0
- package/.output/public/_nuxt/{Dopm1f4X.js → DI0LPDTd.js} +1 -1
- package/.output/public/_nuxt/{BmfnP4qD.js → DKSZP8GP.js} +1 -1
- package/.output/public/_nuxt/DL1qmlP8.js +1 -0
- package/.output/public/_nuxt/{BMVgfiQu.js → DN4-koTG.js} +1 -1
- package/.output/public/_nuxt/{BRzWRTTF.js → DO1jmufl.js} +1 -1
- package/.output/public/_nuxt/{DpsqSAMo.js → DOuNj3Jn.js} +1 -1
- package/.output/public/_nuxt/DPUO8R7l.js +1 -0
- package/.output/public/_nuxt/{C0jXhwNq.js → DahDvheq.js} +1 -1
- package/.output/public/_nuxt/{BRCvv3op.js → DbHH7dzg.js} +1 -1
- package/.output/public/_nuxt/{C6teO48Y.js → DbehhcO7.js} +76 -76
- package/.output/public/_nuxt/{CQFANjzf.js → DeTqfKUd.js} +1 -1
- package/.output/public/_nuxt/{B6N_D8QI.js → Df85byjM.js} +1 -1
- package/.output/public/_nuxt/{B0gkARnK.js → DizXDCtS.js} +1 -1
- package/.output/public/_nuxt/{WZQ8mcv9.js → DjKlFOO8.js} +1 -1
- package/.output/public/_nuxt/{CCCJ2fw7.js → DjLd7E2v.js} +1 -1
- package/.output/public/_nuxt/{DXVrM3CN.js → DnBjpGBx.js} +1 -1
- package/.output/public/_nuxt/DnQ4Mwo_.js +1 -0
- package/.output/public/_nuxt/{Cw1HIv3s.js → DqYakCiF.js} +1 -1
- package/.output/public/_nuxt/{DBSV6YXN.js → DqunUhPG.js} +1 -1
- package/.output/public/_nuxt/{CFi6G8Aj.js → Dr1ZFb1n.js} +2 -2
- package/.output/public/_nuxt/Dsis422h.js +1 -0
- package/.output/public/_nuxt/{DwPmcz47.js → Du_4PNZI.js} +1 -1
- package/.output/public/_nuxt/{7H5y5euK.js → DvTZ16yM.js} +1 -1
- package/.output/public/_nuxt/{CyEOtFwE.js → Dvt9REJL.js} +1 -1
- package/.output/public/_nuxt/{DQRyK9Io.js → DxMpy-ot.js} +1 -1
- package/.output/public/_nuxt/{BRWis86L.js → DyLnyCs4.js} +1 -1
- package/.output/public/_nuxt/{DmnufEYq.js → FakvzamF.js} +1 -1
- package/.output/public/_nuxt/LcPL138_.js +1 -0
- package/.output/public/_nuxt/{CXbrqQhC.js → P7T0pdFZ.js} +1 -1
- package/.output/public/_nuxt/{LU_a7qLd.js → Rhi-lAfN.js} +1 -1
- package/.output/public/_nuxt/S7ftI9sn.js +1 -0
- package/.output/public/_nuxt/T01BrTsW.js +1 -0
- package/.output/public/_nuxt/WqpfmT0s.js +1 -0
- package/.output/public/_nuxt/XhSVj1eQ.js +16 -0
- package/.output/public/_nuxt/{vEHvfalB.js → _fXjN5Pd.js} +1 -1
- package/.output/public/_nuxt/agpUpIJe.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/39c2c89f-bb28-470e-b95a-b7776149dc9f.json +1 -0
- package/.output/public/_nuxt/{CvbYm0uB.js → dDyWVWO8.js} +1 -1
- package/.output/public/_nuxt/entry.BeX6Jkel.css +1 -0
- package/.output/public/_nuxt/{DrkGD_bQ.js → f6qCSD-K.js} +1 -1
- package/.output/public/_nuxt/{zndqWf9s.js → goG5gpyv.js} +1 -1
- package/.output/public/_nuxt/{soHTUlpn.js → hbGkF-4Z.js} +1 -1
- package/.output/public/_nuxt/{CKlMKmo6.js → jDSo3fNb.js} +1 -1
- package/.output/public/_nuxt/{BzNEuLKx.js → k4d17TZz.js} +1 -1
- package/.output/public/_nuxt/m4Dxzyfa.js +2 -0
- package/.output/public/_nuxt/{BJvJ0Hlu.js → ndyknmtb.js} +4 -4
- package/.output/public/_nuxt/{C6K-C4_d.js → vIV0z0PD.js} +1 -1
- package/.output/public/_nuxt/{BzqjH2-H.js → wTs8ybMd.js} +1 -1
- package/.output/public/_nuxt/{BYaoWfSN.js → ymlmmOzU.js} +1 -1
- package/.output/server/chunks/_/tables.factory.mjs +133 -43
- package/.output/server/chunks/_/tables.factory.mjs.map +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +837 -788
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +697 -669
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/-7uW7YTy.js +0 -1
- package/.output/public/_nuxt/6mVUr42b.js +0 -1
- package/.output/public/_nuxt/B21nC2NZ.js +0 -1
- package/.output/public/_nuxt/B232GDut.js +0 -2
- package/.output/public/_nuxt/B7C8fo37.js +0 -1
- package/.output/public/_nuxt/BC82eJHt.js +0 -1
- package/.output/public/_nuxt/Bn6_QGSK.js +0 -1
- package/.output/public/_nuxt/BuzCyLCh.js +0 -1
- package/.output/public/_nuxt/BzNNFvTW.js +0 -1
- package/.output/public/_nuxt/C8ZJ2pm_.js +0 -1
- package/.output/public/_nuxt/CA3O4M9L.js +0 -1
- package/.output/public/_nuxt/CZXyfpHW.js +0 -1
- package/.output/public/_nuxt/CZgTP5wX.js +0 -1
- package/.output/public/_nuxt/CeXnSKvd.js +0 -1
- package/.output/public/_nuxt/Chw5tFzx.js +0 -1
- package/.output/public/_nuxt/CkLSGVwV.js +0 -1
- package/.output/public/_nuxt/Cv9v5fHN.js +0 -1
- package/.output/public/_nuxt/D5GonnbJ.js +0 -1
- package/.output/public/_nuxt/DH2V7e8U.js +0 -1
- package/.output/public/_nuxt/DZIoL4RO.js +0 -1
- package/.output/public/_nuxt/DyjsVMbv.js +0 -1
- package/.output/public/_nuxt/KoGK2wLb.js +0 -1
- package/.output/public/_nuxt/Q8x88Gcd.js +0 -1
- package/.output/public/_nuxt/So0hX8V0.js +0 -31
- package/.output/public/_nuxt/builds/meta/30582efd-125a-4f88-bd89-20a7b2ba8697.json +0 -1
- package/.output/public/_nuxt/eQskTKIU.js +0 -1
- package/.output/public/_nuxt/ecWNT6PZ.js +0 -1
- package/.output/public/_nuxt/entry.BcHy7sxf.css +0 -1
- package/.output/public/_nuxt/mcfKrWU-.js +0 -1
package/.output/nitro.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as _,a0 as y,
|
|
1
|
+
import{d as _,a0 as y,q as c,o as f,w as n,E as b,a1 as C,a2 as D,u as e,a3 as N,a4 as q,a5 as M,i as p,s as $,p as z,bg as k,a as r,b8 as I,ae as R,b9 as H,ba as O,n as S,b as T,f as v,_ as F,t as g,bb as U,bc as W,bd as j,be as J}from"./DbehhcO7.js";import{M as K,a as V}from"./vIV0z0PD.js";import{D as B,b as Y,a as Z,c as G}from"./DN4-koTG.js";import{_ as X}from"./DL1qmlP8.js";var A=_({__name:"DropdownMenuLabel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(a){const o=a;return y(),(s,t)=>(f(),c(e(K),C(D(o)),{default:n(()=>[b(s.$slots,"default")]),_:3},16))}}),Q=A,ee=_({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(a){const o=a;return y(),(s,t)=>(f(),c(e(V),C(D(o)),{default:n(()=>[b(s.$slots,"default")]),_:3},16))}}),ae=ee;const le=_({__name:"DropdownMenuLabel",props:{asChild:{type:Boolean},as:{},class:{},inset:{type:Boolean}},setup(a){const o=a,s=N(o,"class","inset"),t=q(s),d=M(B,p(()=>"default"));return(l,h)=>(f(),c(e(Q),$({"data-slot":"dropdown-menu-label","data-size":e(d),"data-inset":l.inset?"":void 0},e(t),{class:e(z)("font-medium",e(Y)[e(d)],l.inset&&e(Z)[e(d)],o.class)}),{default:n(()=>[b(l.$slots,"default")]),_:3},16,["data-size","data-inset","class"]))}}),de=_({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean},as:{},class:{}},setup(a){const o=a,s=p(()=>{const{class:d,...l}=o;return l}),t=M(B,p(()=>"default"));return(d,l)=>(f(),c(e(ae),$({"data-slot":"dropdown-menu-separator","data-size":e(t)},s.value,{class:e(z)("bg-border h-px",e(G)[e(t)],o.class)}),null,16,["data-size","class"]))}});var se=(a=>(a.Data="Data",a.Structure="Structure",a.Erd="Erd",a))(se||{}),u=(a=>(a.Save="save",a.Delete="delete",a))(u||{});const ie=_({__name:"SafeModeConfirmDialog",props:{open:{type:Boolean},sql:{},type:{},loading:{type:Boolean},dangerous:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(a,{emit:o}){const s=a,t=o,d=p(()=>s.dangerous?s.type===u.Save?"High-Risk: Confirm Save":"High-Risk: Confirm Delete":s.type===u.Save?"Confirm Save":"Confirm Delete"),l=p(()=>s.dangerous?"Caution: No primary key detected. To identify the record, this operation will match all columns in the WHERE clause. This carries a risk of affecting multiple rows if they share identical data. Please verify the SQL below carefully before proceeding:":s.type===u.Save?"The following SQL will be executed to save your changes:":"The following SQL will be executed to delete the selected rows:"),h=p(()=>s.type===u.Save?"Save":"Delete"),E=()=>{t("confirm"),t("update:open",!1)},L=()=>{t("cancel"),t("update:open",!1)};return(i,m)=>{const w=F,P=X;return f(),c(e(k),{open:i.open,"onUpdate:open":m[0]||(m[0]=x=>t("update:open",x))},{default:n(()=>[r(e(I),{size:"preview"},{default:n(()=>[r(e(R),{visible:!!i.loading},null,8,["visible"]),r(e(H),null,{default:n(()=>[r(e(O),{class:S(["flex items-center gap-2 text-base font-medium",{"text-destructive":i.dangerous}])},{default:n(()=>[i.dangerous?(f(),c(w,{key:0,name:"lucide:alert-triangle",class:"size-5 text-destructive"})):T("",!0),v(" "+g(e(d)),1)]),_:1},8,["class"]),r(e(U),{class:S({"text-destructive font-normal":i.dangerous})},{default:n(()=>[v(g(e(l)),1)]),_:1},8,["class"])]),_:1}),r(P,{code:i.sql,"show-copy-button":"","max-height":"24rem"},null,8,["code"]),r(e(W),null,{default:n(()=>[r(e(j),{class:"border font-normal",onClick:L},{default:n(()=>m[1]||(m[1]=[v(" Cancel ")])),_:1}),r(e(J),{class:"border font-normal flex gap-1",onClick:E},{default:n(()=>[r(w,{name:i.type===e(u).Save?"lucide:save":"lucide:trash-2",class:"size-4"},null,8,["name"]),v(" "+g(e(h)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});export{se as Q,ie as _,u as a,le as b,de as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aS as $,r as m,aH as O,i as p,K as E,at as V,am as K,ah as _,d as F,c as B,o as R,n as P,q as N,b as U,a as C,w as D,f as j,t as w,u as x,bj as q,k as A,m as W,e as g,z,F as L,x as H,B as M}from"./DbehhcO7.js";var G=(a=>(a.Tree="tree",a.List="list",a))(G||{});const Y=(a,s=0)=>({connectionId:a,selectedDatabaseIndex:s,viewMode:"tree",keyPattern:"*",keyTypeFilter:[],selectedKey:null,activeTool:"browser"}),J=$("redis-workspace",()=>{const a=m({}),s=(d,n=0)=>(a.value[d]||(a.value[d]=Y(d,n)),a.value[d]);return{sessions:a,ensureSession:s,patchSession:(d,n)=>{Object.assign(s(d),n)}}}),Q=a=>{const s=Number.parseInt(a||"0",10);return Number.isFinite(s)?s:0},X=a=>{var s,t,d;if(typeof a=="string")return a;if(a&&typeof a=="object"){const n=a;return((s=n.data)==null?void 0:s.message)||((d=(t=n.response)==null?void 0:t._data)==null?void 0:d.message)||n.message||"Request failed."}return"Request failed."},Z=(a,s)=>{const t=X(a);return/READONLY/i.test(t)?"This Redis endpoint is read-only. Value updates are unavailable.":/NOPERM|NOAUTH|WRONGPASS|ACL/i.test(t)?"The connected Redis account does not have permission to edit values.":""},T=a=>({method:a.method,stringConnection:a.connectionString,host:a.host,port:a.port,username:a.username,password:a.password,database:a.database,ssl:a.ssl,ssh:a.ssh});function ee({connection:a,session:s,store:t}){const d=m([]),n=m([]),r=O(null),v=m(!1),f=m(!1),l=m(!1),o=m("");let e=0;const c=p(()=>!!r.value&&!o.value),y=async()=>{if(!a.value||!s.value){d.value=[],n.value=[],r.value=null;return}v.value=!0;try{const i=await $fetch("/api/redis/browser",{method:"POST",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex,keyPattern:s.value.keyPattern}});d.value=i.keys,n.value=i.databases,o.value=""}finally{v.value=!1}},b=async()=>{if(!a.value||!s.value){n.value=[];return}n.value=await $fetch("/api/redis/browser/databases",{method:"POST",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex}})},u=async(i=(k=>(k=s.value)==null?void 0:k.selectedKey)())=>{if(!a.value||!s.value||!i){r.value=null,o.value="",f.value=!1;return}const S=++e;r.value=null,f.value=!0;try{const I=await $fetch("/api/redis/browser/value",{method:"POST",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex,key:i}});if(S!==e)return;r.value=I,o.value=""}finally{S===e&&(f.value=!1)}},h=async i=>{s.value&&t.patchSession(s.value.connectionId,{selectedKey:i,activeTool:"browser"})};return{keys:d,databases:n,selectedKeyDetail:r,loadingKeys:v,loadingSelectedKeyDetail:f,savingValue:l,editUnavailableReason:o,canEditSelectedValue:c,refreshKeys:y,refreshDatabases:b,refreshSelectedKeyDetail:u,openKey:h,focusKey:async i=>{s.value&&(await h(i),await u(i))},saveSelectedValue:async i=>{var k;if(!(!a.value||!((k=s.value)!=null&&k.selectedKey))){l.value=!0;try{r.value=await $fetch("/api/redis/browser/value",{method:"PATCH",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex,key:s.value.selectedKey,previewKind:i.previewKind,stringFormat:i.stringFormat,tableKind:i.tableKind,ttlSeconds:i.ttlSeconds,value:i.value}}),o.value="",E.success("Redis key saved successfully",{description:`Updated ${s.value.selectedKey}`})}catch(S){const I=Z(S);if(I){o.value=I;return}console.error("[useRedisWorkspace] Failed to save Redis value",S)}finally{l.value=!1}}}}}function ue(a){const s=V(a.connection),t=a.tabInfo?V(a.tabInfo):void 0,d=a.mode??"browser",n=J(),r=p(()=>{var e;return(e=s.value)!=null&&e.id?n.ensureSession(s.value.id,Q(s.value.database)):null}),v=p({get:()=>{var e;return((e=r.value)==null?void 0:e.selectedDatabaseIndex)??0},set:e=>{r.value&&n.patchSession(r.value.connectionId,{selectedDatabaseIndex:e})}}),f=p({get:()=>{var e;return((e=r.value)==null?void 0:e.keyPattern)??"*"},set:e=>{r.value&&n.patchSession(r.value.connectionId,{keyPattern:e||"*"})}}),l=ee({connection:s,session:r,store:n}),o=m(!1);return K(()=>t==null?void 0:t.value,async e=>{var c,y,b,u;if(!(!r.value||!e)){if(e.type===_.RedisPubSub){n.patchSession(r.value.connectionId,{activeTool:"pubsub",selectedDatabaseIndex:typeof((c=e.metadata)==null?void 0:c.databaseIndex)=="number"?e.metadata.databaseIndex:r.value.selectedDatabaseIndex}),l.refreshDatabases();return}o.value=!0;try{n.patchSession(r.value.connectionId,{activeTool:"browser",selectedDatabaseIndex:typeof((y=e.metadata)==null?void 0:y.databaseIndex)=="number"?e.metadata.databaseIndex:r.value.selectedDatabaseIndex,keyPattern:typeof((b=e.metadata)==null?void 0:b.keyPattern)=="string"?e.metadata.keyPattern:r.value.keyPattern,selectedKey:typeof((u=e.metadata)==null?void 0:u.selectedKey)=="string"?e.metadata.selectedKey:r.value.selectedKey}),await l.refreshKeys(),l.refreshSelectedKeyDetail()}finally{o.value=!1}}},{immediate:!0}),K(()=>{var e,c;return[(e=r.value)==null?void 0:e.selectedDatabaseIndex,(c=r.value)==null?void 0:c.keyPattern]},([e,c],y)=>{if(!(t!=null&&t.value)||t.value.type!==_.RedisBrowser||o.value)return;const[b,u]=y??[];e===b&&c===u||l.refreshKeys()}),K(()=>{var e;return(e=r.value)==null?void 0:e.selectedKey},(e,c)=>{!(t!=null&&t.value)||t.value.type!==_.RedisBrowser||o.value||e===c||l.refreshSelectedKeyDetail(e)}),K(()=>{var e;return(e=r.value)==null?void 0:e.selectedDatabaseIndex},(e,c)=>{if(e!==c){if(t!=null&&t.value){t.value.type===_.RedisPubSub&&l.refreshDatabases();return}d==="meta"&&l.refreshDatabases()}}),K(()=>{var e;return(e=s.value)==null?void 0:e.id},e=>{if(!(!e||t!=null&&t.value)){if(d==="meta"){l.refreshDatabases();return}l.refreshKeys()}},{immediate:!0}),{session:r,keys:l.keys,databases:l.databases,selectedKeyDetail:l.selectedKeyDetail,loadingKeys:l.loadingKeys,loadingSelectedKeyDetail:l.loadingSelectedKeyDetail,savingValue:l.savingValue,selectedDatabaseIndex:v,keyPattern:f,canEditSelectedValue:l.canEditSelectedValue,editUnavailableReason:l.editUnavailableReason,refreshKeys:l.refreshKeys,openKey:l.openKey,focusKey:l.focusKey,saveSelectedValue:l.saveSelectedValue}}const ae={class:"flex min-w-0 items-center gap-1.5 pr-5 text-left"},te={class:"flex min-w-0 items-center gap-2"},se={class:"truncate"},le={class:"text-xxs text-muted-foreground"},ie=F({__name:"RedisDBSelector",props:{databases:{},databaseIndex:{},compact:{type:Boolean},label:{},triggerId:{},triggerClass:{}},emits:["update:databaseIndex"],setup(a,{emit:s}){const t=a,d=s,n=p(()=>t.databases.length>0?t.databases:[{index:t.databaseIndex,label:`DB ${t.databaseIndex}`,keyCount:0,expires:0,avgTtl:null}]),r=p(()=>t.triggerId||"redis-db-index"),v=p(()=>n.value.find(l=>l.index===t.databaseIndex)??n.value[0]),f=p(()=>t.compact?["h-6! w-fit gap-1 px-2 text-xs",t.triggerClass].filter(Boolean).join(" "):["w-full",t.triggerClass].filter(Boolean).join(" "));return(l,o)=>{const e=W,c=M,y=z,b=A;return R(),B("div",{class:P(l.compact?"w-[132px]":"space-y-1")},[l.compact?U("",!0):(R(),N(x(q),{key:0,for:x(r)},{default:D(()=>[j(w(l.label||"Databases"),1)]),_:1},8,["for"])),C(b,{"model-value":String(l.databaseIndex),"onUpdate:modelValue":o[0]||(o[0]=u=>d("update:databaseIndex",Number(u)||0)),size:"sm"},{default:D(()=>[C(e,{id:x(r),class:P(x(f))},{default:D(()=>{var u,h;return[g("div",ae,[g("span",{class:P(l.compact?"truncate text-xs":"truncate text-sm")},w(((u=x(v))==null?void 0:u.label)||"Select DB"),3),g("span",{class:P(["shrink-0 text-muted-foreground",(l.compact,"text-xxs")])},w(((h=x(v))==null?void 0:h.keyCount)??0)+" keys ",3)])]}),_:1},8,["id","class"]),C(y,null,{default:D(()=>[(R(!0),B(L,null,H(x(n),u=>(R(),N(c,{key:u.index,value:String(u.index)},{default:D(()=>[g("div",te,[g("span",se,w(u.label),1),g("span",le,w(u.keyCount)+" keys ",1)])]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["model-value"])],2)}}});export{G as R,ie as _,ue as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as X,an as j,ao as F,ap as Y,aq as H,l as i,c as V,ar as q,as as U,ai as $,at as z,aj as P,ah as K,au as Q,av as W,aw as Z}from"./
|
|
1
|
+
import{_ as X,an as j,ao as F,ap as Y,aq as H,l as i,c as V,ar as q,as as U,ai as $,at as z,aj as P,ah as K,au as Q,av as W,aw as Z}from"./ndyknmtb.js";import{i as x,G as B}from"./qsFoMdT2.js";import{b as L,m as A,l as I}from"./CQb_mUBo.js";import"./DbehhcO7.js";var ee=4;function ne(e){return L(e,ee)}function p(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:te(e),edges:se(e)};return x(e.graph())||(t.value=ne(e.graph())),t}function te(e){return A(e.nodes(),function(t){var n=e.node(t),o=e.parent(t),c={v:t};return x(n)||(c.value=n),x(o)||(c.parent=o),c})}function se(e){return A(e.edges(),function(t){var n=e.edge(t),o={v:t.v,w:t.w};return x(t.name)||(o.name=t.name),x(n)||(o.value=n),o})}var f=new Map,b=new Map,G=new Map,ie=X(()=>{b.clear(),G.clear(),f.clear()},"clear"),O=X((e,t)=>{const n=b.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),re=X((e,t)=>{const n=b.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||O(e.v,t)||O(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),J=X((e,t,n,o)=>{i.warn("Copying children of ",e,"root",o,"data",t.node(e),o);const c=t.children(e)||[];e!==o&&c.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",c),c.forEach(a=>{if(t.children(a).length>0)J(a,t,n,o);else{const r=t.node(a);i.info("cp ",a," to ",o," with parent ",e),n.setNode(a,r),o!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==o&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",o,"data",t.node(e),o),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==o,"node!==clusterId",a!==e));const u=t.edges(a);i.debug("Copying Edges",u),u.forEach(l=>{i.info("Edge",l);const h=t.edge(l.v,l.w,l.name);i.info("Edge data",h,o);try{re(l,o)?(i.info("Copying as ",l.v,l.w,h,l.name),n.setEdge(l.v,l.w,h,l.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",o," clusterId:",e)}catch(C){i.error(C)}})}i.debug("Removing node",a),t.removeNode(a)})},"copy"),R=X((e,t)=>{const n=t.children(e);let o=[...n];for(const c of n)G.set(c,e),o=[...o,...R(c,t)];return o},"extractDescendants"),oe=X((e,t,n)=>{const o=e.edges().filter(l=>l.v===t||l.w===t),c=e.edges().filter(l=>l.v===n||l.w===n),a=o.map(l=>({v:l.v===t?n:l.v,w:l.w===t?t:l.w})),r=c.map(l=>({v:l.v,w:l.w}));return a.filter(l=>r.some(h=>l.v===h.v&&l.w===h.w))},"findCommonEdges"),D=X((e,t,n)=>{const o=t.children(e);if(i.trace("Searching children of id ",e,o),o.length<1)return e;let c;for(const a of o){const r=D(a,t,n),u=oe(t,n,r);if(r)if(u.length>0)c=r;else return r}return c},"findNonClusterChild"),k=X(e=>!f.has(e)||!f.get(e).externalConnections?e:f.has(e)?f.get(e).id:e,"getAnchorId"),ae=X((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",D(n,e,n)),b.set(n,R(n,e)),f.set(n,{id:D(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const o=e.children(n),c=e.edges();o.length>0?(i.debug("Cluster identified",n,b),c.forEach(a=>{const r=O(a.v,n),u=O(a.w,n);r^u&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",b.get(n)),f.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,b)});for(let n of f.keys()){const o=f.get(n).id,c=e.parent(o);c!==n&&f.has(c)&&!f.get(c).externalConnections&&(f.get(n).id=c)}e.edges().forEach(function(n){const o=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let c=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f.get(n.v)," --- ",f.get(n.w)),f.get(n.v)||f.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),c=k(n.v),a=k(n.w),e.removeEdge(n.v,n.w,n.name),c!==n.v){const r=e.parent(c);f.get(r).externalConnections=!0,o.fromCluster=n.v}if(a!==n.w){const r=e.parent(a);f.get(r).externalConnections=!0,o.toCluster=n.w}i.warn("Fix Replacing with XXX",c,a,n.name),e.setEdge(c,a,o,n.name)}}),i.warn("Adjusted Graph",p(e)),T(e,0),i.trace(f)},"adjustClustersAndEdges"),T=X((e,t)=>{var c,a;if(i.warn("extractor - ",t,p(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),o=!1;for(const r of n){const u=e.children(r);o=o||u.length>0}if(!o){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,f,f.has(r)&&!f.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!f.has(r))i.debug("Not a cluster",r,t);else if(!f.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";(a=(c=f.get(r))==null?void 0:c.clusterData)!=null&&a.dir&&(l=f.get(r).clusterData.dir,i.warn("Fixing dir",f.get(r).clusterData.dir,l));const h=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",p(e)),J(r,e,h,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:f.get(r).clusterData,label:f.get(r).label,graph:h}),i.warn("New graph after copy node: (",r,")",p(h)),i.debug("Old graph after copy",p(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!f.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const u=e.node(r);i.warn(" Now next level",r,u),u!=null&&u.clusterNode&&T(u.graph,t+1)}},"extractor"),M=X((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(o=>{const c=e.children(o),a=M(e,c);n=[...n,...a]}),n},"sorter"),ce=X(e=>M(e,e.children()),"sortNodesByHierarchy"),_=X(async(e,t,n,o,c,a)=>{i.warn("Graph in recursive render:XAX",p(t),c);const r=t.graph().rankdir;i.trace("Dir in recursive render - dir:",r);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const l=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),C=u.insert("g").attr("class","edgeLabels"),g=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(d){const s=t.node(d);if(c!==void 0){const w=JSON.parse(JSON.stringify(c.clusterData));i.trace(`Setting data for parent cluster XXX
|
|
2
2
|
Node.id = `,d,`
|
|
3
3
|
data=`,w.height,`
|
|
4
4
|
Parent cluster`,c.height),t.setNode(c.id,w),t.parent(d)||(i.trace("Setting parent",d,c.id),t.setParent(d,c.id,w))}if(i.info("(Insert) Node XXX"+d+": "+JSON.stringify(t.node(d))),s!=null&&s.clusterNode){i.info("Cluster identified XBX",d,s.width,t.node(d));const{ranksep:w,nodesep:m}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:w+25,nodesep:m});const N=await _(g,s.graph,n,o,t.node(d),a),S=N.elem;q(s,S),s.diff=N.diff||0,i.info("New compound node after recursive render XAX",d,"width",s.width,"height",s.height),U(S,s)}else t.children(d).length>0?(i.trace("Cluster - the non recursive path XBX",d,s.id,s,s.width,"Graph:",t),i.trace(D(s.id,t)),f.set(s.id,{id:D(s.id,t),node:s})):(i.trace("Node - the non recursive path XAX",d,g,t.node(d),r),await $(g,t.node(d),{config:a,dir:r}))})),await X(async()=>{const d=t.edges().map(async function(s){const w=t.edge(s.v,s.w,s.name);i.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),i.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),i.info("Fix",f,"ids:",s.v,s.w,"Translating: ",f.get(s.v),f.get(s.w)),await Z(C,w)});await Promise.all(d)},"processEdges")(),i.info("Graph before layout:",JSON.stringify(p(t))),i.info("############################################# XXX"),i.info("### Layout ### XXX"),i.info("############################################# XXX"),I(t),i.info("Graph after layout:",JSON.stringify(p(t)));let E=0,{subGraphTitleTotalMargin:y}=z(a);return await Promise.all(ce(t).map(async function(d){var w;const s=t.node(d);if(i.info("Position XBX => "+d+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s!=null&&s.clusterNode)s.y+=y,i.info("A tainted cluster node XBX1",d,s.id,s.width,s.height,s.x,s.y,t.parent(d)),f.get(s.id).node=s,P(s);else if(t.children(d).length>0){i.info("A pure cluster node XBX1",d,s.id,s.x,s.y,s.width,s.height,t.parent(d)),s.height+=y,t.node(s.parentId);const m=(s==null?void 0:s.padding)/2||0,N=((w=s==null?void 0:s.labelBBox)==null?void 0:w.height)||0,S=N-m||0;i.debug("OffsetY",S,"labelHeight",N,"halfPadding",m),await K(l,s),f.get(s.id).node=s}else{const m=t.node(s.parentId);s.y+=y/2,i.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",m,m==null?void 0:m.offsetY,s),P(s)}})),t.edges().forEach(function(d){const s=t.edge(d);i.info("Edge "+d.v+" -> "+d.w+": "+JSON.stringify(s),s),s.points.forEach(S=>S.y+=y/2);const w=t.node(d.v);var m=t.node(d.w);const N=Q(h,s,f,n,w,m,o);W(s,N)}),t.nodes().forEach(function(d){const s=t.node(d);i.info(d,s.type,s.diff),s.isGroup&&(E=s.diff)}),i.warn("Returning from recursive render XAX",u,E),{elem:u,diff:E}},"recursiveRender"),ge=X(async(e,t)=>{var a,r,u,l,h,C;const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:((a=e.config)==null?void 0:a.nodeSpacing)||((u=(r=e.config)==null?void 0:r.flowchart)==null?void 0:u.nodeSpacing)||e.nodeSpacing,ranksep:((l=e.config)==null?void 0:l.rankSpacing)||((C=(h=e.config)==null?void 0:h.flowchart)==null?void 0:C.rankSpacing)||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),o=t.select("g");j(o,e.markers,e.type,e.diagramId),F(),Y(),H(),ie(),e.nodes.forEach(g=>{n.setNode(g.id,{...g}),g.parentId&&n.setParent(g.id,g.parentId)}),i.debug("Edges:",e.edges),e.edges.forEach(g=>{if(g.start===g.end){const v=g.start,E=v+"---"+v+"---1",y=v+"---"+v+"---2",d=n.node(v);n.setNode(E,{domId:E,id:E,parentId:d.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(E,d.parentId),n.setNode(y,{domId:y,id:y,parentId:d.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(y,d.parentId);const s=structuredClone(g),w=structuredClone(g),m=structuredClone(g);s.label="",s.arrowTypeEnd="none",s.id=v+"-cyclic-special-1",w.arrowTypeStart="none",w.arrowTypeEnd="none",w.id=v+"-cyclic-special-mid",m.label="",d.isGroup&&(s.fromCluster=v,m.toCluster=v),m.id=v+"-cyclic-special-2",m.arrowTypeStart="none",n.setEdge(v,E,s,v+"-cyclic-special-0"),n.setEdge(E,y,w,v+"-cyclic-special-1"),n.setEdge(y,v,m,v+"-cyc<lic-special-2")}else n.setEdge(g.start,g.end,{...g},g.id)}),i.warn("Graph at first:",JSON.stringify(p(n))),ae(n),i.warn("Graph after XAX:",JSON.stringify(p(n)));const c=V();await _(o,n,e.type,e.diagramId,void 0,c)},"render");export{ge as render};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as l}from"./
|
|
1
|
+
import{_ as l}from"./ndyknmtb.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,G as f,
|
|
1
|
+
import{r as o,G as f,i as b}from"./DbehhcO7.js";const y=t=>{const a=o(!1),e=o(null),r=o([]),i=async()=>{if(!t.value){e.value="No database connection provided";return}a.value=!0,e.value=null;try{const n=await $fetch("/api/database-roles/get-roles",{method:"POST",body:{...f(t.value)}});r.value=n}catch(n){e.value=n instanceof Error?n.message:"Failed to fetch roles",console.error("Error fetching database roles:",n)}finally{a.value=!1}},s=()=>i(),d=b(()=>{const n=[],l=[],c=[];for(const u of r.value)u.isSuperuser?n.push(u):u.canLogin?l.push(u):c.push(u);return{superusers:n,users:l,roles:c}});return{isLoading:a,error:e,roles:r,categorizedRoles:d,fetchRoles:i,refresh:s}},P=t=>{const a=o(!1),e=o(!1),r=o(null),i=n=>{const l="control plane:",c=n.indexOf(l);if(c===-1)return null;const u=n.slice(c+l.length).trim(),m=u.indexOf("{"),v=u.lastIndexOf("}");if(m===-1||v===-1)return null;const p=u.slice(m,v+1);try{const h=JSON.parse(p);if(h!=null&&h.error&&typeof h.error=="string")return h.error}catch{return null}return null};return{isCreating:a,isDeleting:e,error:r,createRole:async n=>{var l;if(!t.value)return r.value="No database connection provided",null;a.value=!0,r.value=null;try{return await $fetch("/api/database-roles/create-role",{method:"POST",body:{...n,...f(t.value)}})}catch(c){const u=((l=c==null?void 0:c.data)==null?void 0:l.message)||(c instanceof Error?c.message:"Failed to create role"),v=i(u)||u.replace(/^Failed to create role:\s*/i,"").trim();return r.value=v,console.error("Error creating role:",c),{success:!1,message:v,sql:""}}finally{a.value=!1}},deleteRole:async n=>{if(!t.value)return r.value="No database connection provided",null;e.value=!0,r.value=null;try{return await $fetch("/api/database-roles/delete-role",{method:"POST",body:{...f(t.value),roleName:n}})}catch(l){return r.value=l instanceof Error?l.message:"Failed to delete role",console.error("Error deleting role:",l),null}finally{e.value=!1}}}},E=t=>{const a=o(!1),e=o(null),r=o([]);return{isLoading:a,error:e,databasePermissions:r,fetchDatabasePermissions:async s=>{if(!t.value||!s){e.value="Missing connection or role name";return}a.value=!0,e.value=null;try{const d=await $fetch("/api/database-roles/get-databases-with-permissions",{method:"POST",body:{...f(t.value),roleName:s}});r.value=d}catch(d){e.value=d instanceof Error?d.message:"Failed to fetch database permissions",console.error("Error fetching database permissions:",d)}finally{a.value=!1}}}},O=t=>{const a=o(!1),e=o(null),r=o([]);return{isLoading:a,error:e,databases:r,fetchDatabases:async()=>{if(!t.value){e.value="No database connection provided";return}a.value=!0,e.value=null;try{const s=await $fetch("/api/database-roles/get-databases",{method:"POST",body:{...f(t.value)}});r.value=s}catch(s){e.value=s instanceof Error?s.message:"Failed to fetch databases",console.error("Error fetching databases:",s)}finally{a.value=!1}}}},S=t=>{const a=o(!1),e=o(null),r=o([]);return{isLoading:a,error:e,schemas:r,fetchSchemas:async()=>{if(!t.value){e.value="No database connection provided";return}a.value=!0,e.value=null;try{const s=await $fetch("/api/database-roles/get-schemas",{method:"POST",body:{...f(t.value)}});r.value=s}catch(s){e.value=s instanceof Error?s.message:"Failed to fetch schemas",console.error("Error fetching schemas:",s)}finally{a.value=!1}}}},w=t=>{const a=o(!1),e=o(null);return{isGranting:a,error:e,grantBulkPermissions:async i=>{if(!t.value)return e.value="No database connection provided",null;a.value=!0,e.value=null;try{return await $fetch("/api/database-roles/grant-bulk-permissions",{method:"POST",body:{...i,...f(t.value)}})}catch(s){return e.value=s instanceof Error?s.message:"Failed to grant permissions",console.error("Error granting bulk permissions:",s),null}finally{a.value=!1}}}};export{y as a,P as b,O as c,S as d,w as e,E as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as o,c as a,n,u as r,p as c,E as l,o as u}from"./DbehhcO7.js";const d=o({__name:"ContextMenuShortcut",props:{class:{}},setup(t){const s=t;return(e,p)=>(u(),a("span",{"data-slot":"context-menu-shortcut",class:n(r(c)("text-muted-foreground ml-auto text-xs tracking-widest",s.class))},[l(e.$slots,"default")],2))}});export{d as _};
|