1import{o as ne,b as d,e as x,j as l,w as e,h as f,g as C,k as P,V as G,v as m,N as ie,I as se,a6 as oe,t as D,M as ue,ab as de,D as be,B as K,C as y,aw as re,y as q,s as j,a7 as ce,L as ge,at as fe,aR as me,aS as O,aB as le,f as J,ai as te,c as Q,r,ae as ve,E as ae,aC as B,au as V,ay as pe,u as ye,G as _e,ag as Se}from"./index-DUWew8AW.js";import{_ as Ce}from"./PageContent-_L2qDZ3g.js";import{P as Ve}from"./PageHeader-CuloWWA-.js";import{u as Ie}from"./useClipboard-DFAVkIcF.js";import{_ as ke}from"./GroupClientsSelect-CpYI77WN.js";const Te={key:0},xe=["href"],Ue=["onClick"],$e={key:0},Ne={key:0},Re={__name:"ClientCredentialsTable",props:["client"],setup(w){const b=w,{showErrorNotification:k,showSuccessNotification:g}=ye(),{copyToClipboard:U}=Ie(),{requiredTextRule:W}=ve(),{can:$}=pe(),v=Q(()=>$("manage","Clients")),_=r(!1),H=r([{title:"Credential Type",key:"CredentialType.name"},{title:"Identifier",key:"identifier"},{title:"URL",key:"url"},{title:"Username",key:"username"},{title:"Password",key:"password",align:"center",sortable:!1},{title:"Notes",key:"notes",align:"center",sortable:!1},{title:"Actions",key:"actions",sortable:!1,align:"end"}]),E=r([]),N={clientId:b.client.id},i=r({...N}),u=r([]),S=r([]),I=r(!1),F=r(!1),T=r(null),L=Q(()=>{var o;return(o=i.value)!=null&&o.id?"Edit Credential":"New Credential"});async function X(){const o=await V.getClientCredentials(b.client.id);S.value=o.data}async function Y(){const o=await V.getCredentialTypesDictionary();E.value=o.data}async function R(){_.value=!0,await Promise.allSettled([X(),Y()]),_.value=!1}function M(){I.value=!1,i.value={...N},u.value=[]}function Z(){i.value={...N},u.value=[],I.value=!0}function h(o){i.value={...o},I.value=!0}async function s(o){try{await V.updateClientCredential(o.id,o),g("Credential has been updated successfully."),M(),R()}catch{k()}}async function n(o){var a,p;const t=u.value.length?[b.client.id,...u.value]:null;try{const A=await V.postClientCredential(t?{...o,clientIds:t}:o);if(t){const z=A.data.length;g(`Credential has been created for ${z} ${z===1?"client":"clients"}.`)}else g("Credential has been created successfully.");M(),R()}catch(A){const z=(p=(a=A.response)==null?void 0:a.data)==null?void 0:p.error;t&&z?k(z):k()}}async function c(){T.value.validate(),await ae(),F.value&&(i.value.id?await s(i.value):await n(i.value))}async function ee(o){try{await V.deleteClientCredential(o.id),g("Credential has been deleted successfully."),R()}catch{k()}}function we(o){B.emit("delete"),B.on("confirmation",t=>{t&&ee(o),B.off("confirmation")})}return ne(()=>{R()}),(o,t)=>(d(),x("div",null,[l(Ve,{"sub-header":!0},{right:e(()=>[v.value?(d(),C(P,{key:0,color:"primary",onClick:Z},{default:e(()=>[l(G,{size:"small",start:""},{default:e(()=>[...t[9]||(t[9]=[f("add",-1)])]),_:1}),t[10]||(t[10]=f(" New Credential ",-1))]),_:1})):m("",!0),l(ie,{modelValue:I.value,"onUpdate:modelValue":t[8]||(t[8]=a=>I.value=a),"max-width":"720px"},{default:e(()=>[l(se,null,{default:e(()=>[l(oe,null,{default:e(()=>[f(D(L.value),1)]),_:1}),l(ue,null,{default:e(()=>[l(de,{ref_key:"form",ref:T,modelValue:F.value,"onUpdate:modelValue":t[7]||(t[7]=a=>F.value=a)},{default:e(()=>[l(be,null,{default:e(()=>[l(K,null,{default:e(()=>[l(y,{cols:"12",sm:"12",md:"12"},{default:e(()=>[l(re,{items:E.value,modelValue:i.value.typeId,"onUpdate:modelValue":t[0]||(t[0]=a=>i.value.typeId=a),"item-title":"name","item-value":"id",variant:"filled",label:"Credential Type",rules:q(W),required:""},null,8,["items","modelValue","rules"])]),_:1}),l(y,{cols:"12",sm:"6",md:"12"},{default:e(()=>[l(j,{variant:"filled",modelValue:i.value.identifier,"onUpdate:modelValue":t[1]||(t[1]=a=>i.value.identifier=a),label:"Identifier"},null,8,["modelValue"])]),_:1}),l(y,{cols:"12",sm:"6",md:"12"},{default:e(()=>[l(j,{variant:"filled",modelValue:i.value.url,"onUpdate:modelValue":t[2]||(t[2]=a=>i.value.url=a),label:"URL"},null,8,["modelValue"])]),_:1}),l(y,{cols:"12",sm:"6",md:"6"},{default:e(()=>[l(j,{variant:"filled",modelValue:i.value.username,"onUpdate:modelValue":t[3]||(t[3]=a=>i.value.username=a),label:"Username"},null,8,["modelValue"])]),_:1}),l(y,{cols:"12",sm:"6",md:"6"},{default:e(()=>[l(j,{variant:"filled",modelValue:i.value.password,"onUpdate:modelValue":t[4]||(t[4]=a=>i.value.password=a),label:"Password"},null,8,["modelValue"])]),_:1}),l(y,{cols:"12",sm:"6",md:"12"},{default:e(()=>[l(j,{variant:"filled",modelValue:i.value.notes,"onUpdate:modelValue":t[5]||(t[5]=a=>i.value.notes=a),label:"Notes"},null,8,["modelValue"])]),_:1}),i.value.id?m("",!0):(d(),C(y,{key:0,cols:"12"},{default:e(()=>[l(ke,{client:w.client,value:u.value,onInput:t[6]||(t[6]=a=>u.value=a)},null,8,["client","value"])]),_:1}))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(ce,null,{default:e(()=>[l(ge),l(P,{variant:"text",color:"error",onClick:M},{default:e(()=>[...t[11]||(t[11]=[f("Cancel",-1)])]),_:1}),v.value?(d(),C(P,{key:0,color:"primary",onClick:c},{default:e(()=>[...t[12]||(t[12]=[f("Save",-1)])]),_:1})):m("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])]),default:e(()=>[t[13]||(t[13]=f(" Logins & Information ",-1))]),_:1}),l(Ce,null,{default:e(()=>[l(K,{class:"w-full"},{default:e(()=>[l(fe,{flat:"",headers:H.value,items:S.value,"items-per-page-options":[10,20,30,40,300],"items-per-page":300,loading:_.value,class:"elevation-0 w-full"},{"item.url":e(({item:a})=>[a.url?(d(),x("div",Te,[l(le,{location:"top"},{activator:e(({props:p})=>[J("a",te({href:a.url,target:"_blank"},p),[l(G,null,{default:e(()=>[...t[14]||(t[14]=[f("fas fa-external-link-alt",-1)])]),_:1})],16,xe)]),default:e(()=>[J("span",null,D(a.url),1)]),_:2},1024)])):m("",!0)]),"item.username":e(({item:a})=>[a.username?(d(),x("div",{key:0,class:"cursor-pointer",onClick:p=>q(U)(a.username,"Username")},D(a.username),9,Ue)):m("",!0)]),"item.password":e(({item:a})=>[a.password?(d(),x("div",$e,[l(le,{location:"top"},{activator:e(({props:p})=>[l(G,te({class:"cursor-pointer",onClick:A=>q(U)(a.password,"Password")},p),{default:e(()=>[...t[15]||(t[15]=[f(" fas fa-key ",-1)])]),_:1},16,["onClick"])]),default:e(()=>[J("span",null,D(a.password),1)]),_:2},1024)])):m("",!0)]),"item.notes":e(({item:a})=>[a.notes?(d(),x("div",Ne,[l(le,{location:"top"},{activator:e(({props:p})=>[l(G,te({class:"cursor-pointer",onClick:A=>q(U)(a.notes,"Notes")},p),{default:e(()=>[...t[16]||(t[16]=[f(" fas fa-file ",-1)])]),_:1},16,["onClick"])]),default:e(()=>[J("span",null,D(a.notes),1)]),_:2},1024)])):m("",!0)]),"item.actions":e(({item:a})=>[l(me,null,{default:e(()=>[v.value?(d(),C(O,{key:0,action:"edit",onClick:p=>h(a)},null,8,["onClick"])):m("",!0),v.value?(d(),C(O,{key:1,action:"delete",onClick:p=>we(a)},null,8,["onClick"])):m("",!0)]),_:2},1024)]),_:1},8,["headers","items","loading"])]),_:1})]),_:1})]))}},De={__name:"ClientScriptsTable",props:["client"],setup(w){const b=w,{showErrorNotification:k,showSuccessNotification:g}=ye(),{requiredTextRule:U}=ve(),{can:W}=pe(),$=Q(()=>W("manage","Clients")),v=r(!1),_=r(!0),H=r(null),E=r([]),N=r([]),i={clientId:b.client.id},u=r({...i}),S=r([]),I=[{title:"Script Type",key:"ScriptType.name"},{title:"Script",key:"body"},{title:"Actions",key:"actions",sortable:!1,align:"end"}],F=Q(()=>{var s;return(s=u.value)!=null&&s.id?"Edit Script":"New Script"}),T=()=>{V.getClientScripts(b.client.id).then(s=>{E.value=s.data}),V.getCredentialScriptTypesDictionary().then(s=>{N.value=s.data})};ne(()=>{T()}),_e(v,s=>{s&&(S.value=[])});const L=()=>{v.value=!1,ae(()=>{u.value={...i}})},X=async s=>{await V.updateClientScript(s.id,s).then(()=>{g("Script has been updated."),L(),T()}).catch(()=>{k()})},Y=async s=>{const n=S.value.length?[b.client.id,...S.value]:null;await V.postClientScript(n?{...s,clientIds:n}:s).then(()=>{g(n?`Script has been created for ${n.length} clients.`:"Script has been created."),L(),T()}).catch(()=>{k()})},R=async s=>{await V.deleteClientScript(s.id).then(()=>{g("Script has been deleted."),T()}).catch(()=>{k()})},M=s=>{u.value={...s},v.value=!0},Z=s=>{B.emit("delete"),B.on("confirmation",n=>
1{n&&R(s),B.off("confirmation")})},h=async()=>{H.value.validate(),await ae(),_.value&&(u.value.id?await X(u.value):await Y(u.value))};return(s,n)=>(d(),x("div",null,[l(Ve,{"sub-header":!0},{right:e(()=>[$.value?(d(),C(P,{key:0,color:"primary",onClick:n[0]||(n[0]=c=>v.value=!0)},{default:e(()=>[l(G,{size:"small",start:""},{default:e(()=>[...n[6]||(n[6]=[f("add",-1)])]),_:1}),n[7]||(n[7]=f(" New Script ",-1))]),_:1})):m("",!0),l(ie,{modelValue:v.value,"onUpdate:modelValue":n[5]||(n[5]=c=>v.value=c),"max-width":"500px"},{default:e(()=>[l(se,null,{default:e(()=>[l(oe,null,{default:e(()=>[f(D(F.value),1)]),_:1}),l(ue,null,{default:e(()=>[l(de,{ref_key:"form",ref:H,modelValue:_.value,"onUpdate:modelValue":n[4]||(n[4]=c=>_.value=c)},{default:e(()=>[l(K,null,{default:e(()=>[l(y,{cols:"12",sm:"12",md:"12"},{default:e(()=>[l(re,{items:N.value,modelValue:u.value.scriptTypeId,"onUpdate:modelValue":n[1]||(n[1]=c=>u.value.scriptTypeId=c),rules:q(U),required:"","item-title":"name","item-value":"id",variant:"filled",label:"Profile Type"},null,8,["items","modelValue","rules"])]),_:1}),l(y,{cols:"12",sm:"6",md:"12"},{default:e(()=>[l(Se,{name:"input-7-4",rules:q(U),required:"",modelValue:u.value.body,"onUpdate:modelValue":n[2]||(n[2]=c=>u.value.body=c),label:"Script",variant:"filled"},null,8,["rules","modelValue"])]),_:1}),u.value.id?m("",!0):(d(),C(y,{key:0,cols:"12"},{default:e(()=>[l(ke,{client:w.client,value:S.value,onInput:n[3]||(n[3]=c=>S.value=c)},null,8,["client","value"])]),_:1}))]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(ce,null,{default:e(()=>[l(P,{variant:"text",color:"error",onClick:L},{default:e(()=>[...n[8]||(n[8]=[f("Cancel",-1)])]),_:1}),$.value?(d(),C(P,{key:0,color:"primary",disabled:!_.value,onClick:h},{default:e(()=>[...n[9]||(n[9]=[f(" Save ",-1)])]),_:1},8,["disabled"])):m("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])]),default:e(()=>[n[10]||(n[10]=f(" Scripts ",-1))]),_:1}),l(Ce,null,{default:e(()=>[l(K,{class:"w-full"},{default:e(()=>[l(fe,{"items-per-page-options":[10,20,30,40,300],"items-per-page":300,flat:"",headers:I,items:E.value,class:"elevation-0 w-full"},{"item.actions":e(({item:c})=>[l(me,null,{default:e(()=>[$.value?(d(),C(O,{key:0,action:"edit",onClick:ee=>M(c)},null,8,["onClick"])):m("",!0),$.value?(d(),C(O,{key:1,action:"delete",onClick:ee=>Z(c)},null,8,["onClick"])):m("",!0)]),_:2},1024)]),_:1},8,["items"])]),_:1})]),_:1})]))}},qe={id:"client-competitors"},Me={__name:"ClientCredentials",props:["client"],setup(w){return(b,k)=>(d(),x("section",qe,[l(Re,{client:w.client},null,8,["client"]),l(De,{client:w.client},null,8,["client"])]))}};export{Me 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.