garm/webapp/assets/_app/immutable/nodes/16.BJFjRZt-.js
Gabriel Adrian Samfira 54c6571ccd Update test workflow
Add steps to test the Web UI and to run go generate.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-21 21:00:27 +00:00

1 line
7.7 KiB
JavaScript

import"../chunks/DsnmJJEf.js";import{i as ze}from"../chunks/zNh6Oe5P.js";import{p as He,o as je,A as Ge,l as Oe,a as Ve,f as S,h as Je,b as C,t as H,c as w,d as Ke,u as s,n as de,v as ce,g as e,m as l,j as u,k as d,s as r,$ as Qe,r as f,y as Xe,B as pe,q as m}from"../chunks/sWNKMed7.js";import{i as g,s as Ye,a as Ze}from"../chunks/Ccl3fNd2.js";import{d as A,c as et,g as h}from"../chunks/D30EsFKH.js";import{p as tt}from"../chunks/DubtptHG.js";import{g as ue}from"../chunks/CeO1pnaq.js";import{U as ot}from"../chunks/DAUYzF7s.js";import{D as fe}from"../chunks/B6BdCO3z.js";import{E as at,P as rt,a as st}from"../chunks/B-C7pZX9.js";import{D as nt,I as it}from"../chunks/MZdleLKl.js";import{g as me}from"../chunks/DyvUHRqW.js";import{e as j}from"../chunks/BZiHL9L3.js";import{W as lt}from"../chunks/CHldIK8x.js";import{C as dt}from"../chunks/CLrK9xMi.js";import{w as G}from"../chunks/BuuPrWMc.js";import{t as R}from"../chunks/BZUCTtPY.js";var ct=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 repository...</p></div>'),pt=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>'),ut=S("<!> <!> <!> <!> <!> <!>",1),ft=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> Repositories</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 kt(ye,ve){He(ve,!1);const[ge,he]=Ye(),O=()=>Ze(tt,"$page",ge),x=l();let t=l(null),c=l([]),y=l([]),B=l(!0),E=l(""),D=l(!1),T=l(!1),I=l(!1),P=l(!1),p=l(null),M=null,_=l();async function V(){if(e(x))try{r(B,!0),r(E,"");const[o,a,n]=await Promise.all([h.getRepository(e(x)),h.listRepositoryPools(e(x)).catch(()=>[]),h.listRepositoryInstances(e(x)).catch(()=>[])]);r(t,o),r(c,a),r(y,n)}catch(o){r(E,j(o))}finally{r(B,!1)}}function _e(o,a){const{events:n}=o;return{...a,events:n}}async function $e(o){if(e(t))try{await h.updateRepository(e(t).id,o),await V(),R.success("Repository Updated",`Repository ${e(t).owner}/${e(t).name} has been updated successfully.`),r(D,!1)}catch(a){throw a}}async function be(){if(e(t)){try{await h.deleteRepository(e(t).id),ue(A("/repositories"))}catch(o){const a=j(o);R.error("Delete Failed",a)}r(T,!1)}}async function we(){if(e(p))try{await h.deleteInstance(e(p).name),R.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),r(I,!1),r(p,null)}catch(o){const a=j(o);R.error("Delete Failed",a),r(I,!1),r(p,null)}}function xe(o){r(p,o),r(I,!0)}function Ie(){r(P,!0)}async function Re(o){try{if(!e(t))return;await h.createRepositoryPool(e(t).id,o.detail),R.success("Pool Created",`Pool has been created successfully for repository ${e(t).owner}/${e(t).name}.`),r(P,!1)}catch(a){throw a}}function J(){e(_)&&Xe(_,e(_).scrollTop=e(_).scrollHeight)}function Ee(o){if(o.operation==="update"){const a=o.payload;if(e(t)&&a.id===e(t).id){const n=e(t).events?.length||0,i=a.events?.length||0;r(t,_e(e(t),a)),i>n&&setTimeout(()=>{J()},100)}}else if(o.operation==="delete"){const a=o.payload.id||o.payload;e(t)&&e(t).id===a&&ue(A("/repositories"))}}function De(o){if(!e(t))return;const a=o.payload;if(a.repo_id===e(t).id){if(o.operation==="create")r(c,[...e(c),a]);else if(o.operation==="update")r(c,e(c).map(n=>n.id===a.id?a:n));else if(o.operation==="delete"){const n=a.id||a;r(c,e(c).filter(i=>i.id!==n))}}}function Te(o){if(!e(t)||!e(c))return;const a=o.payload;if(e(c).some(i=>i.id===a.pool_id)){if(o.operation==="create")r(y,[...e(y),a]);else if(o.operation==="update")r(y,e(y).map(i=>i.id===a.id?a:i));else if(o.operation==="delete"){const i=a.id||a;r(y,e(y).filter(N=>N.id!==i))}}}je(()=>{V().then(()=>{e(t)?.events?.length&&setTimeout(()=>{J()},100)});const o=G.subscribeToEntity("repository",["update","delete"],Ee),a=G.subscribeToEntity("pool",["create","update","delete"],De),n=G.subscribeToEntity("instance",["create","update","delete"],Te);M=()=>{o(),a(),n()}}),Ge(()=>{M&&(M(),M=null)}),Oe(()=>O(),()=>{r(x,O().params.id)}),Ve(),ze();var K=ft();Je(o=>{H(()=>Qe.title=`${e(t),s(()=>e(t)?`${e(t).name} - Repository Details`:"Repository Details")??""} - GARM`)});var U=C(K),F=u(U),Q=u(F),L=u(Q),Pe=u(L);f(L);var X=d(L,2),Y=u(X),Z=d(u(Y),2),Me=u(Z,!0);f(Z),f(Y),f(X),f(Q),f(F);var ke=d(F,2);{var Ce=o=>{var a=ct();w(o,a)},Ae=o=>{var a=pe(),n=C(a);{var i=$=>{var b=pt(),k=u(b),W=u(k,!0);f(k),f(b),H(()=>ce(W,e(E))),w($,b)},N=$=>{var b=pe(),k=C(b);{var W=q=>{var ae=ut(),re=C(ae);{let v=m(()=>(e(t),s(()=>e(t).name||"Repository"))),z=m(()=>(e(t),s(()=>e(t).owner))),We=m(()=>(e(t),s(()=>e(t).endpoint?.name))),qe=m(()=>(de(me),e(t),s(()=>me(e(t).endpoint?.endpoint_type||"unknown"))));nt(re,{get title(){return e(v)},get subtitle(){return`Owner: ${e(z)??""} • Endpoint: ${e(We)??""}`},get forgeIcon(){return e(qe)},onEdit:()=>r(D,!0),onDelete:()=>r(T,!0)})}var se=d(re,2);at(se,{get entity(){return e(t)},entityType:"repository"});var ne=d(se,2);{let v=m(()=>(e(t),s(()=>e(t).id||"")));lt(ne,{entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),s(()=>e(t).owner)??""}/${e(t),s(()=>e(t).name)??""}`}})}var ie=d(ne,2);{let v=m(()=>(e(t),s(()=>e(t).id||"")));rt(ie,{get pools(){return e(c)},entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),s(()=>e(t).owner)??""}/${e(t),s(()=>e(t).name)??""}`},$$events:{addPool:Ie}})}var le=d(ie,2);it(le,{get instances(){return e(y)},entityType:"repository",onDeleteInstance:xe});var Ne=d(le,2);{let v=m(()=>(e(t),s(()=>e(t)?.events)));st(Ne,{get events(){return e(v)},get eventsContainer(){return e(_)},set eventsContainer(z){r(_,z)},$$legacy:!0})}w(q,ae)};g(k,q=>{e(t)&&q(W)},!0)}w($,b)};g(n,$=>{e(E)?$(i):$(N,!1)},!0)}w(o,a)};g(ke,o=>{e(B)?o(Ce):o(Ae,!1)})}f(U);var ee=d(U,2);{var Se=o=>{ot(o,{get entity(){return e(t)},entityType:"repository",$$events:{close:()=>r(D,!1),submit:a=>$e(a.detail)}})};g(ee,o=>{e(D)&&e(t)&&o(Se)})}var te=d(ee,2);{var Be=o=>{{let a=m(()=>(e(t),s(()=>`${e(t).owner}/${e(t).name}`)));fe(o,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a)},$$events:{close:()=>r(T,!1),confirm:be}})}};g(te,o=>{e(T)&&e(t)&&o(Be)})}var oe=d(te,2);{var Ue=o=>{fe(o,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),s(()=>e(p).name)},$$events:{close:()=>{r(I,!1),r(p,null)},confirm:we}})};g(oe,o=>{e(I)&&e(p)&&o(Ue)})}var Fe=d(oe,2);{var Le=o=>{{let a=m(()=>(e(t),s(()=>e(t).id||"")));dt(o,{initialEntityType:"repository",get initialEntityId(){return e(a)},$$events:{close:()=>r(P,!1),submit:Re}})}};g(Fe,o=>{e(P)&&e(t)&&o(Le)})}H(o=>{et(Pe,"href",o),ce(Me,(e(t),s(()=>e(t)?e(t).name:"Loading...")))},[()=>(de(A),s(()=>A("/repositories")))]),w(ye,K),Ke(),he()}export{kt as component};