/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Injectable } from '@angular/core'; import { Router, ActivatedRoute } from '@angular/router'; import { AppConfigService } from '../app-config/app-config.service'; import { B2bService } from '../_services/b2b.service'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "../_services/b2b.service"; import * as i3 from "../app-config/app-config.service"; export class PermissionGuard { /** * @param {?} router * @param {?} route * @param {?} dataservice * @param {?} appConfigService */ constructor(router, route, dataservice, appConfigService) { this.router = router; this.route = route; this.dataservice = dataservice; this.appConfigService = appConfigService; this.config = appConfigService.getConfig(); } /** * @param {?} next * @param {?} state * @return {?} */ canActivate(next, state) { console.log(next.queryParams); /** @type {?} */ let params = next.queryParams; if (params["token"]) { sessionStorage.setItem('token', params["token"]); // token = params.token return this.getPermission(next); } else if (params["token"] === '') { return false; } else { /** @type {?} */ const token = sessionStorage.getItem('token'); if (token) { return this.getPermission(next); } else { return false; } } // const path = this.getUrlPath(next); // let configData = null; // configData = this.getConfigByUrl(path); // if (configData) { // if (this.dataservice.isCheckGuard(configData.role)) { // return true; // } // else { return false; } // } else { return true; } } /** * @param {?} next * @return {?} */ getPermission(next) { return tslib_1.__awaiter(this, void 0, void 0, function* () { /** @type {?} */ let verifyToken = yield this.dataservice.verify(); console.log("verifyToken", verifyToken, verifyToken['resultCode'] === '40100'); if (verifyToken['resultCode'] == '20000') { /** @type {?} */ let path = this.getUrlPath(next); /** @type {?} */ let configData = null; configData = this.getConfigByUrl(path); console.log('configData ', configData); if (configData) { if (this.dataservice.isCheckGuardRoutePath(configData.routingPath) || configData.routingPath === '') { console.log('isCheckGuardRoutePath ', true); return true; } else return false; } else return true; } else if (verifyToken['resultCode'] === '40100') { /** @type {?} */ let __resultData = verifyToken['resultData']; this.checkSession(__resultData.userMessage); return false; } else { return false; } }); } /** * @param {?} userMessage * @return {?} */ checkSession(userMessage) { console.log('checkSession'); /** @type {?} */ const token = sessionStorage.getItem('token'); window.parent.postMessage(JSON.stringify({ command: "checkSession", message: token, userMessage: userMessage || 'Unknow' }), '*'); console.log('checkSession', JSON.stringify({ command: "checkSession", message: token, userMessage: userMessage || 'Unknow' })); } /** * @param {?} url * @return {?} */ getUrlPath(url) { console.log('path ', url.routeConfig.path); return url.routeConfig.path; } /** * @param {?} path * @return {?} */ getConfigByUrl(path) { /** @type {?} */ const permissionConfig = this.config.permission; /** @type {?} */ let permissionData = null; for (let data of permissionConfig) { if (path == data.routingPath) { permissionData = data; break; } } console.log('Data ', permissionData); return permissionData; } } PermissionGuard.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ PermissionGuard.ctorParameters = () => [ { type: Router }, { type: ActivatedRoute }, { type: B2bService }, { type: AppConfigService } ]; /** @nocollapse */ PermissionGuard.ngInjectableDef = i0.defineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(i0.inject(i1.Router), i0.inject(i1.ActivatedRoute), i0.inject(i2.B2bService), i0.inject(i3.AppConfigService)); }, token: PermissionGuard, providedIn: "root" }); if (false) { /** @type {?} */ PermissionGuard.prototype.config; /** @type {?} */ PermissionGuard.prototype.router; /** @type {?} */ PermissionGuard.prototype.route; /** @type {?} */ PermissionGuard.prototype.dataservice; /** @type {?} */ PermissionGuard.prototype.appConfigService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3NvYy1hcHAtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9fZ3VhcmQvcGVybWlzc2lvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNILE1BQU0sRUFFTixjQUFjLEVBR2pCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7OztBQUlwRCxNQUFNOzs7Ozs7O0lBR0YsWUFBbUIsTUFBYyxFQUFVLEtBQXFCLEVBQVUsV0FBdUIsRUFBVSxnQkFBa0M7UUFBMUgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3pJLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7S0FDOUM7Ozs7OztJQUVELFdBQVcsQ0FBQyxJQUE0QixFQUM1QixLQUEwQjtRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzs7UUFDOUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM5QixJQUFJLE1BQU0sV0FBUTtZQUNkLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sVUFBTyxDQUFDOztZQUU5QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkM7YUFBTSxJQUFJLE1BQU0sY0FBVyxFQUFFLEVBQUU7WUFDNUIsT0FBTyxLQUFLLENBQUM7U0FDaEI7YUFBTTs7WUFDSCxNQUFN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QUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzFCLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLE1BQU07YUFDVDtTQUNKO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDckMsT0FBTyxjQUFjLENBQUM7S0FDekI7OztZQWxHSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7Ozs7WUFYRyxNQUFNO1lBRU4sY0FBYztZQU1WLFVBQVU7WUFEVixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBSb3V0ZXIsXG4gICAgQ2FuQWN0aXZhdGUsXG4gICAgQWN0aXZhdGVkUm91dGUsXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBcHBDb25maWdTZXJ2aWNlfSBmcm9tICcuLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQge0IyYlNlcnZpY2V9IGZyb20gJy4uL19zZXJ2aWNlcy9iMmIuc2VydmljZSc7XG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgICBjb25maWc6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgZGF0YXNlcnZpY2U6IEIyYlNlcnZpY2UsIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGFwcENvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgfVxuXG4gICAgY2FuQWN0aXZhdGUobmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IGFueSB7XG4gICAgICAgIGNvbnNvbGUubG9nKG5leHQucXVlcnlQYXJhbXMpO1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV4dC5xdWVyeVBhcmFtcztcbiAgICAgICAgaWYgKHBhcmFtcy50b2tlbikge1xuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBwYXJhbXMudG9rZW4pO1xuICAgICAgICAgICAgLy8gdG9rZW4gPSBwYXJhbXMudG9rZW5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBlcm1pc3Npb24obmV4dCk7XG4gICAgICAgIH0gZWxzZSBpZiAocGFyYW1zLnRva2VuID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGVybWlzc2lvbihuZXh0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnN0IHBhdGggPSB0aGlzLmdldFVybFBhdGgobmV4dCk7XG4gICAgICAgIC8vIGxldCBjb25maWdEYXRhID0gbnVsbDtcbiAgICAgICAgLy8gY29uZmlnRGF0YSA9IHRoaXMuZ2V0Q29uZmlnQnlVcmwocGF0aCk7XG4gICAgICAgIC8vIGlmIChjb25maWdEYXRhKSB7XG4gICAgICAgIC8vICAgICBpZiAodGhpcy5kYXRhc2VydmljZS5pc0NoZWNrR3VhcmQoY29uZmlnRGF0YS5yb2xlKSkge1xuICAgICAgICAvLyAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgICAgZWxzZSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICAvLyB9IGVsc2UgeyByZXR1cm4gdHJ1ZTsgfVxuICAgIH1cblxuICAgIGFzeW5jIGdldFBlcm1pc3Npb24obmV4dCkge1xuXG4gICAgICAgIGxldCB2ZXJpZnlUb2tlbiA9IGF3YWl0IHRoaXMuZGF0YXNlcnZpY2UudmVyaWZ5KCk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwidmVyaWZ5VG9rZW5cIix2ZXJpZnlUb2tlbiAsdmVyaWZ5VG9rZW5bJ3Jlc3VsdENvZGUnXSA9PT0gJzQwMTAwJyk7XG4gICAgICAgIGlmICh2ZXJpZnlUb2tlblsncmVzdWx0Q29kZSddID09ICcyMDAwMCcpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuc3RvcmUudG9rZW4gPSB7dG9rZW46IHZlcmlmeVRva2VuWydyZXN1bHREYXRhJ119O1xuICAgICAgICAgICAgbGV0IHBhdGggPSB0aGlzLmdldFVybFBhdGgobmV4dCk7XG4gICAgICAgICAgICBsZXQgY29uZmlnRGF0YSA9IG51bGw7XG4gICAgICAgICAgICBjb25maWdEYXRhID0gdGhpcy5nZXRDb25maWdCeVVybChwYXRoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjb25maWdEYXRhICcsIGNvbmZpZ0RhdGEpO1xuICAgICAgICAgICAgaWYgKGNvbmZpZ0RhdGEpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhc2VydmljZS5pc0NoZWNrR3VhcmRSb3V0ZVBhdGgoY29uZmlnRGF0YS5yb3V0aW5nUGF0aCkgfHwgY29uZmlnRGF0YS5yb3V0aW5nUGF0aCA9PT0gJycpe1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaXNDaGVja0d1YXJkUm91dGVQYXRoICcsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgcmV0dXJuIHRydWU7XG4gICAgICAgIH1lbHNlIGlmKHZlcmlmeVRva2VuWydyZXN1bHRDb2RlJ10gPT09ICc0MDEwMCcpe1xuICAgICAgICAgIGxldCBfX3Jlc3VsdERhdGEgPSB2ZXJpZnlUb2tlblsncmVzdWx0RGF0YSddO1xuICAgICAgICAgIHRoaXMuY2hlY2tTZXNzaW9uKF9fcmVzdWx0RGF0YS51c2VyTWVzc2FnZSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1Nlc3Npb24odXNlck1lc3NhZ2Upe1xuICAgICAgY29uc29sZS5sb2coJ2NoZWNrU2Vzc2lvbicpO1xuICAgICAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgY29tbWFuZDpcImNoZWNrU2Vzc2lvblwiLFxuICAgICAgICAgIG1lc3NhZ2U6IHRva2VuLFxuICAgICAgICAgIHVzZXJNZXNzYWdlOiB1c2VyTWVzc2FnZSB8fCAnVW5rbm93J1xuICAgICAgfSksICcqJyk7XG4gICAgICBjb25zb2xlLmxvZygnY2hlY2tTZXNzaW9uJyxKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgY29tbWFuZDpcImNoZWNrU2Vzc2lvblwiLFxuICAgICAgICAgIG1lc3NhZ2U6IHRva2VuLFxuICAgICAgICAgIHVzZXJNZXNzYWdlOiB1c2VyTWVzc2FnZSB8fCAnVW5rbm93J1xuICAgICAgfSkpO1xuICAgIH1cblxuICAgIGdldFVybFBhdGgodXJsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdwYXRoICcsIHVybC5yb3V0ZUNvbmZpZy5wYXRoKTtcbiAgICAgICAgcmV0dXJuIHVybC5yb3V0ZUNvbmZpZy5wYXRoO1xuICAgIH1cblxuICAgIGdldENvbmZpZ0J5VXJsKHBhdGgpIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbkNvbmZpZyA9IHRoaXMuY29uZmlnLnBlcm1pc3Npb247XG4gICAgICAgIGxldCBwZXJtaXNzaW9uRGF0YSA9IG51bGw7XG4gICAgICAgIGZvcihsZXQgZGF0YSBvZiBwZXJtaXNzaW9uQ29uZmlnKXtcbiAgICAgICAgICAgIGlmIChwYXRoID09IGRhdGEucm91dGluZ1BhdGgpIHtcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uRGF0YSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coJ0RhdGEgJywgcGVybWlzc2lvbkRhdGEpO1xuICAgICAgICByZXR1cm4gcGVybWlzc2lvbkRhdGE7XG4gICAgfVxuXG5cbn1cbiJdfQ==