| Current Path : /snap/lxd/38450/share/lxd-ui/assets/ |
| Current File : //snap/lxd/38450/share/lxd-ui/assets/useNetworks-1j5RF-bH.js |
import{bD as f,R as l,O as d,cH as P,cI as R,cT as F,cU as U,u as w,J as y,t as g,x as u}from"./index-BsQN_SZU.js";const $=["can_edit","can_delete"],b=async(e,t,n)=>{const s=new URLSearchParams;return s.set("project",e),s.set("recursion","1"),f(s,n),P(s,t,$),fetch(`${l}/1.0/networks?${s.toString()}`).then(d).then(r=>r.metadata.filter(a=>!["loopback","unknown"].includes(a.type)))},C=async(e,t,n)=>new Promise((s,r)=>{Promise.allSettled(t.map(async c=>b(e,n,c.server_name))).then(c=>{const a=[];for(let o=0;o<t.length;o++){const m=t[o].server_name,i=c[o];i.status==="rejected"&&a.push({...i,memberName:m,promiseStatus:"rejected"}),i.status==="fulfilled"&&i.value.forEach(h=>a.push({...h,memberName:m,promiseStatus:"fulfilled"}))}s(a)}).catch(r)}),p=async(e,t,n,s)=>{const r=new URLSearchParams;return r.set("project",t),f(r,s),P(r,n,$),fetch(`${l}/1.0/networks/${encodeURIComponent(e)}?${r.toString()}`).then(R).then(c=>c)},T=async(e,t,n,s)=>new Promise((r,c)=>{Promise.allSettled(n.map(async a=>p(e,t,s,a.server_name))).then(a=>{const o=[];for(let m=0;m<n.length;m++){const i=n[m].server_name,h=a[m];if(h.status==="rejected"&&c(U(h,i)),h.status==="fulfilled"){const k=a[m];o.push({...k.value,memberName:i,promiseStatus:"fulfilled"})}}r(o)}).catch(c)}),_=async(e,t,n)=>{const s=new URLSearchParams;return s.set("project",t),f(s,n),fetch(`${l}/1.0/networks/${encodeURIComponent(e)}/state?${s.toString()}`).then(d).then(r=>r.metadata)},O=async(e,t,n,s,r)=>new Promise((c,a)=>{Promise.allSettled(n.map(async o=>{const m={name:e.name,type:e.type,config:{parent:s?.[o.server_name],"bridge.external_interfaces":r?.[o.server_name]}};return N(m,t,o.server_name)})).then(o=>{const m=o.find(i=>i.status==="rejected")?.reason;if(m){a(m);return}delete e.config?.parent,N(e,t).then(c).catch(a)}).catch(a)}),N=async(e,t,n)=>{const s=new URLSearchParams;return s.set("project",t),f(s,n),new Promise((r,c)=>{fetch(`${l}/1.0/networks?${s.toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(d).then(r).catch(async a=>{await new Promise(o=>setTimeout(o,1e3)),a.message==="Failed to fetch"&&await p(e.name??"",t,!1,n)&&r(),c(a)})})},S=async(e,t,n)=>{const s=new URLSearchParams;return s.set("project",t),f(s,n),new Promise((r,c)=>{fetch(`${l}/1.0/networks/${encodeURIComponent(e.name)}?${s.toString()}`,{method:"PUT",body:JSON.stringify(e),headers:{"Content-Type":"application/json","If-Match":e.etag??""}}).then(d).then(r).catch(async a=>{if(await new Promise(o=>setTimeout(o,1e3)),a.message==="Failed to fetch"){const o=await p(e.name??"",t,!1,n);F(e,o)&&r()}c(a)})})},L=async(e,t,n,s,r,c)=>new Promise((a,o)=>{Promise.allSettled(n.map(async m=>{const i=m.server_name,h={...c};s?.[i]&&(h.parent=s[i]),r?.[i]&&(h["bridge.external_interfaces"]=r[i]);const k={name:e.name,type:e.type,config:h};return S(k,t,i)})).then(m=>{const i=m.find(h=>h.status==="rejected")?.reason;if(i){o(i);return}S({...e,etag:""},t).then(a).catch(o)}).catch(o)}),E=async(e,t,n)=>{const s=new URLSearchParams;return s.set("project",n),new Promise((r,c)=>{fetch(`${l}/1.0/networks/${encodeURIComponent(e)}?${s.toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}).then(d).then(r).catch(async a=>{await new Promise(o=>setTimeout(o,1e3)),a.message==="Failed to fetch"&&await p(t,n,!1)&&r(),c(a)})})},I=async(e,t)=>{const n=new URLSearchParams;return n.set("project",t),new Promise((s,r)=>{fetch(`${l}/1.0/networks/${encodeURIComponent(e)}?${n.toString()}`,{method:"DELETE"}).then(d).then(s).catch(async c=>{await new Promise(a=>setTimeout(a,1e3)),c.message==="Failed to fetch"&&(await fetch(`${l}/1.0/networks/${encodeURIComponent(e)}?project=${encodeURIComponent(t)}`)).status===404&&s(),r(c)})})},j=async e=>{const t=new URLSearchParams;return t.set("project",e),t.set("recursion","1"),fetch(`${l}/1.0/network-allocations?${t.toString()}`).then(d).then(n=>n.metadata)},v=(e,t,n)=>{const{isFineGrained:s}=w(),r=[u.projects,e,u.networks];return y({queryKey:r,queryFn:async()=>b(e,s,t),enabled:(n??!0)&&s!==null})},K=(e,t,n,s)=>{const{isFineGrained:r}=w(),c=[u.projects,t,u.networks,e];return n&&(c.push(u.members),c.push(n)),y({queryKey:c,queryFn:async()=>p(e,t,r,n),enabled:r!==null})},G=e=>{const{isFineGrained:t}=w(),{data:n=[]}=g();return y({queryKey:[u.networks,e,u.cluster],queryFn:async()=>C(e,n,t),enabled:t!==null&&n.length>0})},M=(e,t,n)=>{const{isFineGrained:s}=w(),{data:r=[]}=g();return y({queryKey:[u.projects,t,u.networks,e,u.cluster],queryFn:async()=>T(e,t,r,s),enabled:(n??!0)&&s!==null&&r.length>0})},J=(e,t,n,s)=>{const{isFineGrained:r}=w();return y({queryKey:[u.projects,t,u.networks,e,u.members,n,u.state],retry:0,queryFn:async()=>_(e,t,n),enabled:(s??!0)&&r!==null})};export{N as a,M as b,O as c,I as d,L as e,p as f,S as g,v as h,G as i,J as j,j as k,E as r,K as u};