UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

31 lines 3.29 kB
import { Injectable } from '@angular/core'; import { Permissions } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; export class FilesRepositoryGuard { constructor(permissions) { this.permissions = permissions; } /** * Checks if files repository should be active, * i.e. whether the current tenant can read or admin files in repository. * * @returns True, if the feature should be active. */ canActivate() { return (this.permissions.hasRole(Permissions.ROLE_INVENTORY_READ) || this.permissions.hasAllRoles([ Permissions.ROLE_MANAGED_OBJECT_READ, Permissions.ROLE_BINARY_READ ])); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilesRepositoryGuard, deps: [{ token: i1.Permissions }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilesRepositoryGuard, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilesRepositoryGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.Permissions }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtcmVwb3NpdG9yeS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpbGVzLXJlcG9zaXRvcnkvZmlsZXMtcmVwb3NpdG9yeS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRWhEOzs7OztPQUtHO0lBQ0gsV0FBVztRQUNULE9BQU8sQ0FDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7WUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7Z0JBQzNCLFdBQVcsQ0FBQyx3QkFBd0I7Z0JBQ3BDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQWpCVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQZXJtaXNzaW9ucyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlc1JlcG9zaXRvcnlHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgZmlsZXMgcmVwb3NpdG9yeSBzaG91bGQgYmUgYWN0aXZlLFxuICAgKiBpLmUuIHdoZXRoZXIgdGhlIGN1cnJlbnQgdGVuYW50IGNhbiByZWFkIG9yIGFkbWluIGZpbGVzIGluIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIHRoZSBmZWF0dXJlIHNob3VsZCBiZSBhY3RpdmUuXG4gICAqL1xuICBjYW5BY3RpdmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5wZXJtaXNzaW9ucy5oYXNSb2xlKFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX1JFQUQpIHx8XG4gICAgICB0aGlzLnBlcm1pc3Npb25zLmhhc0FsbFJvbGVzKFtcbiAgICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFELFxuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX0JJTkFSWV9SRUFEXG4gICAgICBdKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==