1 |
- {"version":3,"file":"oauth2-oauth2.js?v=1ee548567e94ad767474","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/oauth2/src/components/OAuthItem.vue","webpack:///nextcloud/apps/oauth2/src/components/OAuthItem.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/oauth2/src/components/OAuthItem.vue?414b","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","webpack:///nextcloud/apps/oauth2/src/App.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/oauth2/src/App.vue?0bc4","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=2483118c&prod&scoped=true&lang=css&","webpack:///nextcloud/apps/oauth2/src/components/OAuthItem.vue?vue&type=style&index=0&id=142f39d4&prod&scoped=true&lang=css&","webpack:///nextcloud/webpack/bootstrap","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 = (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((key) => (__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};","<!--\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.vue'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\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","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 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=142f39d4&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=142f39d4&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=142f39d4&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=142f39d4&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 \"142f39d4\",\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 }","<!--\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 \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.vue'\nimport { generateUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\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","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 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=2483118c&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=2483118c&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=2483118c&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=2483118c&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 \"2483118c\",\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-2483118c] {\n\tmax-width: 800px;\n}\n\n/** Overwrite button height and position to be aligned with the text input */\n.inline-button[data-v-2483118c] {\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 \\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.vue'\\nimport { generateUrl } from '@nextcloud/router'\\nimport { getCapabilities } from '@nextcloud/capabilities'\\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\\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-142f39d4],\n.icon-delete[data-v-142f39d4] {\n\tdisplay: inline-block;\n\twidth: 16px;\n\theight: 16px;\n\tpadding: 10px;\n\tvertical-align: middle;\n}\ntd code[data-v-142f39d4] {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\ntable.inline td[data-v-142f39d4] {\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.vue'\\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\\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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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 = (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 = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (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((id) => (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], () => (__webpack_require__(59725)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","name","components","Delete","NcButton","props","client","type","Object","required","data","id","redirectUri","clientId","clientSecret","renderSecret","computed","renderedSecret","methods","toggleSecret","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","_v","_s","t","attrs","on","$event","$emit","scopedSlots","_u","key","fn","proxy","OAuthItem","NcSettingsSection","clients","Array","newClient","errorMsg","error","oauthDocLink","loadState","instanceName","getCapabilities","theming","deleteClient","axios","delete","generateUrl","then","response","filter","addClient","post","push","catch","reason","message","length","_l","_e","preventDefault","apply","arguments","directives","rawName","value","expression","domProps","target","composing","$set","Vue","prototype","OC","extend","App","propsData","$mount","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","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":""}
|