1import{aC as w,r as o,L as c,G as d,Z as e,z as b,a0 as _,aE as B,S as u,T as g,H as M,Y as I,u as V,K as m,a5 as D}from"./vue-vendor-CyH4x1-E.js";import{B as E}from"./BackSubheader-BbaGtzwy.js";import{_ as P,P as y,t as N}from"./main-CMIpD3jd.js";import{T as q}from"./TokenCreatedModal-epgLyQtl.js";import{u as F}from"./api-tokens-service-3NkM5S-6.js";import"./tanstack-vendor-BkJgoSrC.js";import"./form-vendor-CKjjkstR.js";import"./auth-vendor-BCsRLuQJ.js";import"./utils-vendor-BqjKlC8F.js";import"./ui-components-BvRCf8IE.js";import"./ui-vendor-Kc4f6fey.js";const G={class:"add-token-page"},L={class:"form-card"},U={class:"form-row"},W={class:"form-input-col"},$={key:0,class:"error-msg"},z={class:"form-row"},H={class:"form-input-col"},K=["id","value"],R=["for"],Y={class:"scope-name"},Z={class:"scope-desc"},j={key:0,class:"error-msg"},J={class:"form-actions"},O={__name:"AddToken",setup(Q){const v=w(),h=[{value:"Admin",label:"Admin",description:"full control"},{value:"Stats",label:"Stats",description:"read access to metrics / stats"},{value:"Deployments/Incidents",label:"Deployments / Incidents",description:"access to send deployment and incident data to Waydev"}],l=o(""),n=o([]),i=o(""),r=o(""),p=o(!1),f=o(""),k=F(),C=()=>{i.value="",r.value="";let t=!0;return l.value.trim()||(i.value="Token name is required.",t=!1),n.value.length===0&&(r.value="Select at least one scope.",t=!1),t},S=async()=>{var t;if(C())try{const a=await k.mutateAsync({name:l.value.trim(),scopes:n.value});f.value=((t=a==null?void 0:a.data)==null?void 0:t.token)??(a==null?void 0:a.token)??"",p.value=!0}catch(a){N.showError(a||"Failed to generate token")}},T=()=>v.push("/aggregation/connectivity"),x=()=>{p.value=!1,v.push("/aggregation/connectivity")};return(t,a)=>(m(),c("div",G,[d(E,{breadcrumbs:[{label:"Connectivity",to:"/aggregation/connectivity"},{label:"Waydev API",to:"/aggregation/connectivity#api"},{label:"Add new token"}]}),e("div",L,[e("div",U,[a[2]||(a[2]=e("div",{class:"form-label-col"},[e("label",{class:"form-label"},[b(" Token name "),e("i",{class:"fa fa-asterisk required-star","aria-hidden":"true"})]),e("span",{class:"form-help"}," A memorable name to identify this token's purpose. ")],-1)),e("div",W,[_(e("input",{"onUpdate:modelValue":a[0]||(a[0]=s=>l.value=s),type:"text",class:"formkit-input",placeholder:"e.g. CI/CD Pipeline Integration"},null,512),[[B,l.value]]),i.value?(m(),c("span",$,u(i.value),1)):g("",!0)])]),a[4]||(a[4]=e("div",{class:"form-divider"},null,-1)),e("div",z,[a[3]||(a[3]=e("div",{class:"form-label-col"},[e("label",{class:"form-label"},[b(" Scopes "),e("i",{class:"fa fa-asterisk required-star","aria-hidden":"true"})]),e("span",{class:"form-help"},"Select the permissions granted to this token.")],-1)),e("div",H,[(m(),c(M,null,I(h,s=>e("div",{key:s.value,class:"scope-item"},[_(e("input",{id:`scope-${s.value}`,"onUpdate:modelValue":a[1]||(a[1]=A=>n.value=A),type:"checkbox",value:s.value,class:"scope-checkbox"},null,8,K),[[D,n.value]]),e("label",{for:`scope-${s.value}`,class:"scope-label"},[e("span",Y,u(s.label),1),e("span",Z,u(s.description),1)],8,R)])),64)),r.value?(m(),c("span",j,u(r.value),1)):g("",!0)])]),a[5]||(a[5]=e("div",{class:"form-divider"},null,-1)),e("div",J,[d(y,{variant:"cancel",label:"Cancel",onClick:T}),d(y,{label:"Generate token",variant:"primary","is-loading":V(k).isPending.value,onClick:S},null,8,["is-loading"])])]),d(q,{"is-open":p.value,token:f.value,onClose:x},null,8,["is-open","token"])]))}},de=P(O,[["__scopeId","data-v-a7b6c23a"]]);export{de as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.