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 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":""}