This removes some deprecated code. Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
import"../chunks/DsnmJJEf.js";import{i as He}from"../chunks/zNh6Oe5P.js";import{p as Ve,o as We,A as Ke,l as Qe,a as Xe,f as h,h as Ye,b as B,t as b,c as x,d as Ze,u as i,n as u,v as l,g as t,m as y,j as r,k as s,s as n,$ as ta,r as a,y as ut,B as Kt,q as N}from"../chunks/sWNKMed7.js";import{i as g,s as ea,a as aa}from"../chunks/Ccl3fNd2.js";import{w as Qt,e as ra,i as da}from"../chunks/BuuPrWMc.js";import{d as F,c as Xt,g as R,s as sa}from"../chunks/t8NOL8UT.js";import{p as ia}from"../chunks/-DWf2IZZ.js";import{g as Yt}from"../chunks/CaJ57PEy.js";import{U as oa}from"../chunks/DLiuxLBn.js";import{D as Zt}from"../chunks/Dxyf9P7U.js";import{D as na,I as la}from"../chunks/CMejw1Yi.js";import{t as D}from"../chunks/BZUCTtPY.js";import{e as P,i as C,j as te,b as L,g as ee}from"../chunks/Cbkm53HO.js";import{e as O}from"../chunks/BZiHL9L3.js";var va=h('<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 pool...</p></div>'),ca=h('<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>'),ma=h('<div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">GitHub Runner Group</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div>'),xa=h('<span class="inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200"> </span>'),ua=h('<div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Tags</dt> <dd class="mt-1"><div class="flex flex-wrap gap-2"></div></dd></div>'),ga=h('<div class="bg-white dark:bg-gray-800 shadow rounded-lg"><div class="px-4 py-5 sm:p-6"><h2 class="text-lg font-medium text-gray-900 dark:text-white mb-4">Extra Specifications</h2> <pre class="bg-gray-100 dark:bg-gray-700 p-4 rounded-md overflow-x-auto text-sm text-gray-900 dark:text-white font-mono"> </pre></div></div>'),pa=h('<!> <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"><div class="bg-white dark:bg-gray-800 shadow rounded-lg"><div class="px-4 py-5 sm:p-6"><h2 class="text-lg font-medium text-gray-900 dark:text-white mb-4">Basic Information</h2> <dl class="space-y-4"><div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Pool ID</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white font-mono"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Provider</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Image</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"><code class="bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs"> </code></dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Flavor</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Status</dt> <dd class="mt-1"><span> </span></dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Entity</dt> <dd class="mt-1"><div class="flex items-center space-x-2"><span class="inline-flex px-2 py-1 text-xs font-medium rounded-full bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200"> </span> <a class="text-sm text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300"> </a></div></dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Created At</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Updated At</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div></dl></div></div> <div class="bg-white dark:bg-gray-800 shadow rounded-lg"><div class="px-4 py-5 sm:p-6"><h2 class="text-lg font-medium text-gray-900 dark:text-white mb-4">Configuration</h2> <dl class="space-y-4"><div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Max Runners</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Min Idle Runners</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Bootstrap Timeout</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Priority</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">Runner Prefix</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <div><dt class="text-sm font-medium text-gray-500 dark:text-gray-400">OS Type / Architecture</dt> <dd class="mt-1 text-sm text-gray-900 dark:text-white"> </dd></div> <!> <!></dl></div></div></div> <!> <!>',1),fa=h('<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> Pools</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 Ua(ae,re){Ve(re,!1);const[de,se]=ea(),gt=()=>aa(ia,"$page",de),G=y();let e=y(null),J=y(!0),M=y(""),E=y(!1),A=y(!1),T=y(!1),p=y(null),U=null;async function ie(){if(t(G))try{n(J,!0),n(M,""),n(e,await R.getPool(t(G)))}catch(d){n(M,O(d))}finally{n(J,!1)}}async function oe(d){if(t(e))try{const o=await R.updatePool(t(e).id,d);n(e,o),n(E,!1),D.success("Pool Updated",`Pool ${t(e).id} has been updated successfully.`)}catch(o){const _=O(o);D.error("Update Failed",_)}}async function ne(){if(t(e)){try{await R.deletePool(t(e).id),Yt(F("/pools"))}catch(d){const o=O(d);D.error("Delete Failed",o)}n(A,!1)}}async function le(){if(t(p)){try{await R.deleteInstance(t(p).name),D.success("Instance Deleted",`Instance ${t(p).name} has been deleted successfully.`)}catch(d){const o=O(d);D.error("Delete Failed",o)}n(T,!1),n(p,null)}}function ve(d){n(p,d),n(T,!0)}function ce(d){if(!d)return"{}";try{if(typeof d=="string"){const o=JSON.parse(d);return JSON.stringify(o,null,2)}return JSON.stringify(d,null,2)}catch{return d.toString()}}function me(d){if(d.operation==="update"){const o=d.payload;t(e)&&o.id===t(e).id&&n(e,o)}else if(d.operation==="delete"){const o=d.payload.id||d.payload;t(e)&&t(e).id===o&&Yt(F("/pools"))}}function xe(d){if(!t(e)||!t(e).instances)return;const o=d.payload;if(o.pool_id===t(e).id){if(d.operation==="create")ut(e,t(e).instances=[...t(e).instances,o]);else if(d.operation==="update")ut(e,t(e).instances=t(e).instances.map(_=>_.id===o.id?o:_));else if(d.operation==="delete"){const _=o.id||o;ut(e,t(e).instances=t(e).instances.filter(H=>H.id!==_))}n(e,t(e))}}We(()=>{ie();const d=Qt.subscribeToEntity("pool",["update","delete"],me),o=Qt.subscribeToEntity("instance",["create","update","delete"],xe);U=()=>{d(),o()}}),Ke(()=>{U&&(U(),U=null)}),Qe(()=>gt(),()=>{n(G,gt().params.id)}),Xe(),He();var pt=fa();Ye(d=>{b(()=>ta.title=`${t(e),i(()=>t(e)?`Pool ${t(e).id} - Pool Details`:"Pool Details")??""} - GARM`)});var j=B(pt),q=r(j),ft=r(q),z=r(ft),ue=r(z);a(z);var _t=s(z,2),yt=r(_t),ht=s(r(yt),2),ge=r(ht,!0);a(ht),a(yt),a(_t),a(ft),a(q);var pe=s(q,2);{var fe=d=>{var o=va();x(d,o)},_e=d=>{var o=Kt(),_=B(o);{var H=k=>{var w=ca(),S=r(w),V=r(S,!0);a(S),a(w),b(()=>l(V,t(M))),x(k,w)},we=k=>{var w=Kt(),S=B(w);{var V=W=>{var wt=pa(),$t=B(wt);{let v=N(()=>(u(P),t(e),i(()=>P(t(e))))),c=N(()=>(u(C),t(e),i(()=>C(t(e))))),m=N(()=>(u(ee),t(e),i(()=>ee(t(e).endpoint?.endpoint_type||"unknown"))));na($t,{get title(){return t(e),i(()=>t(e).id)},get subtitle(){return`Pool for ${t(v)??""} (${t(c)??""})`},get forgeIcon(){return t(m)},onEdit:()=>n(E,!0),onDelete:()=>n(A,!0)})}var K=s($t,2),Q=r(K),Pt=r(Q),It=s(r(Pt),2),X=r(It),Dt=s(r(X),2),$e=r(Dt,!0);a(Dt),a(X);var Y=s(X,2),Mt=s(r(Y),2),Pe=r(Mt,!0);a(Mt),a(Y);var Z=s(Y,2),Et=s(r(Z),2),At=r(Et),Ie=r(At,!0);a(At),a(Et),a(Z);var tt=s(Z,2),Tt=s(r(tt),2),De=r(Tt,!0);a(Tt),a(tt);var et=s(tt,2),Ut=s(r(et),2),at=r(Ut),Me=r(at,!0);a(at),a(Ut),a(et);var rt=s(et,2),St=s(r(rt),2),Bt=r(St),dt=r(Bt),Ee=r(dt,!0);a(dt);var st=s(dt,2),Ae=r(st,!0);a(st),a(Bt),a(St),a(rt);var it=s(rt,2),Nt=s(r(it),2),Te=r(Nt,!0);a(Nt),a(it);var Ft=s(it,2),Rt=s(r(Ft),2),Ue=r(Rt,!0);a(Rt),a(Ft),a(It),a(Pt),a(Q);var Ct=s(Q,2),Lt=r(Ct),Ot=s(r(Lt),2),ot=r(Ot),Gt=s(r(ot),2),Se=r(Gt,!0);a(Gt),a(ot);var nt=s(ot,2),Jt=s(r(nt),2),Be=r(Jt,!0);a(Jt),a(nt);var lt=s(nt,2),jt=s(r(lt),2),Ne=r(jt);a(jt),a(lt);var vt=s(lt,2),qt=s(r(vt),2),Fe=r(qt,!0);a(qt),a(vt);var ct=s(vt,2),zt=s(r(ct),2),Re=r(zt,!0);a(zt),a(ct);var mt=s(ct,2),Ht=s(r(mt),2),Ce=r(Ht);a(Ht),a(mt);var Vt=s(mt,2);{var Le=v=>{var c=ma(),m=s(r(c),2),f=r(m,!0);a(m),a(c),b(()=>l(f,(t(e),i(()=>t(e)["github-runner-group"])))),x(v,c)};g(Vt,v=>{t(e),i(()=>t(e)["github-runner-group"])&&v(Le)})}var Oe=s(Vt,2);{var Ge=v=>{var c=ua(),m=s(r(c),2),f=r(m);ra(f,5,()=>(t(e),i(()=>t(e).tags)),da,(I,$)=>{var xt=xa(),ze=r(xt,!0);a(xt),b(()=>l(ze,(t($),i(()=>typeof t($)=="string"?t($):t($).name)))),x(I,xt)}),a(f),a(m),a(c),x(v,c)};g(Oe,v=>{t(e),i(()=>t(e).tags&&t(e).tags.length>0)&&v(Ge)})}a(Ot),a(Lt),a(Ct),a(K);var Wt=s(K,2);{var Je=v=>{var c=ga(),m=r(c),f=s(r(m),2),I=r(f,!0);a(f),a(m),a(c),b($=>l(I,$),[()=>(t(e),i(()=>ce(t(e).extra_specs)))]),x(v,c)};g(Wt,v=>{t(e),i(()=>t(e).extra_specs)&&v(Je)})}var je=s(Wt,2);{var qe=v=>{la(v,{get instances(){return t(e),i(()=>t(e).instances)},entityType:"repository",onDeleteInstance:ve})};g(je,v=>{t(e),i(()=>t(e).instances)&&v(qe)})}b((v,c,m,f,I)=>{l($e,(t(e),i(()=>t(e).id))),l(Pe,(t(e),i(()=>t(e).provider_name))),l(Ie,(t(e),i(()=>t(e).image))),l(De,(t(e),i(()=>t(e).flavor))),sa(at,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),l(Me,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),l(Ee,v),Xt(st,"href",c),l(Ae,m),l(Te,f),l(Ue,I),l(Se,(t(e),i(()=>t(e).max_runners))),l(Be,(t(e),i(()=>t(e).min_idle_runners))),l(Ne,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),l(Fe,(t(e),i(()=>t(e).priority))),l(Re,(t(e),i(()=>t(e).runner_prefix||"garm"))),l(Ce,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`)},[()=>(u(C),t(e),i(()=>C(t(e)))),()=>(u(te),t(e),i(()=>te(t(e)))),()=>(u(P),t(e),i(()=>P(t(e)))),()=>(u(L),t(e),i(()=>L(t(e).created_at||""))),()=>(u(L),t(e),i(()=>L(t(e).updated_at||"")))]),x(W,wt)};g(S,W=>{t(e)&&W(V)},!0)}x(k,w)};g(_,k=>{t(M)?k(H):k(we,!1)},!0)}x(d,o)};g(pe,d=>{t(J)?d(fe):d(_e,!1)})}a(j);var bt=s(j,2);{var ye=d=>{oa(d,{get pool(){return t(e)},$$events:{close:()=>n(E,!1),submit:o=>oe(o.detail)}})};g(bt,d=>{t(E)&&t(e)&&d(ye)})}var kt=s(bt,2);{var he=d=>{{let o=N(()=>(t(e),u(P),i(()=>`Pool ${t(e).id} (${P(t(e))})`)));Zt(d,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(o)},$$events:{close:()=>n(A,!1),confirm:ne}})}};g(kt,d=>{t(A)&&t(e)&&d(he)})}var be=s(kt,2);{var ke=d=>{Zt(d,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(p),i(()=>t(p).name)},$$events:{close:()=>{n(T,!1),n(p,null)},confirm:le}})};g(be,d=>{t(T)&&t(p)&&d(ke)})}b(d=>{Xt(ue,"href",d),l(ge,(t(e),i(()=>t(e)?t(e).id:"Loading...")))},[()=>(u(F),i(()=>F("/pools")))]),x(ae,pt),Ze(),se()}export{Ua as component};
|