1import $ from"./BO_wHg7V.js";import{u as q}from"./CSQgM3SS.js";import{a as j,C as H,z as O}from"#entry";import{aC as T,U as M,ad as V,e as z,F as Q}from"./B9SPuWlS.js";import{i as g,e as Z,a as D}from"./BP6KYo0g.js";import{aN as G,ag as i,r as p,aE as a,o as J,y as o,q as K,aQ as w,Z as R,p as A,x as I,al as l,aH as W,ac as X}from"./CT7wXifU.js";import"./D6trejea.js";import"./Cp2c5yTg.js";const Y={class:"px-md-10 mx-1md-0 pa-4 py-md-10"},ee={key:0,class:"overlay-component",style:{"z-index":"99"}},ae={class:"loader-container"},se={key:1},le={key:2},te={__name:"UserAddEdit",props:{userId:{type:[String,Number,null],default:null}},setup(b){const v=b,y=j(),n=H(),{$toast:u}=T(),{getApiCalls:U,postApiCalls:B,putApiCalls:P,secureEndpoint:N}=q(),k=l(null),d=l(null),c=l(null),m=l(null),f=l(null),_=l(!1),r=l(!1),x=l(null),C=l(null),E=l(null),S=l(null);G(()=>v.userId,async t=>{if(t)try{r.value=!0,_.value=!0;const s=(await U(N.USER,{id:parseInt(v.userId)}))[0];k.value=s.id,d.value=s.email,m.value=s.first_name,f.value=s.last_name,r.value=!1}catch{r.value=!1,_.value=!1,n.push("/admin/all-settings")}},{immediate:!0});const h=async t=>{const e=await D({firstNameRef:x.value,lastNameRef:C.value,emailRef:E.value,passwordRef:S.value});e&&t===!1?await F():e&&t===!0?await L():u.error("Please fill out the required fields",{duration:15e3})},F=async()=>{try{r.value=!0;const t={email:d.value,organization:y.organization.id,password:c.value,first_name:m.value,last_name:f.value};await B(N.USER,t),u.success("User created successfully",{duration:15e3}),r.value=!1,n.push("/admin/all-settings")}catch{r.value=!1,n.push("/admin/all-settings")}},L=async()=>{try{r.value=!0;const t={id:k.value,email:d.value,organization:y.organization.id,password:c.value,first_name:m.value,last_name:f.value};await P(N.USER,t),u.success("User Updated successfully",{duration:15e3}),r.value=!1,n.push("/admin/all-settings")}catch{r.value=!1,n.push("/admin/all-settings")}};return(t,e)=>(i(),p("div",Y,[a(r)?(i(),p("div",ee,[J("div",ae,[o(M,{indeterminate:"",size:"64",color:"primary"})])])):K("",!0),a(_)?(i(),p("h1",le,"Edit User")):(i(),p("h1",se,"Add User")),o(Q,null,{default:w(()=>[o(V,{modelValue:a(m),"onUpdate:modelValue":e[0]||(e[0]=s=>R(m)?m.value=s:null),label:"First Name",name:"First Name",rules:[a(g)],ref_key:"firstNameRef",ref:x,variant:"outlined",density:"comfortable"},null,8,["modelValue","rules"]),o(V,{modelValue:a(f),"onUpdate:modelValue":e[1]||(e[1]=s=>R(f)?f.value=s:null),label:"Last Name",name:"Last Name",rules:[a(g)],ref_key:"lastNameRef",ref:C,variant:"outlined",density:"comfortable"},null,8,["modelValue","rules"]),o(V,{modelValue:a(d),"onUpdate:modelValue":e[2]||(e[2]=s=>R(d)?d.value=s:null),label:"Email",name:"Email",rules:[a(g),a(Z)],ref_key:"emailRef",ref:E,variant:"outlined",density:"comfortable"},null,8,["modelValue","rules"]),o(V,{modelValue:a(c),"onUpdate:modelValue":e[3]||(e[3]=s=>R(c)?c.value=s:null),label:"Password",name:"Password",rules:[a(g)],ref_key:"passwordRef",ref:S,variant:"outlined",density:"comfortable"},null,8,["modelValue","rules"]),a(_)?(i(),A(z,{key:1,class:"save-button mr-4",onClick:e[5]||(e[5]=s=>h(!0))},{default:w(()=>[...e[7]||(e[7]=[I("Update",-1)])]),_:1})):(i(),A(z,{key:0,class:"save-button mr-4",onClick:e[4]||(e[4]=s=>h(!1))},{default:w(()=>[...e[6]||(e[6]=[I("Save",-1)])]),_:1}))]),_:1})]))}},ce={__name:"[slug]",setup(b){const v=W();O({meta:[{name:"robots",content:"noindex"}]});const y=l("User Add/Edit"),n=l("");return X(()=>{const u=v.params.slug;u!=="new"&&(n.value=u)}),(u,U)=>(i(),p("div",null,[o(a($),{header:a(y)},null,8,["header"]),o(a(te),{userId:a(n)},null,8,["userId"])]))}};export{ce 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.