UNPKG

ontimize-web-ngx

Version:
87 lines 13.4 kB
import { HttpHeaders } from '@angular/common/http'; 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 OntimizeEEPermissionsService extends OntimizeBasePermissionsService { constructor(injector) { super(injector); this.injector = injector; this.path = ''; } getDefaultServiceConfiguration(permissionsConfig) { const serviceName = permissionsConfig ? permissionsConfig.service : undefined; const authService = this.authService; const configuration = this._config.getServiceConfiguration(); let servConfig = {}; if (serviceName && configuration.hasOwnProperty(serviceName)) { servConfig = configuration[serviceName]; } servConfig[Codes.SESSION_KEY] = authService.getSessionInfo(); return servConfig; } configureService(permissionsConfig) { const config = this.getDefaultServiceConfiguration(permissionsConfig); this._urlBase = config.urlBase ? config.urlBase : this._appConfig.apiEndpoint; this._user = config.session ? config.session.user : ''; this.path = config.path ? config.path : OntimizeEEPermissionsService.DEFAULT_PERMISSIONS_PATH; } loadPermissions() { const url = this._urlBase + this.path; const options = { headers: this.buildHeaders() }; const self = this; const dataObservable = new Observable(_innerObserver => { self.httpClient.get(url, options).subscribe({ next: (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 rawPermissions = response[0][OntimizeEEPermissionsService.PERMISSIONS_KEY]; try { permissions = JSON.parse(rawPermissions); } catch (e) { if (Util.isDefined(rawPermissions)) { console.warn('[OntimizeEEPermissionsService: permissions parsing failed]'); } } } } _innerObserver.next(permissions); }, error: (error) => { _innerObserver.error(error); }, complete: () => { _innerObserver.complete(); } }); }); return dataObservable.pipe(share()); } buildHeaders() { let headers = new HttpHeaders({ 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json;charset=UTF-8' }); const sessionId = this.authService.getSessionInfo().id; if (Util.isDefined(sessionId)) { headers = headers.append('Authorization', 'Bearer ' + sessionId); } return headers; } } OntimizeEEPermissionsService.DEFAULT_PERMISSIONS_PATH = '/loadPermissions'; OntimizeEEPermissionsService.PERMISSIONS_KEY = 'permission'; OntimizeEEPermissionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeEEPermissionsService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); OntimizeEEPermissionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeEEPermissionsService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeEEPermissionsService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i0.Injector }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZWUtcGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9vbnRpbWl6ZS1lZS1wZXJtaXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUczRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsOEJBQThCO0lBVTlFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMakMsU0FBSSxHQUFXLEVBQUUsQ0FBQztJQU96QixDQUFDO0lBRUQsOEJBQThCLENBQUMsaUJBQThDO1FBQzNFLE1BQU0sV0FBVyxHQUFXLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV0RixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUU3RCxJQUFJLFVBQVUsR0FBRyxF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Q0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFHUyxZQUFZO1FBQ3BCLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLDZCQUE2QixFQUFFLEdBQUc7WUFDbEMsY0FBYyxFQUFFLGdDQUFnQztTQUNqRCxDQUFDLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O0FBbEZhLHFEQUF3QixHQUFHLGtCQUFrQixDQUFDO0FBQzlDLDRDQUFlLEdBQUcsWUFBWSxDQUFDOzBIQUhsQyw0QkFBNEI7OEhBQTVCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9udGltaXplRUVQZXJtaXNzaW9uc0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL29udGltaXplLWVlLXBlcm1pc3Npb25zLWNvbmZpZy50eXBlJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9udGltaXplQmFzZVBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4vb250aW1pemUtYmFzZS1wZXJtaXNzaW9ucy1zZXJ2aWNlLmNsYXNzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9udGltaXplRUVQZXJtaXNzaW9uc1NlcnZpY2UgZXh0ZW5kcyBPbnRpbWl6ZUJhc2VQZXJtaXNzaW9uc1NlcnZpY2UgaW1wbGVtZW50cyBJUGVybWlzc2lvbnNTZXJ2aWNlIHtcblxuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfUEVSTUlTU0lPTlNfUEFUSCA9ICcvbG9hZFBlcm1pc3Npb25zJztcbiAgcHVibGljIHN0YXRpYyBQRVJNSVNTSU9OU19LRVkgPSAncGVybWlzc2lvbic7XG5cbiAgcHVibGljIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHByb3RlY3RlZCBfdXNlcjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3VybEJhc2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdFNlcnZpY2VDb25maWd1cmF0aW9uKHBlcm1pc3Npb25zQ29uZmlnOiBPbnRpbWl6ZUVFUGVybWlzc2lvbnNDb25maWcpOiBhbnkge1xuICAgIGNvbnN0IHNlcnZpY2VOYW1lOiBzdHJpbmcgPSBwZXJtaXNzaW9uc0NvbmZpZyA/IHBlcm1pc3Npb25zQ29uZmlnLnNlcnZpY2UgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBhdXRoU2VydmljZSA9IHRoaXMuYXV0aFNlcnZpY2U7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuX2NvbmZpZy5nZXRTZXJ2aWNlQ29uZmlndXJhdGlvbigpO1xuXG4gICAgbGV0IHNlcnZDb25maWcgPSB7fTtcbiAgICBpZiAoc2VydmljZU5hbWUgJiYgY29uZmlndXJhdGlvbi5oYXNPd25Qcm9wZXJ0eShzZXJ2aWNlTmFtZSkpIHtcbiAgICAgIHNlcnZDb25maWcgPSBjb25maWd1cmF0aW9uW3NlcnZpY2VOYW1lXTtcbiAgICB9XG4gICAgc2VydkNvbmZpZ1tDb2Rlcy5TRVNTSU9OX0tFWV0gPSBhdXRoU2VydmljZS5nZXRTZXNzaW9uSW5mbygpO1xuICAgIHJldHVybiBzZXJ2Q29uZmlnO1xuICB9XG5cbiAgY29uZmlndXJlU2VydmljZShwZXJtaXNzaW9uc0NvbmZpZzogT250aW1pemVFRVBlcm1pc3Npb25zQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5nZXREZWZhdWx0U2VydmljZUNvbmZpZ3VyYXRpb24ocGVybWlzc2lvbnNDb25maWcpO1xuICAgIHRoaXMuX3VybEJhc2UgPSBjb25maWcudXJsQmFzZSA/IGNvbmZpZy51cmxCYXNlIDogdGhpcy5fYXBwQ29uZmlnLmFwaUVuZHBvaW50O1xuICAgIHRoaXMuX3VzZXIgPSBjb25maWcuc2Vzc2lvbiA/IGNvbmZpZy5zZXNzaW9uLnVzZXIgOiAnJztcbiAgICB0aGlzLnBhdGggPSBjb25maWcucGF0aCA/IGNvbmZpZy5wYXRoIDogT250aW1pemVFRVBlcm1pc3Npb25zU2VydmljZS5ERUZBVUxUX1BFUk1JU1NJT05TX1BBVEg7XG4gIH1cblxuICBsb2FkUGVybWlzc2lvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLl91cmxCYXNlICsgdGhpcy5wYXRoO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVycygpXG4gICAgfTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIGNvbnN0IGRhdGFPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShfaW5uZXJPYnNlcnZlciA9PiB7XG4gICAgICBzZWxmLmh0dHBDbGllbnQuZ2V0KHVybCwgb3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IHBlcm1pc3Npb25zID0ge307XG4gICAgICAgICAgaWYgKChyZXMuY29kZSA9PT0gQ29kZXMuT05USU1JWkVfU1VDQ0VTU0ZVTF9DT0RFKSAmJiBVdGlsLmlzRGVmaW5lZChyZXMuZGF0YSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gcmVzLmRhdGE7XG4gICAgICAgICAgICBpZiAoKHJlc3BvbnNlLmxlbmd0aCA9PT0gMSkgJiYgVXRpbC5pc09iamVjdChyZXNwb25zZVswXSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgcmF3UGVybWlzc2lvbnMgPSByZXNwb25zZVswXVtPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlLlBFUk1JU1NJT05TX0tFWV07XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbnMgPSBKU09OLnBhcnNlKHJhd1Blcm1pc3Npb25zKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGlmIChVdGlsLmlzRGVmaW5lZChyYXdQZXJtaXNzaW9ucykpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignW09udGltaXplRUVQZXJtaXNzaW9uc1NlcnZpY2U6IHBlcm1pc3Npb25zIHBhcnNpbmcgZmFpbGVkXScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBfaW5uZXJPYnNlcnZlci5uZXh0KHBlcm1pc3Npb25zKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgX2lubmVyT2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9LFxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgIF9pbm5lck9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRhdGFPYnNlcnZhYmxlLnBpcGUoc2hhcmUoKSk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBidWlsZEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nOiAnKicsXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCdcbiAgICB9KTtcbiAgICBjb25zdCBzZXNzaW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFNlc3Npb25JbmZvKCkuaWQ7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlc3Npb25JZCkpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIHNlc3Npb25JZCk7XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJzO1xuICB9XG5cbn1cbiJdfQ==