nextcloud-server/dist/oauth2-oauth2.js.map

1 line
43 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,"file":"oauth2-oauth2.js?v=d15596759adefd64df19","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/oauth2/src/components/OAuthItem.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/oauth2/src/components/OAuthItem.vue","webpack://nextcloud/./apps/oauth2/src/components/OAuthItem.vue?2854","webpack://nextcloud/./apps/oauth2/src/components/OAuthItem.vue?7546","webpack://nextcloud/./apps/oauth2/src/components/OAuthItem.vue?098f","webpack:///nextcloud/apps/oauth2/src/App.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/oauth2/src/App.vue","webpack://nextcloud/./apps/oauth2/src/App.vue?1a14","webpack://nextcloud/./apps/oauth2/src/App.vue?8831","webpack://nextcloud/./apps/oauth2/src/App.vue?40c9","webpack:///nextcloud/apps/oauth2/src/main.js","webpack:///nextcloud/apps/oauth2/src/App.vue?vue&type=style&index=0&id=28d94e7c&prod&scoped=true&lang=css&","webpack:///nextcloud/apps/oauth2/src/components/OAuthItem.vue?vue&type=style&index=0&id=75e22bc6&prod&scoped=true&lang=css&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OAuthItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OAuthItem.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\n -\n - @author Roeland Jago Douma <roeland@famdouma.nl>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<tr>\n\t\t<td>\n\t\t\t<table class=\"inline\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Name') }}</td>\n\t\t\t\t\t<td>{{ name }}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Redirection URI') }}</td>\n\t\t\t\t\t<td>{{ redirectUri }}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Client Identifier') }}</td>\n\t\t\t\t\t<td><code>{{ clientId }}</code></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Secret') }}</td>\n\t\t\t\t\t<td><code>{{ renderedSecret }}</code><a class=\"icon-toggle has-tooltip\" :title=\"t('oauth2', 'Show client secret')\" @click=\"toggleSecret\" /></td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t\t<td class=\"action-column\">\n\t\t\t<NcButton type=\"tertiary-no-background\"\n\t\t\t\t:aria-label=\"t('oauth2', 'Delete')\"\n\t\t\t\t@click=\"$emit('delete', id)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Delete :size=\"20\"\n\t\t\t\t\t\t:title=\"t('oauth2', 'Delete')\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\n\nimport Delete from 'vue-material-design-icons/Delete'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\n\nexport default {\n\tname: 'OAuthItem',\n\tcomponents: {\n\t\tDelete,\n\t\tNcButton,\n\t},\n\tprops: {\n\t\tclient: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tid: this.client.id,\n\t\t\tname: this.client.name,\n\t\t\tredirectUri: this.client.redirectUri,\n\t\t\tclientId: this.client.clientId,\n\t\t\tclientSecret: this.client.clientSecret,\n\t\t\trenderSecret: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\trenderedSecret() {\n\t\t\tif (this.renderSecret) {\n\t\t\t\treturn this.clientSecret\n\t\t\t} else {\n\t\t\t\treturn '****'\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\ttoggleSecret() {\n\t\t\tthis.renderSecret = !this.renderSecret\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\t.icon-toggle,\n\t.icon-delete {\n\t\tdisplay: inline-block;\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tpadding: 10px;\n\t\tvertical-align: middle;\n\t}\n\ttd code {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t}\n\ttable.inline td {\n\t\tborder: none;\n\t\tpadding: 5px;\n\t}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OAuthItem.vue?vue&type=style&index=0&id=75e22bc6&prod&scoped=true&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OAuthItem.vue?vue&type=style&index=0&id=75e22bc6&prod&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./OAuthItem.vue?vue&type=template&id=75e22bc6&scoped=true&\"\nimport script from \"./OAuthItem.vue?vue&type=script&lang=js&\"\nexport * from \"./OAuthItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OAuthItem.vue?vue&type=style&index=0&id=75e22bc6&prod&scoped=true&lang=css&\"\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 \"75e22bc6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('td',[_c('table',{staticClass:\"inline\"},[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Name')))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.name))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Redirection URI')))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.redirectUri))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Client Identifier')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(_vm._s(_vm.clientId))])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Secret')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(_vm._s(_vm.renderedSecret))]),_c('a',{staticClass:\"icon-toggle has-tooltip\",attrs:{\"title\":_vm.t('oauth2', 'Show client secret')},on:{\"click\":_vm.toggleSecret}})])])])]),_vm._v(\" \"),_c('td',{staticClass:\"action-column\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"aria-label\":_vm.t('oauth2', 'Delete')},on:{\"click\":function($event){return _vm.$emit('delete', _vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20,\"title\":_vm.t('oauth2', 'Delete')}})]},proxy:true}])})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\n -\n - @author Roeland Jago Douma <roeland@famdouma.nl>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<NcSettingsSection :title=\"t('oauth2', 'OAuth 2.0 clients')\"\n\t\t:description=\"t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName })\"\n\t\t:doc-url=\"oauthDocLink\">\n\t\t<table v-if=\"clients.length > 0\" class=\"grid\">\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th id=\"headerContent\" />\n\t\t\t\t\t<th id=\"headerRemove\">\n&nbsp;\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<OAuthItem v-for=\"client in clients\"\n\t\t\t\t\t:key=\"client.id\"\n\t\t\t\t\t:client=\"client\"\n\t\t\t\t\t@delete=\"deleteClient\" />\n\t\t\t</tbody>\n\t\t</table>\n\n\t\t<br>\n\t\t<h3>{{ t('oauth2', 'Add client') }}</h3>\n\t\t<span v-if=\"newClient.error\" class=\"msg error\">{{ newClient.errorMsg }}</span>\n\t\t<form @submit.prevent=\"addClient\">\n\t\t\t<input id=\"name\"\n\t\t\t\tv-model=\"newClient.name\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tname=\"name\"\n\t\t\t\t:placeholder=\"t('oauth2', 'Name')\">\n\t\t\t<input id=\"redirectUri\"\n\t\t\t\tv-model=\"newClient.redirectUri\"\n\t\t\t\ttype=\"url\"\n\t\t\t\tname=\"redirectUri\"\n\t\t\t\t:placeholder=\"t('oauth2', 'Redirection URI')\">\n\t\t\t<NcButton native-type=\"submit\" class=\"inline-button\">\n\t\t\t\t{{ t('oauth2', 'Add') }}\n\t\t\t</NcButton>\n\t\t</form>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport OAuthItem from './components/OAuthItem'\nimport { generateUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\nimport { loadState } from '@nextcloud/initial-state'\n\nexport default {\n\tname: 'App',\n\tcomponents: {\n\t\tOAuthItem,\n\t\tNcSettingsSection,\n\t\tNcButton,\n\t},\n\tprops: {\n\t\tclients: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tnewClient: {\n\t\t\t\tname: '',\n\t\t\t\tredirectUri: '',\n\t\t\t\terrorMsg: '',\n\t\t\t\terror: false,\n\t\t\t},\n\t\t\toauthDocLink: loadState('oauth2', 'oauth2-doc-link'),\n\t\t}\n\t},\n\tcomputed: {\n\t\tinstanceName() {\n\t\t\treturn getCapabilities().theming.name\n\t\t},\n\t},\n\tmethods: {\n\t\tdeleteClient(id) {\n\t\t\taxios.delete(generateUrl('apps/oauth2/clients/{id}', { id }))\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\t\t\tthis.clients = this.clients.filter(client => client.id !== id)\n\t\t\t\t})\n\t\t},\n\t\taddClient() {\n\t\t\tthis.newClient.error = false\n\n\t\t\taxios.post(\n\t\t\t\tgenerateUrl('apps/oauth2/clients'),\n\t\t\t\t{\n\t\t\t\t\tname: this.newClient.name,\n\t\t\t\t\tredirectUri: this.newClient.redirectUri,\n\t\t\t\t}\n\t\t\t).then(response => {\n\t\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\t\tthis.clients.push(response.data)\n\n\t\t\t\tthis.newClient.name = ''\n\t\t\t\tthis.newClient.redirectUri = ''\n\t\t\t}).catch(reason => {\n\t\t\t\tthis.newClient.error = true\n\t\t\t\tthis.newClient.errorMsg = reason.response.data.message\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n\ttable {\n\t\tmax-width: 800px;\n\t}\n\n\t/** Overwrite button height and position to be aligned with the text input */\n\t.inline-button {\n\t\tmin-height: 34px !important;\n\t\tdisplay: inline-flex !important;\n\t}\n</style>\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=28d94e7c&prod&scoped=true&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=28d94e7c&prod&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=28d94e7c&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=28d94e7c&prod&scoped=true&lang=css&\"\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 \"28d94e7c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSettingsSection',{attrs:{\"title\":_vm.t('oauth2', 'OAuth 2.0 clients'),\"description\":_vm.t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName: _vm.instanceName }),\"doc-url\":_vm.oauthDocLink}},[(_vm.clients.length > 0)?_c('table',{staticClass:\"grid\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"id\":\"headerContent\"}}),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"headerRemove\"}},[_vm._v(\"\\n \\n\\t\\t\\t\\t\\t\")])])]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.clients),function(client){return _c('OAuthItem',{key:client.id,attrs:{\"client\":client},on:{\"delete\":_vm.deleteClient}})}),1)]):_vm._e(),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.t('oauth2', 'Add client')))]),_vm._v(\" \"),(_vm.newClient.error)?_c('span',{staticClass:\"msg error\"},[_vm._v(_vm._s(_vm.newClient.errorMsg))]):_vm._e(),_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.addClient.apply(null, arguments)}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newClient.name),expression:\"newClient.name\"}],attrs:{\"id\":\"name\",\"type\":\"text\",\"name\":\"name\",\"placeholder\":_vm.t('oauth2', 'Name')},domProps:{\"value\":(_vm.newClient.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.newClient, \"name\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newClient.redirectUri),expression:\"newClient.redirectUri\"}],attrs:{\"id\":\"redirectUri\",\"type\":\"url\",\"name\":\"redirectUri\",\"placeholder\":_vm.t('oauth2', 'Redirection URI')},domProps:{\"value\":(_vm.newClient.redirectUri)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.newClient, \"redirectUri\", $event.target.value)}}}),_vm._v(\" \"),_c('NcButton',{staticClass:\"inline-button\",attrs:{\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('oauth2', 'Add'))+\"\\n\\t\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport App from './App.vue'\nimport { loadState } from '@nextcloud/initial-state'\n\nVue.prototype.t = t\nVue.prototype.OC = OC\n\nconst clients = loadState('oauth2', 'clients')\n\nconst View = Vue.extend(App)\nconst oauth = new View({\n\tpropsData: {\n\t\tclients,\n\t},\n})\noauth.$mount('#oauth2')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\ntable[data-v-28d94e7c] {\\n\\tmax-width: 800px;\\n}\\n\\n/** Overwrite button height and position to be aligned with the text input */\\n.inline-button[data-v-28d94e7c] {\\n\\tmin-height: 34px !important;\\n\\tdisplay: inline-flex !important;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/oauth2/src/App.vue\"],\"names\":[],\"mappings\":\";AAgJA;CACA,gBAAA;AACA;;AAEA,4EAAA;AACA;CACA,2BAAA;CACA,+BAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\\n -\\n - @author Roeland Jago Douma <roeland@famdouma.nl>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n<template>\\n\\t<NcSettingsSection :title=\\\"t('oauth2', 'OAuth 2.0 clients')\\\"\\n\\t\\t:description=\\\"t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName })\\\"\\n\\t\\t:doc-url=\\\"oauthDocLink\\\">\\n\\t\\t<table v-if=\\\"clients.length > 0\\\" class=\\\"grid\\\">\\n\\t\\t\\t<thead>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<th id=\\\"headerContent\\\" />\\n\\t\\t\\t\\t\\t<th id=\\\"headerRemove\\\">\\n&nbsp;\\n\\t\\t\\t\\t\\t</th>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t</thead>\\n\\t\\t\\t<tbody>\\n\\t\\t\\t\\t<OAuthItem v-for=\\\"client in clients\\\"\\n\\t\\t\\t\\t\\t:key=\\\"client.id\\\"\\n\\t\\t\\t\\t\\t:client=\\\"client\\\"\\n\\t\\t\\t\\t\\t@delete=\\\"deleteClient\\\" />\\n\\t\\t\\t</tbody>\\n\\t\\t</table>\\n\\n\\t\\t<br>\\n\\t\\t<h3>{{ t('oauth2', 'Add client') }}</h3>\\n\\t\\t<span v-if=\\\"newClient.error\\\" class=\\\"msg error\\\">{{ newClient.errorMsg }}</span>\\n\\t\\t<form @submit.prevent=\\\"addClient\\\">\\n\\t\\t\\t<input id=\\\"name\\\"\\n\\t\\t\\t\\tv-model=\\\"newClient.name\\\"\\n\\t\\t\\t\\ttype=\\\"text\\\"\\n\\t\\t\\t\\tname=\\\"name\\\"\\n\\t\\t\\t\\t:placeholder=\\\"t('oauth2', 'Name')\\\">\\n\\t\\t\\t<input id=\\\"redirectUri\\\"\\n\\t\\t\\t\\tv-model=\\\"newClient.redirectUri\\\"\\n\\t\\t\\t\\ttype=\\\"url\\\"\\n\\t\\t\\t\\tname=\\\"redirectUri\\\"\\n\\t\\t\\t\\t:placeholder=\\\"t('oauth2', 'Redirection URI')\\\">\\n\\t\\t\\t<NcButton native-type=\\\"submit\\\" class=\\\"inline-button\\\">\\n\\t\\t\\t\\t{{ t('oauth2', 'Add') }}\\n\\t\\t\\t</NcButton>\\n\\t\\t</form>\\n\\t</NcSettingsSection>\\n</template>\\n\\n<script>\\nimport axios from '@nextcloud/axios'\\nimport OAuthItem from './components/OAuthItem'\\nimport { generateUrl } from '@nextcloud/router'\\nimport { getCapabilities } from '@nextcloud/capabilities'\\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection'\\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\\nimport { loadState } from '@nextcloud/initial-state'\\n\\nexport default {\\n\\tname: 'App',\\n\\tcomponents: {\\n\\t\\tOAuthItem,\\n\\t\\tNcSettingsSection,\\n\\t\\tNcButton,\\n\\t},\\n\\tprops: {\\n\\t\\tclients: {\\n\\t\\t\\ttype: Array,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tnewClient: {\\n\\t\\t\\t\\tname: '',\\n\\t\\t\\t\\tredirectUri: '',\\n\\t\\t\\t\\terrorMsg: '',\\n\\t\\t\\t\\terror: false,\\n\\t\\t\\t},\\n\\t\\t\\toauthDocLink: loadState('oauth2', 'oauth2-doc-link'),\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\tinstanceName() {\\n\\t\\t\\treturn getCapabilities().theming.name\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\tdeleteClient(id) {\\n\\t\\t\\taxios.delete(generateUrl('apps/oauth2/clients/{id}', { id }))\\n\\t\\t\\t\\t.then((response) => {\\n\\t\\t\\t\\t\\t// eslint-disable-next-line vue/no-mutating-props\\n\\t\\t\\t\\t\\tthis.clients = this.clients.filter(client => client.id !== id)\\n\\t\\t\\t\\t})\\n\\t\\t},\\n\\t\\taddClient() {\\n\\t\\t\\tthis.newClient.error = false\\n\\n\\t\\t\\taxios.post(\\n\\t\\t\\t\\tgenerateUrl('apps/oauth2/clients'),\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tname: this.newClient.name,\\n\\t\\t\\t\\t\\tredirectUri: this.newClient.redirectUri,\\n\\t\\t\\t\\t}\\n\\t\\t\\t).then(response => {\\n\\t\\t\\t\\t// eslint-disable-next-line vue/no-mutating-props\\n\\t\\t\\t\\tthis.clients.push(response.data)\\n\\n\\t\\t\\t\\tthis.newClient.name = ''\\n\\t\\t\\t\\tthis.newClient.redirectUri = ''\\n\\t\\t\\t}).catch(reason => {\\n\\t\\t\\t\\tthis.newClient.error = true\\n\\t\\t\\t\\tthis.newClient.errorMsg = reason.response.data.message\\n\\t\\t\\t})\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style scoped>\\n\\ttable {\\n\\t\\tmax-width: 800px;\\n\\t}\\n\\n\\t/** Overwrite button height and position to be aligned with the text input */\\n\\t.inline-button {\\n\\t\\tmin-height: 34px !important;\\n\\t\\tdisplay: inline-flex !important;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.icon-toggle[data-v-75e22bc6],\\n.icon-delete[data-v-75e22bc6] {\\n\\tdisplay: inline-block;\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tpadding: 10px;\\n\\tvertical-align: middle;\\n}\\ntd code[data-v-75e22bc6] {\\n\\tdisplay: inline-block;\\n\\tvertical-align: middle;\\n}\\ntable.inline td[data-v-75e22bc6] {\\n\\tborder: none;\\n\\tpadding: 5px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/oauth2/src/components/OAuthItem.vue\"],\"names\":[],\"mappings\":\";AAuHA;;CAEA,qBAAA;CACA,WAAA;CACA,YAAA;CACA,aAAA;CACA,sBAAA;AACA;AACA;CACA,qBAAA;CACA,sBAAA;AACA;AACA;CACA,YAAA;CACA,YAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\\n -\\n - @author Roeland Jago Douma <roeland@famdouma.nl>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n<template>\\n\\t<tr>\\n\\t\\t<td>\\n\\t\\t\\t<table class=\\\"inline\\\">\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Name') }}</td>\\n\\t\\t\\t\\t\\t<td>{{ name }}</td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Redirection URI') }}</td>\\n\\t\\t\\t\\t\\t<td>{{ redirectUri }}</td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Client Identifier') }}</td>\\n\\t\\t\\t\\t\\t<td><code>{{ clientId }}</code></td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Secret') }}</td>\\n\\t\\t\\t\\t\\t<td><code>{{ renderedSecret }}</code><a class=\\\"icon-toggle has-tooltip\\\" :title=\\\"t('oauth2', 'Show client secret')\\\" @click=\\\"toggleSecret\\\" /></td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t</table>\\n\\t\\t</td>\\n\\t\\t<td class=\\\"action-column\\\">\\n\\t\\t\\t<NcButton type=\\\"tertiary-no-background\\\"\\n\\t\\t\\t\\t:aria-label=\\\"t('oauth2', 'Delete')\\\"\\n\\t\\t\\t\\t@click=\\\"$emit('delete', id)\\\">\\n\\t\\t\\t\\t<template #icon>\\n\\t\\t\\t\\t\\t<Delete :size=\\\"20\\\"\\n\\t\\t\\t\\t\\t\\t:title=\\\"t('oauth2', 'Delete')\\\" />\\n\\t\\t\\t\\t</template>\\n\\t\\t\\t</NcButton>\\n\\t\\t</td>\\n\\t</tr>\\n</template>\\n\\n<script>\\n\\nimport Delete from 'vue-material-design-icons/Delete'\\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\\n\\nexport default {\\n\\tname: 'OAuthItem',\\n\\tcomponents: {\\n\\t\\tDelete,\\n\\t\\tNcButton,\\n\\t},\\n\\tprops: {\\n\\t\\tclient: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tid: this.client.id,\\n\\t\\t\\tname: this.client.name,\\n\\t\\t\\tredirectUri: this.client.redirectUri,\\n\\t\\t\\tclientId: this.client.clientId,\\n\\t\\t\\tclientSecret: this.client.clientSecret,\\n\\t\\t\\trenderSecret: false,\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\trenderedSecret() {\\n\\t\\t\\tif (this.renderSecret) {\\n\\t\\t\\t\\treturn this.clientSecret\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn '****'\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\ttoggleSecret() {\\n\\t\\t\\tthis.renderSecret = !this.renderSecret\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\t.icon-toggle,\\n\\t.icon-delete {\\n\\t\\tdisplay: inline-block;\\n\\t\\twidth: 16px;\\n\\t\\theight: 16px;\\n\\t\\tpadding: 10px;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\ttd code {\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\ttable.inline td {\\n\\t\\tborder: none;\\n\\t\\tpadding: 5px;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5053;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5053: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(8078); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","name","components","Delete","NcButton","props","client","type","required","data","id","redirectUri","clientId","clientSecret","renderSecret","computed","renderedSecret","methods","toggleSecret","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_c","_self","staticClass","_v","_s","t","attrs","on","$event","$emit","scopedSlots","_u","key","fn","proxy","OAuthItem","NcSettingsSection","clients","newClient","errorMsg","error","oauthDocLink","instanceName","deleteClient","axios","then","addClient","generateUrl","length","_l","_e","preventDefault","apply","arguments","directives","rawName","value","expression","domProps","target","composing","$set","Vue","OC","loadState","App","propsData","$mount","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}