Files
WGDashboard/src/static/app/dist/assets/editConfiguration-BPTq-Pcd.js
2025-01-09 13:42:21 +08:00

2 lines
8.4 KiB
JavaScript

import{_ as M,C as k,W as K,o as O,E as $,D as U,r as b,H as L,a as y,c as x,b as e,d as a,m as u,s as c,n as N,q as D,a0 as J,t as S,e as W,i as A,F,v as B}from"./index-BQ9jnFZu.js";import{L as n}from"./localeText-BzleuEA0.js";const R={class:"card rounded-3 flex-grow-1 bg-danger-subtle border-danger-subtle border shadow"},T={class:"card-body"},q={class:"d-flex align-items-center gap-3 inputGroup"},E=["value"],G={class:"mb-0"},j={class:"d-flex mt-3"},z=["disabled"],H={__name:"updateConfigurationName",props:{configurationName:String},emits:["close"],setup(h,{emit:C}){const p=h,P=C,l=k({data:"",valid:!1}),i=K();O(()=>{$(()=>l.data,d=>{l.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(d)&&d.length>0&&!i.Configurations.find(r=>r.Name===d)})});const s=U(),m=b(!1),f=L(),g=async()=>{l.data&&(m.value=!0,clearInterval(s.Peers.RefreshInterval),await D("/api/renameWireguardConfiguration",{Name:p.configurationName,NewConfigurationName:l.data},async d=>{d.status?(await i.getConfigurations(),s.newMessage("Server","Configuration renamed","success"),f.push(`/configuration/${l.data}/peers`)):(s.newMessage("Server",d.message,"danger"),m.value=!1)}))};return(d,r)=>(y(),x("div",R,[e("div",T,[e("p",null,[a(n,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[a(n,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[a(n,{t:"Delete current configuration's database table and .conf file"})])]),e("div",q,[e("input",{class:"form-control form-control-sm rounded-3",value:h.configurationName,disabled:""},null,8,E),r[3]||(r[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),u(e("input",{class:N(["form-control form-control-sm rounded-3",[l.data?l.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":r[0]||(r[0]=v=>l.data=v)},null,2),[[c,l.data]])]),e("div",{class:N(["invalid-feedback",{"d-block":!l.valid&&l.data}])},[a(n,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",G,[e("li",null,[a(n,{t:"Configuration name already exist."})]),e("li",null,[a(n,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",j,[e("button",{onClick:r[1]||(r[1]=v=>P("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[a(n,{t:"Cancel"})]),e("button",{onClick:r[2]||(r[2]=v=>g()),disabled:!l.data||m.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[a(n,{t:"Save"})],8,z)])])]))}},Z=M(H,[["__scopeId","data-v-4be4f48a"]]),Q={class:"container d-flex h-100 w-100"},X={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},Y={class:"card rounded-3 shadow flex-grow-1"},ee={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},te={class:"mb-0"},se={class:"card-body px-4 pb-4"},oe={class:"d-flex gap-2 flex-column"},ae={key:0,class:"d-flex align-items-center gap-3"},ne={class:"text-muted"},le={class:"d-flex align-items-center gap-3"},ie={class:"text-muted",style:{"word-break":"keep-all"}},re={class:"ms-auto",style:{"word-break":"break-all"}},de={class:"d-flex"},ue={for:"configuration_private_key",class:"form-label"},ce={class:"text-muted d-block"},me={class:"form-check form-switch ms-auto"},fe=["disabled"],be={for:"configuration_ipaddress_cidr",class:"form-label"},pe={class:"text-muted"},ge=["disabled"],ve={for:"configuration_listen_port",class:"form-label"},_e={class:"text-muted"},ye=["disabled"],he={for:"configuration_preup",class:"form-label"},we={class:"text-muted"},xe=["disabled"],Ce={for:"configuration_predown",class:"form-label"},Pe={class:"text-muted"},ke=["disabled"],Ne={for:"configuration_postup",class:"form-label"},Se={class:"text-muted"},Ke=["disabled"],$e={for:"configuration_postdown",class:"form-label"},Ue={class:"text-muted"},De=["disabled"],Ie={class:"d-flex align-items-center gap-2 mt-4"},Ve=["disabled"],Me=["disabled"],Je={__name:"editConfiguration",props:{configurationInfo:Object},emits:["changed","close"],setup(h,{emit:C}){const p=h,P=K(),l=U(),i=b(!1),s=k(JSON.parse(JSON.stringify(p.configurationInfo))),m=b(!1),f=b(!1);b(!1);const g=k({PrivateKey:!0,IPAddress:!0,ListenPort:!0}),d=J("editConfigurationContainer"),r=()=>{P.checkWGKeyLength(s.PrivateKey)?(g.PrivateKey=!0,s.PublicKey=window.wireguard.generatePublicKey(s.PrivateKey)):g.PrivateKey=!1},v=()=>{f.value=!1,Object.assign(s,JSON.parse(JSON.stringify(p.configurationInfo)))},I=C,V=()=>{i.value=!0,D("/api/updateWireguardConfiguration",s,_=>{i.value=!1,_.status?(l.newMessage("Server","Configuration saved","success"),f.value=!1,I("dataChanged",_.data)):l.newMessage("Server",_.message,"danger")})},w=b(!1);return $(s,()=>{f.value=JSON.stringify(s)!==JSON.stringify(p.configurationInfo)},{deep:!0}),(_,t)=>(y(),x("div",{class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref_key:"editConfigurationContainer",ref:d},[e("div",Q,[e("div",X,[e("div",Y,[e("div",ee,[e("h4",te,[a(n,{t:"Configuration Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>_.$emit("close"))})]),e("div",se,[e("div",oe,[w.value?W("",!0):(y(),x("div",ae,[e("small",ne,[a(n,{t:"Name"})]),e("small",null,S(s.Name),1),e("button",{onClick:t[1]||(t[1]=o=>w.value=!0),class:"btn btn-sm bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 ms-auto"}," Update Name ")])),w.value?(y(),A(Z,{key:1,onClose:t[2]||(t[2]=o=>w.value=!1),"configuration-name":s.Name},null,8,["configuration-name"])):(y(),x(F,{key:2},[t[17]||(t[17]=e("hr",null,null,-1)),e("div",le,[e("small",ie,[a(n,{t:"Public Key"})]),e("small",re,S(s.PublicKey),1)]),t[18]||(t[18]=e("hr",null,null,-1)),e("div",null,[e("div",de,[e("label",ue,[e("small",ce,[a(n,{t:"Private Key"})])]),e("div",me,[u(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"editPrivateKeySwitch","onUpdate:modelValue":t[3]||(t[3]=o=>m.value=o)},null,512),[[B,m.value]]),t[14]||(t[14]=e("label",{class:"form-check-label",for:"editPrivateKeySwitch"},[e("small",null,"Edit")],-1))])]),u(e("input",{type:"text",class:N(["form-control form-control-sm rounded-3",{"is-invalid":!g.PrivateKey}]),disabled:i.value||!m.value,onKeyup:t[4]||(t[4]=o=>r()),"onUpdate:modelValue":t[5]||(t[5]=o=>s.PrivateKey=o),id:"configuration_private_key"},null,42,fe),[[c,s.PrivateKey]])]),e("div",null,[e("label",be,[e("small",pe,[a(n,{t:"IP Address/CIDR"})])]),u(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:i.value,"onUpdate:modelValue":t[6]||(t[6]=o=>s.Address=o),id:"configuration_ipaddress_cidr"},null,8,ge),[[c,s.Address]])]),e("div",null,[e("label",ve,[e("small",_e,[a(n,{t:"Listen Port"})])]),u(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:i.value,"onUpdate:modelValue":t[7]||(t[7]=o=>s.ListenPort=o),id:"configuration_listen_port"},null,8,ye),[[c,s.ListenPort]])]),e("div",null,[e("label",he,[e("small",we,[a(n,{t:"PreUp"})])]),u(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:i.value,"onUpdate:modelValue":t[8]||(t[8]=o=>s.PreUp=o),id:"configuration_preup"},null,8,xe),[[c,s.PreUp]])]),e("div",null,[e("label",Ce,[e("small",Pe,[a(n,{t:"PreDown"})])]),u(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:i.value,"onUpdate:modelValue":t[9]||(t[9]=o=>s.PreDown=o),id:"configuration_predown"},null,8,ke),[[c,s.PreDown]])]),e("div",null,[e("label",Ne,[e("small",Se,[a(n,{t:"PostUp"})])]),u(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:i.value,"onUpdate:modelValue":t[10]||(t[10]=o=>s.PostUp=o),id:"configuration_postup"},null,8,Ke),[[c,s.PostUp]])]),e("div",null,[e("label",$e,[e("small",Ue,[a(n,{t:"PostDown"})])]),u(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:i.value,"onUpdate:modelValue":t[11]||(t[11]=o=>s.PostDown=o),id:"configuration_postdown"},null,8,De),[[c,s.PostDown]])]),e("div",Ie,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto",onClick:t[12]||(t[12]=o=>v()),disabled:!f.value||i.value},t[15]||(t[15]=[e("i",{class:"bi bi-arrow-clockwise"},null,-1)]),8,Ve),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 shadow",disabled:!f.value||i.value,onClick:t[13]||(t[13]=o=>V())},t[16]||(t[16]=[e("i",{class:"bi bi-save-fill"},null,-1)]),8,Me)])],64))])])])])])],512))}};export{Je as default};