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/DVl4ZBgx.js";import{p as ia}from"../chunks/CJwphPxi.js";import{g as Yt}from"../chunks/CPCsbdkz.js";import{U as oa}from"../chunks/BOoHOAHB.js";import{D as Zt}from"../chunks/kJjQhR0J.js";import{D as na,I as la}from"../chunks/0ZGtv6cq.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/cjRLNre3.js";import{e as O}from"../chunks/BZiHL9L3.js";var va=h('
'),ca=h(''),ma=h('GitHub Runner Group '),xa=h(' '),ua=h(''),ga=h(''),pa=h(' Basic Information
- Pool ID
-
- Provider
-
- Image
- Flavor
-
- Status
-
- Created At
-
- Updated At
-
Configuration
- Max Runners
-
- Min Idle Runners
-
- Bootstrap Timeout
-
- Priority
-
- Runner Prefix
-
- OS Type / Architecture
-
',1),fa=h(' ',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};