mirror of
https://github.com/WGDashboard/WGDashboard.git
synced 2026-08-03 22:42:59 +00:00
2 lines
5.9 KiB
JavaScript
2 lines
5.9 KiB
JavaScript
import{_ as w,g as S,W as x,D as C,z as K,c,b as e,d as n,w as D,i as o,e as r,m as p,v as N,f as B,$ as _,j as i,a as d}from"./index-CM1Y3Pe1.js";import{B as M,P as E,M as V,a as F,E as L,D as R,A as q,b as T,N as U}from"./bulkAdd-DhYJDZFt.js";import{L as W}from"./localeText-DQo_Zwde.js";const z={name:"peerCreate",components:{LocaleText:W,BulkAdd:M,PersistentKeepAliveInput:E,MtuInput:V,PresharedKeyInput:F,EndpointAllowedIps:L,DnsInput:R,AllowedIPsInput:q,PrivatePublicKeyInput:T,NameInput:U},data(){return{data:{bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:this.dashboardStore.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:this.dashboardStore.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(this.dashboardStore.Configuration.Peers.peer_keep_alive),mtu:parseInt(this.dashboardStore.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off"},availableIp:void 0,availableIpSearchString:"",saving:!1,allowedIpDropdown:void 0}},mounted(){S("/api/getAvailableIPs/"+this.$route.params.id,{},a=>{a.status&&(this.availableIp=a.data)})},setup(){const a=x(),t=C();return{store:a,dashboardStore:t}},methods:{peerCreate(){this.saving=!0,K("/api/addPeers/"+this.$route.params.id,this.data,a=>{a.status?(this.$router.push(`/configuration/${this.$route.params.id}/peers`),this.dashboardStore.newMessage("Server","Peer created successfully","success")):this.dashboardStore.newMessage("Server",a.message,"danger"),this.saving=!1})}},computed:{allRequireFieldsFilled(){let a=!0;return this.data.bulkAdd?(this.data.bulkAddAmount.length===0||this.data.bulkAddAmount>this.availableIp.length)&&(a=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(h=>{this.data[h].length===0&&(a=!1)}),a},getProtocol(){return this.store.Configurations.find(a=>a.Name===this.$route.params.id).Protocol}},watch:{bulkAdd(a){a||(this.data.bulkAddAmount="")},"data.bulkAddAmount"(){this.data.bulkAddAmount>this.availableIp.length&&(this.data.bulkAddAmount=this.availableIp.length)}}},G={class:"container"},O={class:"mb-4"},j={class:"mb-5 d-flex align-items-center gap-4"},H={class:"mb-0"},J={class:"d-flex flex-column gap-2"},Q={class:"row gy-3"},X={key:0,class:"col-sm"},Y={class:"col-sm"},Z={class:"col-sm"},$={key:1,class:"col-12"},ee={class:"form-check form-switch"},te={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},ae={class:"fw-bold"},se={key:3},ne={class:"form-label d-block"},de={class:"text-muted"},ie={class:"btn-group",role:"group"},le={class:"btn btn-outline-primary btn-sm",for:"advanced_security_on"},oe={class:"btn btn-outline-primary btn-sm",for:"advanced_security_off"},re={class:"d-flex mt-2"},ue=["disabled"],ce={key:0,class:"bi bi-plus-circle-fill me-2"};function pe(a,t,h,he,s,_e){const b=i("RouterLink"),l=i("LocaleText"),v=i("BulkAdd"),m=i("NameInput"),f=i("PrivatePublicKeyInput"),g=i("AllowedIPsInput"),k=i("EndpointAllowedIps"),y=i("DnsInput"),A=i("PresharedKeyInput"),I=i("MtuInput"),P=i("PersistentKeepAliveInput");return d(),c("div",G,[e("div",O,[e("div",j,[n(b,{to:"peers",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:D(()=>t[4]||(t[4]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])),_:1}),e("h2",H,[n(l,{t:"Add Peers"})])])]),e("div",J,[n(v,{saving:s.saving,data:this.data,availableIp:this.availableIp},null,8,["saving","data","availableIp"]),t[6]||(t[6]=e("hr",{class:"mb-0 mt-2"},null,-1)),this.data.bulkAdd?r("",!0):(d(),o(m,{key:0,saving:s.saving,data:this.data},null,8,["saving","data"])),this.data.bulkAdd?r("",!0):(d(),o(f,{key:1,saving:s.saving,data:s.data},null,8,["saving","data"])),this.data.bulkAdd?r("",!0):(d(),o(g,{key:2,availableIp:this.availableIp,saving:s.saving,data:s.data},null,8,["availableIp","saving","data"])),n(k,{saving:s.saving,data:s.data},null,8,["saving","data"]),n(y,{saving:s.saving,data:s.data},null,8,["saving","data"]),t[7]||(t[7]=e("hr",{class:"mb-0 mt-2"},null,-1)),e("div",Q,[this.data.bulkAdd?r("",!0):(d(),c("div",X,[n(A,{saving:s.saving,data:s.data,bulk:this.data.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Y,[n(I,{saving:s.saving,data:s.data},null,8,["saving","data"])]),e("div",Z,[n(P,{saving:s.saving,data:s.data},null,8,["saving","data"])]),this.data.bulkAdd?(d(),c("div",$,[e("div",ee,[p(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=u=>this.data.preshared_key_bulkAdd=u),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[N,this.data.preshared_key_bulkAdd]]),e("label",te,[e("small",ae,[n(l,{t:"Pre-Shared Key"}),t[5]||(t[5]=B()),this.data.preshared_key_bulkAdd?(d(),o(l,{key:0,t:"Enabled"})):(d(),o(l,{key:1,t:"Disabled"}))])])])])):r("",!0)]),t[8]||(t[8]=e("hr",null,null,-1)),this.getProtocol==="awg"?(d(),c("div",se,[e("h5",null,[n(l,{t:"AmneziaWG Peer Setting"})]),e("div",null,[e("label",ne,[e("small",de,[n(l,{t:"Advanced Security"})])]),e("div",ie,[p(e("input",{type:"radio",class:"btn-check","onUpdate:modelValue":t[1]||(t[1]=u=>this.data.advanced_security=u),value:"on",name:"advanced_security_radio",id:"advanced_security_on",autocomplete:"off"},null,512),[[_,this.data.advanced_security]]),e("label",le,[n(l,{t:"On"})]),p(e("input",{type:"radio","onUpdate:modelValue":t[2]||(t[2]=u=>this.data.advanced_security=u),value:"off",class:"btn-check",name:"advanced_security_radio",id:"advanced_security_off",autocomplete:"off"},null,512),[[_,this.data.advanced_security]]),e("label",oe,[n(l,{t:"Off"})])])])])):r("",!0),t[9]||(t[9]=e("hr",null,null,-1)),e("div",re,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.allRequireFieldsFilled||this.saving,onClick:t[3]||(t[3]=u=>this.peerCreate())},[this.saving?r("",!0):(d(),c("i",ce)),this.saving?(d(),o(l,{key:1,t:"Adding..."})):(d(),o(l,{key:2,t:"Add"}))],8,ue)])])])}const fe=w(z,[["render",pe],["__scopeId","data-v-49b35948"]]);export{fe as default};
|