Your IP : 216.73.216.189


Current Path : /proc/thread-self/root/snap/lxd/39313/share/lxd-ui/assets/
Upload File :
Current File : //proc/thread-self/root/snap/lxd/39313/share/lxd-ui/assets/useNetworks-B1lu5MbM.js

import{cz as N,bk as f,R as d,az as w,cp as _,cq as O,cA as F,cB as v,u as h,ae as y,w as u}from"./index-BFGypnt-.js";import{u as $}from"./useClusterMembers-B29_ixY7.js";const b=["can_edit","can_delete"],P=async(e,t,n)=>{const s=new URLSearchParams;return s.set("project",e),s.set("recursion","1"),f(s,n),_(s,t,b),fetch(`${d}/1.0/networks?${s.toString()}`).then(w).then(a=>a.metadata.filter(m=>!["loopback","unknown"].includes(m.type)))},U=async(e,t,n)=>new Promise((s,a)=>{Promise.allSettled(t.map(async r=>P(e,n,r.server_name))).then(r=>{const m=[];for(let l=0;l<t.length;l++){const o=t[l].server_name,c=r[l];c.status==="rejected"&&m.push({...c,memberName:o,promiseStatus:"rejected"}),c.status==="fulfilled"&&c.value.forEach(i=>m.push({...i,memberName:o,promiseStatus:"fulfilled"}))}s(m)}).catch(a)}),S=async(e,t,n,s)=>{const a=new URLSearchParams;return a.set("project",t),f(a,s),_(a,n,b),fetch(`${d}/1.0/networks/${encodeURIComponent(e)}?${a.toString()}`).then(O).then(r=>r)},C=async(e,t,n,s)=>new Promise((a,r)=>{Promise.allSettled(n.map(async m=>S(e,t,s,m.server_name))).then(m=>{const l=[];for(let o=0;o<n.length;o++){const c=n[o].server_name,i=m[o];if(i.status==="rejected"&&r(v(i,c)),i.status==="fulfilled"){const p=m[o];l.push({...p.value,memberName:c,promiseStatus:"fulfilled"})}}a(l)}).catch(r)}),I=async(e,t,n)=>{const s=new URLSearchParams;return s.set("project",t),f(s,n),fetch(`${d}/1.0/networks/${encodeURIComponent(e)}/state?${s.toString()}`).then(w).then(a=>a.metadata)},j=async(e,t,n,s,a,r)=>{const l=(await Promise.allSettled(n.map(async o=>{const c={name:e.name,type:e.type,config:{parent:a?.[o.server_name],"bridge.external_interfaces":r?.[o.server_name]}};return{operation:await k(c,t,o.server_name),member:o.server_name}}))).map(o=>{if(o.status==="rejected")throw o?.reason;return o.value});return s&&await Promise.all(l.map(async({operation:o,member:c})=>{await N(o.metadata.id,c)})),delete e.config?.parent,k(e,t)},k=async(e,t,n)=>{const s=new URLSearchParams;s.set("project",t),f(s,n);try{const a=await fetch(`${d}/1.0/networks?${s.toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return await w(a)}catch(a){if(await new Promise(r=>setTimeout(r,1e3)),a instanceof Error&&a.message==="Failed to fetch"&&await S(e.name??"",t,!1,n))return{operation:"",metadata:{class:"network",created_at:new Date().toISOString(),description:"Network created",err:"",id:"",location:"",may_cancel:!1,status:"Success",status_code:200,updated_at:new Date().toISOString()}};throw a}},g=async(e,t,n)=>{const s=new URLSearchParams;s.set("project",t),f(s,n);try{const a=await fetch(`${d}/1.0/networks/${encodeURIComponent(e.name)}?${s.toString()}`,{method:"PUT",body:JSON.stringify(e),headers:{"Content-Type":"application/json","If-Match":e.etag??""}});return await w(a)}catch(a){if(await new Promise(r=>setTimeout(r,1e3)),a instanceof Error&&a.message==="Failed to fetch"){const r=await S(e.name,t,!1,n);if(F(e,r))return{operation:"",metadata:{class:"network",created_at:new Date().toISOString(),description:"Network updated (fallback verification)",err:"",id:"",location:"",may_cancel:!1,status:"Success",status_code:200,updated_at:new Date().toISOString()}}}throw a}},D=async(e,t,n,s,a,r,m)=>{const o=(await Promise.allSettled(n.map(async c=>{const i=c.server_name,p={...m};s?.[i]&&(p.parent=s[i]),r?.[i]&&(p["bridge.external_interfaces"]=r[i]);const R={name:e.name,type:e.type,config:p};return{operation:await g(R,t,i),member:i}}))).map(c=>{if(c.status==="rejected")throw c?.reason;return c.value});return a&&await Promise.all(o.map(async({operation:c,member:i})=>{await N(c.metadata.id,i)})),g({...e,etag:""},t)},L=async(e,t,n)=>{const s=new URLSearchParams;s.set("project",n);try{const a=await fetch(`${d}/1.0/networks/${encodeURIComponent(e)}?${s.toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})});return await w(a)}catch(a){if(await new Promise(r=>setTimeout(r,1e3)),a instanceof Error&&a.message==="Failed to fetch"&&await S(t,n,!1))return{operation:"",metadata:{class:"network",created_at:new Date().toISOString(),description:`Network renamed from ${e} to ${t} (fallback verification)`,err:"",id:"",location:"",may_cancel:!1,status:"Success",status_code:200,updated_at:new Date().toISOString()}};throw a}},K=async(e,t)=>{const n=new URLSearchParams;n.set("project",t);try{const s=await fetch(`${d}/1.0/networks/${encodeURIComponent(e)}?${n.toString()}`,{method:"DELETE"});return await w(s)}catch(s){if(await new Promise(a=>setTimeout(a,1e3)),s instanceof Error&&s.message==="Failed to fetch"&&(await fetch(`${d}/1.0/networks/${encodeURIComponent(e)}?project=${encodeURIComponent(t)}`)).status===404)return{operation:"",metadata:{class:"network",created_at:new Date().toISOString(),description:`Network ${e} deleted (fallback verification)`,err:"",id:"",location:"",may_cancel:!1,status:"Success",status_code:200,updated_at:new Date().toISOString()}};throw s}},G=async e=>{const t=new URLSearchParams;return t.set("project",e),t.set("recursion","1"),fetch(`${d}/1.0/network-allocations?${t.toString()}`).then(w).then(n=>n.metadata)},M=(e,t,n)=>{const{isFineGrained:s}=h(),a=[u.projects,e,u.networks];return y({queryKey:a,queryFn:async()=>P(e,s,t),enabled:(n??!0)&&s!==null})},A=(e,t,n,s)=>{const{isFineGrained:a}=h(),r=[u.projects,t,u.networks,e];return n&&(r.push(u.members),r.push(n)),y({queryKey:r,queryFn:async()=>S(e,t,a,n),enabled:a!==null})},J=e=>{const{isFineGrained:t}=h(),{data:n=[]}=$();return y({queryKey:[u.networks,e,u.cluster],queryFn:async()=>U(e,n,t),enabled:t!==null&&n.length>0})},x=(e,t,n)=>{const{isFineGrained:s}=h(),{data:a=[]}=$();return y({queryKey:[u.projects,t,u.networks,e,u.cluster],queryFn:async()=>C(e,t,a,s),enabled:(n??!0)&&s!==null&&a.length>0})},z=(e,t,n,s)=>{const{isFineGrained:a}=h();return y({queryKey:[u.projects,t,u.networks,e,u.members,n,u.state],retry:0,queryFn:async()=>I(e,t,n),enabled:(s??!0)&&a!==null})};export{k as a,x as b,j as c,K as d,D as e,S as f,g,M as h,J as i,z as j,G as k,L as r,A as u};