From e449322cced534749de524bc91ef80c7a8565df5 Mon Sep 17 00:00:00 2001 From: Vinicios Gomes Date: Wed, 21 Apr 2021 20:56:02 -0300 Subject: [PATCH] All configuration to route for signature validation, from php files to webpack for dev and prod --- .prettierrc | 4 ++ appinfo/routes.php | 3 +- lib/Controller/PageController.php | 15 ++++++ src/assets/images/bg.png | Bin 0 -> 79264 bytes src/assets/styles/validation.scss | 73 ++++++++++++++++++++++++++++++ src/router/router.js | 4 ++ src/validation.js | 72 +++++++++++++++++++++++++++++ src/views/Validation.vue | 61 +++++++++++++++++++++++++ webpack.dev.js | 5 +- webpack.prod.js | 5 +- 10 files changed, 237 insertions(+), 5 deletions(-) create mode 100644 .prettierrc create mode 100644 src/assets/images/bg.png create mode 100644 src/assets/styles/validation.scss create mode 100644 src/validation.js create mode 100644 src/views/Validation.vue diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..6d1433e05 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "trailingComma": "es6", + "arrowParens": "always" +} diff --git a/appinfo/routes.php b/appinfo/routes.php index 4f4ed1374..5a1c8e30b 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -22,6 +22,7 @@ return [ // Pages ['name' => 'page#index', 'url' => '/', 'verb' => 'GET'], ['name' => 'page#sign', 'url' => '/sign/{uuid}', 'verb' => 'GET'], - ['name' => 'page#getPdf', 'url' => '/pdf/{uuid}', 'verb' => 'GET'] + ['name' => 'page#getPdf', 'url' => '/pdf/{uuid}', 'verb' => 'GET'], + // ['name' => 'page#validation', 'url' => '/validation', 'verb' => 'GET'] ], ]; diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 73606d737..86db89af1 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -87,4 +87,19 @@ class PageController extends Controller { return $resp; } + + // /** + // * @NoAdminRequired + // * @NoCSRFRequired + // */ + // public function validation() { + // Util::addScript(Application::APP_ID, 'libresign-validation'); + // $response = new TemplateResponse(Application::APP_ID, 'validation', [], TemplateResponse::RENDER_AS_BASE); + + // $policy = new ContentSecurityPolicy(); + // $policy->addAllowedFrameDomain('\'self\''); + // $response->setContentSecurityPolicy($policy); + + // return $response; + // } } diff --git a/src/assets/images/bg.png b/src/assets/images/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..f6b2f3259087842d0a7ea3d1db67dd0c5a7e29c3 GIT binary patch literal 79264 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 ({ messageToast: t('libresign', 'You need to create an account to sign this file.'), }), + }, { + path: '/validation', + component: () => import('../views/Validation'), + name: 'validation', }, { path: '/sign/:uuid', component: () => import('../views/DefaultPageError'), diff --git a/src/validation.js b/src/validation.js new file mode 100644 index 000000000..9541ef435 --- /dev/null +++ b/src/validation.js @@ -0,0 +1,72 @@ +/** + * @copyright Copyright (c) 2021 Lyseon Techh + * + * @author Lyseon Tech + * @author Vinicios Gomes + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +import { generateFilePath } from '@nextcloud/router' +import { getRequestToken } from '@nextcloud/auth' +import { sync } from 'vuex-router-sync' +import Vue from 'vue' + +import Validation from './views/Validation' +import router from './router' +import store from './store' + +import VTooltip from '@nextcloud/vue/dist/Directives/Tooltip' + +import '@nextcloud/dialogs/styles/toast.scss' + +// CSP config for webpack dynamic chunk loading +// eslint-disable-next-line +__webpack_nonce__ = btoa(getRequestToken()); + +// Correct the root of the app for chunk loading +// OC.linkTo matches the apps folders +// OC.generateUrl ensure the index.php (or not) +// We do not want the index.php since we're loading files +// eslint-disable-next-line +__webpack_public_path__ = generateFilePath('libresign', '', 'js/'); + +sync(store, router) + +Vue.directive('Tooltip', VTooltip) + +Vue.prototype.t = t +Vue.prototype.n = n + +Vue.prototype.OC = OC +Vue.prototype.OCA = OCA + +if ( + window.location.pathname.split('/')[1] === 'index.php' + && OC.config.modRewriteWorking +) { + router.push({ name: 'Validation' }) +} + +export default new Vue({ + el: '#content', + // eslint-disable-next-line vue/match-component-file-name + name: 'Validation', + router, + store, + render: (h) => h(Validation), +}) diff --git a/src/views/Validation.vue b/src/views/Validation.vue new file mode 100644 index 000000000..1e95f23a0 --- /dev/null +++ b/src/views/Validation.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/webpack.dev.js b/webpack.dev.js index e9cb1e287..ffa133a4a 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -9,7 +9,8 @@ const config = { tab: path.resolve(path.join('src', 'tab.js')), settings: path.resolve(path.join('src', 'settings.js')), external: path.resolve(path.join('src', 'external.js')), - }, + validation: path.resolve(path.join('src', 'validation.js')), + }, } -module.exports = merge(config, webpackConfig) \ No newline at end of file +module.exports = merge(config, webpackConfig) diff --git a/webpack.prod.js b/webpack.prod.js index 284da9ac3..0fef05cb6 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -9,7 +9,8 @@ const config = { tab: path.resolve(path.join('src', 'tab.js')), settings: path.resolve(path.join('src', 'settings.js')), external: path.resolve(path.join('src', 'external.js')), - }, + validation: path.resolve(path.join('src', 'validation.js')), + }, } -module.exports = merge(config, webpackConfig) \ No newline at end of file +module.exports = merge(config, webpackConfig)