wg-webui-fr/appwg/ui/dist/js/Server.e0cb69bc.js.map
2024-09-20 10:55:18 +02:00

1 line
26 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack:///./src/views/Server.vue?e32b","webpack:///./src/components/Server.vue?a701","webpack:///src/components/Server.vue","webpack:///./src/components/Server.vue?7dd7","webpack:///./src/components/Server.vue","webpack:///src/views/Server.vue","webpack:///./src/views/Server.vue?4645","webpack:///./src/views/Server.vue"],"names":["_vm","this","_c","_self","VContent","staticRenderFns","VContainer","VRow","VCol","attrs","VCard","VListItem","VList","staticClass","_v","VTextField","model","value","server","callback","$$v","$set","expression","v","VCombobox","scopedSlots","_u","key","fn","item","select","selected","VChip","_b","on","$event","address","splice","indexOf","_s","dns","VDivider","VBtn","apiBaseUrl","VIcon","VSpacer","updateServer","notification","_e","name","components","Notification","data","api","show","color","text","ApiService","getServer","methods","get","then","res","catch","e","notify","response","status","statusText","listenPort","parseInt","persistentKeepalive","mtu","length","i","$isCidr","patch","msg","component","Server"],"mappings":"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","file":"js/Server.e0cb69bc.js","sourcesContent":["import { VContent } from 'vuetify/lib/components/VContent';\n\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c(VContent,[_c('Server')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\n\nvar render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.server)?_c(VContainer,[_c(VRow,[_c(VCol,{attrs:{\"cols\":\"12\"}},[_c(VCard,{attrs:{\"dark\":\"\"}},[_c(VListItem,[_c(VListItemContent,[_c(VListItemTitle,{staticClass:\"headline\"},[_vm._v(\"Interface configuration serveur\")])],1)],1),_c('div',{staticClass:\"d-flex flex-no-wrap justify-space-between\"},[_c(VCol,{attrs:{\"cols\":\"12\"}},[_c(VTextField,{attrs:{\"label\":\"Clé publique\",\"disabled\":\"\"},model:{value:(_vm.server.publicKey),callback:function ($$v) {_vm.$set(_vm.server, \"publicKey\", $$v)},expression:\"server.publicKey\"}}),_c(VTextField,{attrs:{\"type\":\"number\",\"rules\":[\n v => !!v || 'Le port en écoute est requis',\n ],\"label\":\"Port en écoute\",\"required\":\"\"},model:{value:(_vm.server.listenPort),callback:function ($$v) {_vm.$set(_vm.server, \"listenPort\", $$v)},expression:\"server.listenPort\"}}),_c(VCombobox,{attrs:{\"chips\":\"\",\"hint\":\"Saisir le CIDR IPv4 ou IPv6 et appuyez sur touche Entrée\",\"label\":\"Adresse interfaces serveur\",\"multiple\":\"\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({ attrs, item, select, selected }){return [_c(VChip,_vm._b({attrs:{\"input-value\":selected,\"close\":\"\"},on:{\"click\":select,\"click:close\":function($event){_vm.server.address.splice(_vm.server.address.indexOf(item), 1)}}},'v-chip',attrs,false),[_c('strong',[_vm._v(_vm._s(item))]),_vm._v(\"  \")])]}}],null,false,2630951443),model:{value:(_vm.server.address),callback:function ($$v) {_vm.$set(_vm.server, \"address\", $$v)},expression:\"server.address\"}})],1)],1)],1)],1),_c(VCol,{attrs:{\"cols\":\"12\"}},[_c(VCard,{attrs:{\"dark\":\"\"}},[_c(VListItem,[_c(VListItemContent,[_c(VListItemTitle,{staticClass:\"headline\"},[_vm._v(\"Configuration globale du client\")])],1)],1),_c('div',{staticClass:\"d-flex flex-no-wrap justify-space-between\"},[_c(VCol,{attrs:{\"cols\":\"12\"}},[_c(VTextField,{attrs:{\"label\":\"Point accès public connexion client\",\"rules\":[\n v => !!v || 'Point accès public connexion client est requis',\n ],\"required\":\"\"},model:{value:(_vm.server.endpoint),callback:function ($$v) {_vm.$set(_vm.server, \"endpoint\", $$v)},expression:\"server.endpoint\"}}),_c(VCombobox,{attrs:{\"chips\":\"\",\"hint\":\"Saisir adresse IPv4 ou IPv6 et appui sur touche Entrée\",\"label\":\"Serveurs DNS pour les clients\",\"multiple\":\"\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({ attrs, item, select, selected }){return [_c(VChip,_vm._b({attrs:{\"input-value\":selected,\"close\":\"\"},on:{\"click\":select,\"click:close\":function($event){_vm.server.dns.splice(_vm.server.dns.indexOf(item), 1)}}},'v-chip',attrs,false),[_c('strong',[_vm._v(_vm._s(item))]),_vm._v(\"  \")])]}}],null,false,1190384403),model:{value:(_vm.server.dns),callback:function ($$v) {_vm.$set(_vm.server, \"dns\", $$v)},expression:\"server.dns\"}}),_c(VTextField,{attrs:{\"type\":\"number\",\"label\":\"Définir le MTU global\",\"hint\":\"Laisser à 0 et laisser wg-quick gérer le MTU\"},model:{value:(_vm.server.mtu),callback:function ($$v) {_vm.$set(_vm.server, \"mtu\", $$v)},expression:\"server.mtu\"}}),_c(VTextField,{attrs:{\"type\":\"number\",\"label\":\"Keepalive persistant\",\"hint\":\"Laissez à 0 pour ne pas spécifier un keepalive persistant\"},model:{value:(_vm.server.persistentKeepalive),callback:function ($$v) {_vm.$set(_vm.server, \"persistentKeepalive\", $$v)},expression:\"server.persistentKeepalive\"}})],1)],1)],1)],1)],1),_c(VRow,[_c(VCol,{attrs:{\"cols\":\"12\"}},[_c(VCard,{attrs:{\"dark\":\"\"}},[_c(VListItem,[_c(VListItemContent,[_c(VListItemTitle,{staticClass:\"headline\"},[_vm._v(\"Interface configuration hooks\")])],1)],1),_c('div',{staticClass:\"d-flex flex-no-wrap justify-space-between\"},[_c(VCol,{attrs:{\"cols\":\"12\"}},[_c(VTextField,{attrs:{\"label\":\"PreUp: extraits de scripts qui seront exécutés par bash avant la mise en place de l'interface\"},model:{value:(_vm.server.preUp),callback:function ($$v) {_vm.$set(_vm.server, \"preUp\", $$v)},expression:\"server.preUp\"}}),_c(VTextField,{attrs:{\"label\":\"PostUp: extraits de scripts qui seront exécutés par bash après la mise en place de l'interface\"},model:{value:(_vm.server.postUp),callback:function ($$v) {_vm.$set(_vm.server, \"postUp\", $$v)},expression:\"server.postUp\"}}),_c(VTextField,{attrs:{\"label\":\"PreDown: extraits de scripts qui seront exécutés par bash avant la mise en place de l'interface\"},model:{value:(_vm.server.preDown),callback:function ($$v) {_vm.$set(_vm.server, \"preDown\", $$v)},expression:\"server.preDown\"}}),_c(VTextField,{attrs:{\"label\":\"PostDown : extraits de scripts qui seront exécutés par bash après la mise en place de l'interface\"},model:{value:(_vm.server.postDown ),callback:function ($$v) {_vm.$set(_vm.server, \"postDown\", $$v)},expression:\"server.postDown \"}})],1)],1)],1)],1)],1),_c(VRow,[_c(VDivider,{attrs:{\"dark\":\"\"}}),_c(VBtn,{staticClass:\"ma-2\",attrs:{\"color\":\"success\",\"href\":`${_vm.apiBaseUrl}/server/config`}},[_vm._v(\" Télécharger la configuration du serveur \"),_c(VIcon,{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(\"mdi-cloud-download-outline\")])],1),_c(VSpacer),_c(VBtn,{staticClass:\"ma-2\",attrs:{\"color\":\"warning\"},on:{\"click\":_vm.updateServer}},[_vm._v(\" Mise à jour configuration serveur \"),_c(VIcon,{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(\"mdi-update\")])],1),_c(VDivider,{attrs:{\"dark\":\"\"}})],1),_c('Notification',{attrs:{\"notification\":_vm.notification}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <v-container v-if=\"server\">\n <v-row>\n <v-col cols=\"12\">\n <v-card dark>\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title class=\"headline\">Interface configuration serveur</v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <div class=\"d-flex flex-no-wrap justify-space-between\">\n <v-col cols=\"12\">\n <v-text-field\n v-model=\"server.publicKey\"\n label=\"Clé publique\"\n disabled\n />\n <v-text-field\n v-model=\"server.listenPort\"\n type=\"number\"\n :rules=\"[\n v => !!v || 'Le port en écoute est requis',\n ]\"\n label=\"Port en écoute\"\n required\n />\n <v-combobox\n v-model=\"server.address\"\n chips\n hint=\"Saisir le CIDR IPv4 ou IPv6 et appuyez sur touche Entrée\"\n label=\"Adresse interfaces serveur\"\n multiple\n dark\n >\n <template v-slot:selection=\"{ attrs, item, select, selected }\">\n <v-chip\n v-bind=\"attrs\"\n :input-value=\"selected\"\n close\n @click=\"select\"\n @click:close=\"server.address.splice(server.address.indexOf(item), 1)\"\n >\n <strong>{{ item }}</strong>&nbsp;\n </v-chip>\n </template>\n </v-combobox>\n </v-col>\n </div>\n </v-card>\n </v-col>\n <v-col cols=\"12\">\n <v-card dark>\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title class=\"headline\">Configuration globale du client</v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <div class=\"d-flex flex-no-wrap justify-space-between\">\n <v-col cols=\"12\">\n <v-text-field\n v-model=\"server.endpoint\"\n label=\"Point accès public connexion client\"\n :rules=\"[\n v => !!v || 'Point accès public connexion client est requis',\n ]\"\n required\n />\n <v-combobox\n v-model=\"server.dns\"\n chips\n hint=\"Saisir adresse IPv4 ou IPv6 et appui sur touche Entrée\"\n label=\"Serveurs DNS pour les clients\"\n multiple\n dark\n >\n <template v-slot:selection=\"{ attrs, item, select, selected }\">\n <v-chip\n v-bind=\"attrs\"\n :input-value=\"selected\"\n close\n @click=\"select\"\n @click:close=\"server.dns.splice(server.dns.indexOf(item), 1)\"\n >\n <strong>{{ item }}</strong>&nbsp;\n </v-chip>\n </template>\n </v-combobox>\n <v-text-field\n type=\"number\"\n v-model=\"server.mtu\"\n label=\"Définir le MTU global\"\n hint=\"Laisser à 0 et laisser wg-quick gérer le MTU\"\n />\n <v-text-field\n type=\"number\"\n v-model=\"server.persistentKeepalive\"\n label=\"Keepalive persistant\"\n hint=\"Laissez à 0 pour ne pas spécifier un keepalive persistant\"\n />\n </v-col>\n </div>\n </v-card>\n </v-col>\n </v-row>\n <v-row>\n <v-col cols=\"12\">\n <v-card dark>\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title class=\"headline\">Interface configuration hooks</v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <div class=\"d-flex flex-no-wrap justify-space-between\">\n <v-col cols=\"12\">\n <v-text-field\n v-model=\"server.preUp\"\n label=\"PreUp: extraits de scripts qui seront exécutés par bash avant la mise en place de l'interface\"\n />\n <v-text-field\n v-model=\"server.postUp\"\n label=\"PostUp: extraits de scripts qui seront exécutés par bash après la mise en place de l'interface\"\n />\n <v-text-field\n v-model=\"server.preDown\"\n label=\"PreDown: extraits de scripts qui seront exécutés par bash avant la mise en place de l'interface\"\n />\n <v-text-field\n v-model=\"server.postDown \"\n label=\"PostDown : extraits de scripts qui seront exécutés par bash après la mise en place de l'interface\"\n />\n </v-col>\n </div>\n </v-card>\n </v-col>\n </v-row>\n <v-row>\n <v-divider dark/>\n <v-btn\n class=\"ma-2\"\n color=\"success\"\n :href=\"`${apiBaseUrl}/server/config`\"\n >\n Télécharger la configuration du serveur\n <v-icon right dark>mdi-cloud-download-outline</v-icon>\n </v-btn>\n <v-spacer></v-spacer>\n <v-btn\n class=\"ma-2\"\n color=\"warning\"\n @click=\"updateServer\"\n >\n Mise à jour configuration serveur\n <v-icon right dark>mdi-update</v-icon>\n </v-btn>\n <v-divider dark/>\n </v-row>\n <Notification v-bind:notification=\"notification\"/>\n </v-container>\n</template>\n<script>\n import {API_BASE_URL, ApiService} from \"../services/ApiService\";\n import Notification from '../components/Notification'\n\n export default {\n name: 'Server',\n\n components: {\n Notification\n },\n\n data: () => ({\n api: null,\n server: null,\n apiBaseUrl: API_BASE_URL,\n notification: {\n show: false,\n color: '',\n text: '',\n },\n }),\n\n mounted () {\n this.api = new ApiService();\n this.getServer()\n },\n\n methods: {\n getServer() {\n this.api.get('/server').then((res) => {\n this.server = res;\n }).catch((e) => {\n this.notify('error', e.response.status + ' ' + e.response.statusText);\n });\n },\n updateServer () {\n // convert int values\n this.server.listenPort = parseInt(this.server.listenPort, 10);\n this.server.persistentKeepalive = parseInt(this.server.persistentKeepalive, 10);\n this.server.mtu = parseInt(this.server.mtu, 10);\n\n // check server addresses\n if (this.server.address.length < 1) {\n this.notify('error', 'Veuillez fournir au moins une adresse CIDR valide pour le serveur');\n return;\n }\n for (let i = 0; i < this.server.address.length; i++){\n if (this.$isCidr(this.server.address[i]) === 0) {\n this.notify('error', `Un CIDR invalide a été détecté, veuillez corriger ${this.server.address[i]} avant de soumettre`);\n return\n }\n }\n\n // check DNS correct\n for (let i = 0; i < this.server.dns.length; i++){\n if (this.$isCidr(this.server.dns[i] + '/32') === 0) {\n this.notify('error', `IP invalide détectée, veuillez corriger ${this.server.dns[i]} avant de soumettre`);\n return\n }\n }\n\n this.api.patch('/server', this.server).then((res) => {\n this.notify('success', \"Mise à jour du serveur réussie\");\n this.server = res;\n }).catch((e) => {\n this.notify('error', e.response.status + ' ' + e.response.statusText);\n });\n },\n notify(color, msg) {\n this.notification.show = true;\n this.notification.color = color;\n this.notification.text = msg;\n }\n }\n };\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Server.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Server.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Server.vue?vue&type=template&id=bc104b6e\"\nimport script from \"./Server.vue?vue&type=script&lang=js\"\nexport * from \"./Server.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <v-content>\n <Server/>\n </v-content>\n</template>\n\n<script>\n import Server from '../components/Server'\n\n export default {\n name: 'server',\n components: {\n Server\n }\n }\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Server.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Server.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Server.vue?vue&type=template&id=2f581787\"\nimport script from \"./Server.vue?vue&type=script&lang=js\"\nexport * from \"./Server.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}