Files
WGDashboard/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-7zz4WEU9.js
Donald Zou 9ae5fea7b4 Build
2025-12-19 07:04:21 +08:00

2 lines
7.0 KiB
JavaScript

import{D as R,a as V}from"./dashboardSettingsWireguardConfigurationAutostart-B_NhtfMU.js";import{L as f}from"./localeText-B6TzNPez.js";import{r as g,E as B,o as E,D as O,c as d,f as l,a,t as x,m as $,v as P,d as S,e as u,b as o,n as k,z as H,g as h,W,F as L,i as j,j as A,u as M,B as U}from"./index-B7CAy8HS.js";const F={class:"card"},Y={class:"card-header"},G={class:"card-body"},J={class:"row gy-2"},K={class:"col-sm"},q={class:"form-check form-switch"},Q=["disabled","id"],X=["for"],Z={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ee={class:"mb-0"},ae={class:"text-muted fw-normal"},te={key:0,class:"ms-md-auto d-flex gap-2"},ne={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},ie={class:"col-sm"},se={class:"form-check form-switch"},oe=["disabled","id"],le=["for"],re={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},de={class:"mb-0"},ce={class:"text-muted fw-normal"},ue={key:0,class:"ms-md-auto d-flex gap-2"},ge={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},fe={__name:"configurationTracking",props:["configuration","trackingData"],async setup(n){let v,m;const i=n,c=g({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0});g(!1);const p=g(!1);[v,m]=B(()=>E(async()=>{c.value=i.trackingData[i.configuration.Name]})),await v,m();const w=async()=>{await h("/api/getPeerTrackingTableCounts",{configurationName:i.configuration.Name},s=>{c.value=s.data})},C=async s=>{p.value=!0,await H("/api/updateWireguardConfigurationInfo",{Name:i.configuration.Name,Key:s,Value:i.configuration.Info[s]},e=>{console.log(e),p.value=!1})},b=g(void 0),_=async s=>{b.value=s,await h("/api/downloadPeerTrackingTable",{configurationName:i.configuration.Name,table:s},e=>{if(e.status){const t=JSON.stringify(e.data,null,2),I=new Blob([t],{type:"application/json"}),z=URL.createObjectURL(I),y=document.createElement("a");y.href=z,y.download=`${i.configuration.Name}_${s}.json`,y.click(),b.value=void 0}})},r=g(""),T=g(void 0),D=O(),N=async s=>{T.value=!0,await H("/api/deletePeerTrackingTable",{configurationName:i.configuration.Name,table:s},async e=>{e.status?D.newMessage("Server","Record deleted","success"):D.newMessage("Server","Record delete failed","danger"),await w(),T.value=!1,r.value=""})};return(s,e)=>(l(),d("div",F,[a("div",Y,x(n.configuration.Name),1),a("div",G,[a("div",J,[a("div",K,[e[16]||(e[16]=a("small",{class:"text-muted fw-bold"},"Peer Traffic Tracking",-1)),a("div",q,[$(a("input",{class:"form-check-input",type:"checkbox",disabled:p.value,onChange:e[0]||(e[0]=t=>C("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=t=>n.configuration.Info.PeerTrafficTracking=t),id:n.configuration.Name+"_traffic_tracking"},null,40,Q),[[P,n.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_traffic_tracking"},x(n.configuration.Info.PeerTrafficTracking?"On":"Off"),9,X)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",Z,[a("h6",ee,[u(x(c.value.TrafficTrackingTableSize)+" ",1),a("span",ae,[o(f,{t:"Records"})])]),r.value!=="TrafficTrackingTable"?(l(),d("div",te,[a("button",{class:k(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:b.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=t=>_("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),o(f,{t:b.value==="TrafficTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[3]||(e[3]=t=>r.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),u("Delete ",-1)])])])):r.value==="TrafficTrackingTable"?(l(),d("div",ne,[a("small",null,[o(f,{t:"Are you sure to delete?"})]),a("button",{class:k(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:T.value}]),onClick:e[4]||(e[4]=t=>N("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),u("Yes ",-1)])],2),a("button",{class:k([{disabled:T.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=t=>r.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),u("No ",-1)])],2)])):S("",!0)])]),a("div",ie,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",se,[$(a("input",{class:"form-check-input",disabled:p.value,onChange:e[6]||(e[6]=t=>C("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=t=>n.configuration.Info.PeerHistoricalEndpointTracking=t),id:n.configuration.Name+"_historicalEndpoint_tracking"},null,40,oe),[[P,n.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_historicalEndpoint_tracking"},x(n.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,le)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",re,[a("div",null,[a("h6",de,[u(x(c.value.HistoricalTrackingTableSize)+" ",1),a("span",ce,[o(f,{t:"Records"})])])]),r.value!=="HistoricalTrackingTable"?(l(),d("div",ue,[a("button",{onClick:e[8]||(e[8]=t=>_("HistoricalTrackingTable")),class:k([{disabled:b.value==="HistoricalTrackingTable"},"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3"])},[e[18]||(e[18]=a("i",{class:"bi bi-download me-2"},null,-1)),o(f,{t:b.value==="HistoricalTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[9]||(e[9]=t=>r.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),u("Delete ",-1)])])])):r.value==="HistoricalTrackingTable"?(l(),d("div",ge,[a("small",null,[o(f,{t:"Are you sure to delete?"})]),a("button",{class:k(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:T.value}]),onClick:e[10]||(e[10]=t=>N("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),u("Yes ",-1)])],2),a("button",{class:k([{disabled:T.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=t=>r.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),u("No ",-1)])],2)])):S("",!0)])])])])]))}},me={class:"card"},be={class:"card-header"},Te={class:"my-2"},ke={class:"card-body d-flex flex-column gap-3"},ve={key:0,class:"spinner-border text-body m-auto"},pe={__name:"dashboardWireguardConfigurationTracking",setup(n){const v=W(),m=g(!1),i=g({});return E(async()=>{await h("/api/getPeerTrackingTableCounts",{},c=>{c.status&&(i.value=c.data),m.value=!0})}),(c,p)=>(l(),d("div",me,[a("div",be,[a("h6",Te,[o(f,{t:"Peer Tracking"})])]),a("div",ke,[m.value?(l(!0),d(L,{key:1},j(M(v).Configurations,w=>(l(),A(fe,{configuration:w,trackingData:i.value},null,8,["configuration","trackingData"]))),256)):(l(),d("div",ve))])]))}},xe={class:"d-flex gap-3 flex-column"},Ce=U({__name:"wireguardConfigurationSettings",setup(n){return(v,m)=>(l(),d("div",xe,[o(R,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),o(V),o(pe)]))}});export{Ce as default};