UNPKG

ontimize-web-ngx

Version:
80 lines 12 kB
import { Injectable, Injector } from '@angular/core'; import { Observable } from 'rxjs'; import { share } from 'rxjs/operators'; import { Codes } from '../../util/codes'; import { Util } from '../../util/util'; import { OntimizeBasePermissionsService } from './ontimize-base-permissions-service.class'; import * as i0 from "@angular/core"; export class OntimizePermissionsService extends OntimizeBasePermissionsService { constructor(injector) { super(injector); this.injector = injector; this.entity = ''; } getDefaultServiceConfiguration() { const servConfig = {}; servConfig[Codes.SESSION_KEY] = this.authService.getSessionInfo(); return servConfig; } configureService(permissionsConfig) { const config = this.getDefaultServiceConfiguration(); this._urlBase = config.urlBase ? config.urlBase : this._appConfig.apiEndpoint; this._user = config.session ? config.session.user : ''; if (Util.isDefined(permissionsConfig)) { if (permissionsConfig.entity !== undefined) { this.entity = permissionsConfig.entity; } if (permissionsConfig.keyColumn !== undefined) { this.keyColumn = permissionsConfig.keyColumn; } if (permissionsConfig.valueColumn !== undefined) { this.valueColumn = permissionsConfig.valueColumn; } } } loadPermissions() { const kv = {}; kv[this.keyColumn] = this._user; const av = [this.valueColumn]; const url = this._urlBase + '/query'; const options = { headers: this.buildHeaders() }; const body = JSON.stringify({ user: this._user, sessionid: this.authService.getSessionInfo().id, type: 1, entity: this.entity, kv: kv, av: av }); const self = this; const dataObservable = new Observable(_innerObserver => { self.httpClient.post(url, body, options).subscribe((res) => { let permissions = {}; if ((res.code === Codes.ONTIMIZE_SUCCESSFUL_CODE) && Util.isDefined(res.data)) { const response = res.data; if ((response.length === 1) && Util.isObject(response[0])) { const permissionsResp = response[0]; try { permissions = permissionsResp.hasOwnProperty(self.valueColumn) ? JSON.parse(permissionsResp[self.valueColumn]) : {}; } catch (e) { console.warn('[OntimizePermissionsService: permissions parsing failed]'); } } } _innerObserver.next(permissions); }, error => { _innerObserver.error(error); }, () => _innerObserver.complete()); }); return dataObservable.pipe(share()); } } OntimizePermissionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizePermissionsService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); OntimizePermissionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizePermissionsService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizePermissionsService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i0.Injector }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtcGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9vbnRpbWl6ZS1wZXJtaXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRzNGLE1BQU0sT0FBTywwQkFBMkIsU0FBUSw4QkFBOEI7SUFTNUUsWUFBc0IsUUFBa0I7UUFDdEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREksYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVBqQyxXQUFNLEdBQVcsRUFBRSxDQUFDO0lBUzNCLENBQUM7SUFFRCw4QkFBOEI7UUFDNUIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNsRSxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsaUJBQTRDO1FBQzNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDOUUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXZELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3JDLElBQUksaUJBQWlCLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7YUFDeEM7WUFDRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDO2FBQzlDO1lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQzthQUNsRDtTQUNGO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLEVBQUUsR0FBVyxFQUFFLENBQUM7UUFDdEIsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRWhDLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7U0FDN0IsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUU7WUFDL0MsSUFBSSxFQUFFLENBQUM7WUFDUCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsRUFBRSxFQUFFLEVBQUU7WUFDTixFQUFFLEVBQUUsRUFBRTtTQUNQLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixNQUFNLGNBQWMsR0FBb0IsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDOUQsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsd0JBQXdCLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDN0UsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDekQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwQyxJQUFJOzRCQUNGLFdBQVcsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt5QkFDckg7d0JBQUMsT0FBTyxDQUFDLEVBQUU7NEJBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQywwREFBMEQsQ0FBQyxDQUFDO3lCQUMxRTtxQkFDRjtpQkFDRjtnQkFDRCxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25DLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDVCxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3dIQTVFVSwwQkFBMEI7NEhBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZVBlcm1pc3Npb25zQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvb250aW1pemUtcGVybWlzc2lvbnMtY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT250aW1pemVCYXNlUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vbnRpbWl6ZS1iYXNlLXBlcm1pc3Npb25zLXNlcnZpY2UuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT250aW1pemVQZXJtaXNzaW9uc1NlcnZpY2UgZXh0ZW5kcyBPbnRpbWl6ZUJhc2VQZXJtaXNzaW9uc1NlcnZpY2UgaW1wbGVtZW50cyBJUGVybWlzc2lvbnNTZXJ2aWNlIHtcblxuICBwdWJsaWMgZW50aXR5OiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGtleUNvbHVtbjogc3RyaW5nO1xuICBwdWJsaWMgdmFsdWVDb2x1bW46IHN0cmluZztcblxuICBwcm90ZWN0ZWQgX3VzZXI6IHN0cmluZztcbiAgcHJvdGVjdGVkIF91cmxCYXNlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgfVxuXG4gIGdldERlZmF1bHRTZXJ2aWNlQ29uZmlndXJhdGlvbigpOiBhbnkge1xuICAgIGNvbnN0IHNlcnZDb25maWcgPSB7fTtcbiAgICBzZXJ2Q29uZmlnW0NvZGVzLlNFU1NJT05fS0VZXSA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0U2Vzc2lvbkluZm8oKTtcbiAgICByZXR1cm4gc2VydkNvbmZpZztcbiAgfVxuXG4gIGNvbmZpZ3VyZVNlcnZpY2UocGVybWlzc2lvbnNDb25maWc6IE9udGltaXplUGVybWlzc2lvbnNDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldERlZmF1bHRTZXJ2aWNlQ29uZmlndXJhdGlvbigpO1xuICAgIHRoaXMuX3VybEJhc2UgPSBjb25maWcudXJsQmFzZSA/IGNvbmZpZy51cmxCYXNlIDogdGhpcy5fYXBwQ29uZmlnLmFwaUVuZHBvaW50O1xuICAgIHRoaXMuX3VzZXIgPSBjb25maWcuc2Vzc2lvbiA/IGNvbmZpZy5zZXNzaW9uLnVzZXIgOiAnJztcblxuICAgIGlmIChVdGlsLmlzRGVmaW5lZChwZXJtaXNzaW9uc0NvbmZpZykpIHtcbiAgICAgIGlmIChwZXJtaXNzaW9uc0NvbmZpZy5lbnRpdHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmVudGl0eSA9IHBlcm1pc3Npb25zQ29uZmlnLmVudGl0eTtcbiAgICAgIH1cbiAgICAgIGlmIChwZXJtaXNzaW9uc0NvbmZpZy5rZXlDb2x1bW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmtleUNvbHVtbiA9IHBlcm1pc3Npb25zQ29uZmlnLmtleUNvbHVtbjtcbiAgICAgIH1cbiAgICAgIGlmIChwZXJtaXNzaW9uc0NvbmZpZy52YWx1ZUNvbHVtbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMudmFsdWVDb2x1bW4gPSBwZXJtaXNzaW9uc0NvbmZpZy52YWx1ZUNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsb2FkUGVybWlzc2lvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBrdjogb2JqZWN0ID0ge307XG4gICAga3ZbdGhpcy5rZXlDb2x1bW5dID0gdGhpcy5fdXNlcjtcblxuICAgIGNvbnN0IGF2ID0gW3RoaXMudmFsdWVDb2x1bW5dO1xuXG4gICAgY29uc3QgdXJsID0gdGhpcy5fdXJsQmFzZSArICcvcXVlcnknO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVycygpXG4gICAgfTtcbiAgICBjb25zdCBib2R5ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgdXNlcjogdGhpcy5fdXNlcixcbiAgICAgIHNlc3Npb25pZDogdGhpcy5hdXRoU2VydmljZS5nZXRTZXNzaW9uSW5mbygpLmlkLFxuICAgICAgdHlwZTogMSxcbiAgICAgIGVudGl0eTogdGhpcy5lbnRpdHksXG4gICAgICBrdjoga3YsXG4gICAgICBhdjogYXZcbiAgICB9KTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBkYXRhT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnk+ID0gbmV3IE9ic2VydmFibGUoX2lubmVyT2JzZXJ2ZXIgPT4ge1xuICAgICAgc2VsZi5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5LCBvcHRpb25zKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIGxldCBwZXJtaXNzaW9ucyA9IHt9O1xuICAgICAgICBpZiAoKHJlcy5jb2RlID09PSBDb2Rlcy5PTlRJTUlaRV9TVUNDRVNTRlVMX0NPREUpICYmIFV0aWwuaXNEZWZpbmVkKHJlcy5kYXRhKSkge1xuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gcmVzLmRhdGE7XG4gICAgICAgICAgaWYgKChyZXNwb25zZS5sZW5ndGggPT09IDEpICYmIFV0aWwuaXNPYmplY3QocmVzcG9uc2VbMF0pKSB7XG4gICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uc1Jlc3AgPSByZXNwb25zZVswXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zID0gcGVybWlzc2lvbnNSZXNwLmhhc093blByb3BlcnR5KHNlbGYudmFsdWVDb2x1bW4pID8gSlNPTi5wYXJzZShwZXJtaXNzaW9uc1Jlc3Bbc2VsZi52YWx1ZUNvbHVtbl0pIDoge307XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybignW09udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlOiBwZXJtaXNzaW9ucyBwYXJzaW5nIGZhaWxlZF0nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgX2lubmVyT2JzZXJ2ZXIubmV4dChwZXJtaXNzaW9ucyk7XG4gICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgIF9pbm5lck9ic2VydmVyLmVycm9yKGVycm9yKTtcbiAgICAgIH0sICgpID0+IF9pbm5lck9ic2VydmVyLmNvbXBsZXRlKCkpO1xuICAgIH0pO1xuICAgIHJldHVybiBkYXRhT2JzZXJ2YWJsZS5waXBlKHNoYXJlKCkpO1xuICB9XG5cbn1cbiJdfQ==