Add steps to test the Web UI and to run go generate. Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
1 line
7.3 KiB
JavaScript
1 line
7.3 KiB
JavaScript
import"../chunks/DsnmJJEf.js";import{i as qe}from"../chunks/zNh6Oe5P.js";import{p as ze,o as Ge,A as je,l as Re,a as Ve,f as S,h as We,b as B,t as j,c as E,d as Je,u as i,n as ie,v as le,g as e,m as l,j as u,k as d,s,$ as Ke,r as f,y as Oe,B as de,q as v}from"../chunks/sWNKMed7.js";import{i as g,s as Qe,a as Xe}from"../chunks/Ccl3fNd2.js";import{d as F,c as Ye,g as y}from"../chunks/D30EsFKH.js";import{p as Ze}from"../chunks/DubtptHG.js";import{g as ce}from"../chunks/CeO1pnaq.js";import{U as et}from"../chunks/DAUYzF7s.js";import{D as pe}from"../chunks/B6BdCO3z.js";import{E as tt,P as at,a as rt}from"../chunks/B-C7pZX9.js";import{D as st,I as nt}from"../chunks/MZdleLKl.js";import{g as ue}from"../chunks/DyvUHRqW.js";import{w as R}from"../chunks/BuuPrWMc.js";import{t as D}from"../chunks/BZUCTtPY.js";import{C as ot}from"../chunks/CLrK9xMi.js";import{e as fe}from"../chunks/BZiHL9L3.js";var it=S('<div class="p-6 text-center"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"></div> <p class="mt-2 text-sm text-gray-500 dark:text-gray-400">Loading enterprise...</p></div>'),lt=S('<div class="rounded-md bg-red-50 dark:bg-red-900 p-4"><p class="text-sm font-medium text-red-800 dark:text-red-200"> </p></div>'),dt=S("<!> <!> <!> <!> <!>",1),ct=S('<div class="space-y-6"><nav class="flex" aria-label="Breadcrumb"><ol class="inline-flex items-center space-x-1 md:space-x-3"><li class="inline-flex items-center"><a class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white"><svg class="w-3 h-3 mr-2.5" fill="currentColor" viewBox="0 0 20 20"><path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"></path></svg> Enterprises</a></li> <li><div class="flex items-center"><svg class="w-3 h-3 text-gray-400 mx-1" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"></path></svg> <span class="ml-1 text-sm font-medium text-gray-500 md:ml-2 dark:text-gray-400"> </span></div></li></ol></nav> <!></div> <!> <!> <!> <!>',1);function Pt(me,ve){ze(ve,!1);const[ge,ye]=Qe(),V=()=>Xe(Ze,"$page",ge),x=l();let a=l(null),c=l([]),m=l([]),U=l(!0),P=l(""),T=l(!1),M=l(!1),$=l(!1),C=l(!1),p=l(null),k=null,h=l();async function W(){if(e(x))try{s(U,!0),s(P,"");const[t,r,n]=await Promise.all([y.getEnterprise(e(x)),y.listEnterprisePools(e(x)).catch(()=>[]),y.listEnterpriseInstances(e(x)).catch(()=>[])]);s(a,t),s(c,r),s(m,n)}catch(t){s(P,t instanceof Error?t.message:"Failed to load enterprise")}finally{s(U,!1)}}function he(t,r){const{events:n}=t;return{...r,events:n}}async function _e(t){if(e(a))try{await y.updateEnterprise(e(a).id,t),await W(),D.success("Enterprise Updated",`Enterprise ${e(a).name} has been updated successfully.`),s(T,!1)}catch(r){throw r}}async function be(){if(e(a)){try{await y.deleteEnterprise(e(a).id),ce(F("/enterprises"))}catch(t){const r=fe(t);D.error("Delete Failed",r)}s(M,!1)}}async function Ee(){if(e(p))try{await y.deleteInstance(e(p).name),D.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),s($,!1),s(p,null)}catch(t){const r=fe(t);D.error("Delete Failed",r),s($,!1),s(p,null)}}function xe(t){s(p,t),s($,!0)}function $e(){s(C,!0)}async function Ie(t){try{if(!e(a))return;await y.createEnterprisePool(e(a).id,t.detail),D.success("Pool Created",`Pool has been created successfully for enterprise ${e(a).name}.`),s(C,!1)}catch(r){throw r}}function J(){e(h)&&Oe(h,e(h).scrollTop=e(h).scrollHeight)}function we(t){if(t.operation==="update"){const r=t.payload;if(e(a)&&r.id===e(a).id){const n=e(a).events?.length||0,o=r.events?.length||0;s(a,he(e(a),r)),o>n&&setTimeout(()=>{J()},100)}}else if(t.operation==="delete"){const r=t.payload.id||t.payload;e(a)&&e(a).id===r&&ce(F("/enterprises"))}}function De(t){if(!e(a))return;const r=t.payload;if(r.enterprise_id===e(a).id){if(t.operation==="create")s(c,[...e(c),r]);else if(t.operation==="update")s(c,e(c).map(n=>n.id===r.id?r:n));else if(t.operation==="delete"){const n=r.id||r;s(c,e(c).filter(o=>o.id!==n))}}}function Pe(t){if(!e(a)||!e(c))return;const r=t.payload;if(e(c).some(o=>o.id===r.pool_id)){if(t.operation==="create")s(m,[...e(m),r]);else if(t.operation==="update")s(m,e(m).map(o=>o.id===r.id?r:o));else if(t.operation==="delete"){const o=r.id||r;s(m,e(m).filter(q=>q.id!==o))}}}Ge(()=>{W().then(()=>{e(a)?.events?.length&&setTimeout(()=>{J()},100)});const t=R.subscribeToEntity("enterprise",["update","delete"],we),r=R.subscribeToEntity("pool",["create","update","delete"],De),n=R.subscribeToEntity("instance",["create","update","delete"],Pe);k=()=>{t(),r(),n()}}),je(()=>{k&&(k(),k=null)}),Re(()=>V(),()=>{s(x,V().params.id)}),Ve(),qe();var K=ct();We(t=>{j(()=>Ke.title=`${e(a),i(()=>e(a)?`${e(a).name} - Enterprise Details`:"Enterprise Details")??""} - GARM`)});var L=B(K),H=u(L),O=u(H),N=u(O),Te=u(N);f(N);var Q=d(N,2),X=u(Q),Y=d(u(X),2),Me=u(Y,!0);f(Y),f(X),f(Q),f(O),f(H);var Ce=d(H,2);{var ke=t=>{var r=it();E(t,r)},Ae=t=>{var r=de(),n=B(r);{var o=_=>{var b=lt(),A=u(b),z=u(A,!0);f(A),f(b),j(()=>le(z,e(P))),E(_,b)},q=_=>{var b=de(),A=B(b);{var z=G=>{var ae=dt(),re=B(ae);{let I=v(()=>(e(a),i(()=>e(a).name||"Enterprise"))),w=v(()=>(e(a),i(()=>e(a).endpoint?.name))),Ne=v(()=>(ie(ue),i(()=>ue("github"))));st(re,{get title(){return e(I)},get subtitle(){return`Endpoint: ${e(w)??""} • GitHub Enterprise`},get forgeIcon(){return e(Ne)},onEdit:()=>s(T,!0),onDelete:()=>s(M,!0)})}var se=d(re,2);tt(se,{get entity(){return e(a)},entityType:"enterprise"});var ne=d(se,2);{let I=v(()=>(e(a),i(()=>e(a).id||""))),w=v(()=>(e(a),i(()=>e(a).name||"")));at(ne,{get pools(){return e(c)},entityType:"enterprise",get entityId(){return e(I)},get entityName(){return e(w)},$$events:{addPool:$e}})}var oe=d(ne,2);nt(oe,{get instances(){return e(m)},entityType:"enterprise",onDeleteInstance:xe});var He=d(oe,2);{let I=v(()=>(e(a),i(()=>e(a)?.events)));rt(He,{get events(){return e(I)},get eventsContainer(){return e(h)},set eventsContainer(w){s(h,w)},$$legacy:!0})}E(G,ae)};g(A,G=>{e(a)&&G(z)},!0)}E(_,b)};g(n,_=>{e(P)?_(o):_(q,!1)},!0)}E(t,r)};g(Ce,t=>{e(U)?t(ke):t(Ae,!1)})}f(L);var Z=d(L,2);{var Be=t=>{et(t,{get entity(){return e(a)},entityType:"enterprise",$$events:{close:()=>s(T,!1),submit:r=>_e(r.detail)}})};g(Z,t=>{e(T)&&e(a)&&t(Be)})}var ee=d(Z,2);{var Fe=t=>{pe(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a),i(()=>e(a).name)},$$events:{close:()=>s(M,!1),confirm:be}})};g(ee,t=>{e(M)&&e(a)&&t(Fe)})}var te=d(ee,2);{var Se=t=>{pe(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),i(()=>e(p).name)},$$events:{close:()=>{s($,!1),s(p,null)},confirm:Ee}})};g(te,t=>{e($)&&e(p)&&t(Se)})}var Ue=d(te,2);{var Le=t=>{{let r=v(()=>(e(a),i(()=>e(a).id||"")));ot(t,{initialEntityType:"enterprise",get initialEntityId(){return e(r)},$$events:{close:()=>s(C,!1),submit:Ie}})}};g(Ue,t=>{e(C)&&e(a)&&t(Le)})}j(t=>{Ye(Te,"href",t),le(Me,(e(a),i(()=>e(a)?e(a).name:"Loading...")))},[()=>(ie(F),i(()=>F("/enterprises")))]),E(me,K),Je(),ye()}export{Pt as component};
|