UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

62 lines 7.59 kB
import { Injectable } from '@angular/core'; import { NullStorage } from '../session/null-storage'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "../../configuration/configuration.service"; export class AnonymousService { _config; static JWT_BEARER_HEADER_DEFAULT = 'X-Jwt-Token'; _jwtHeader; _storage; _tokenSet; constructor(_config) { this._config = _config; this._jwtHeader = this._config.get().providers.auth.jwtBearer ? this._config.get().providers.auth.jwtBearer : AnonymousService.JWT_BEARER_HEADER_DEFAULT; this._storage = this.resolveStorage(this._config.get().providers.auth['local']); this._tokenSet = new BehaviorSubject(false); } get jwtHeader() { return this._jwtHeader; } get tokenSet() { return this._tokenSet.asObservable(); } getToken() { return this._storage.getItem(this._jwtHeader); } setToken(token) { this._storage.setItem(this._jwtHeader, token); if (!this._tokenSet.getValue()) this._tokenSet.next(true); } removeToken() { this._storage.removeItem(this._jwtHeader); this._tokenSet.next(false); } ngOnDestroy() { localStorage.removeItem(this._jwtHeader); this._tokenSet.complete(); } resolveStorage(storage) { switch (storage) { case 'local': return localStorage; case 'session': return sessionStorage; case 'null': return new NullStorage(); default: return localStorage; } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnonymousService, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnonymousService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnonymousService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.ConfigurationService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5vbnltb3VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL2Fub255bW91cy9hbm9ueW1vdXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFNakQsTUFBTSxPQUFPLGdCQUFnQjtJQU9IO0lBTGYsTUFBTSxDQUFVLHlCQUF5QixHQUFHLGFBQWEsQ0FBQztJQUM5QyxVQUFVLENBQVM7SUFDNUIsUUFBUSxDQUFVO0lBQ2xCLFNBQVMsQ0FBMkI7SUFFOUMsWUFBc0IsT0FBNkI7UUFBN0IsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7UUFDN0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXO1FBQ1AsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRVMsY0FBYyxDQUFDLE9BQWU7UUFDcEMsUUFBUSxPQUFPLEVBQUU7WUFDYixLQUFLLE9BQU87Z0JBQ1IsT0FBTyxZQUFZLENBQUM7WUFDeEIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sY0FBYyxDQUFDO1lBQzFCLEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7WUFDN0I7Z0JBQ0ksT0FBTyxZQUFZLENBQUM7U0FDM0I7SUFDTCxDQUFDO3dHQXJEUSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge051bGxTdG9yYWdlfSBmcm9tICcuLi9zZXNzaW9uL251bGwtc3RvcmFnZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBbm9ueW1vdXNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSldUX0JFQVJFUl9IRUFERVJfREVGQVVMVCA9ICdYLUp3dC1Ub2tlbic7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9qd3RIZWFkZXI6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3N0b3JhZ2U6IFN0b3JhZ2U7XG4gICAgcHJvdGVjdGVkIF90b2tlblNldDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuX2p3dEhlYWRlciA9IHRoaXMuX2NvbmZpZy5nZXQoKS5wcm92aWRlcnMuYXV0aC5qd3RCZWFyZXIgP1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoLmp3dEJlYXJlciA6IEFub255bW91c1NlcnZpY2UuSldUX0JFQVJFUl9IRUFERVJfREVGQVVMVDtcbiAgICAgICAgdGhpcy5fc3RvcmFnZSA9IHRoaXMucmVzb2x2ZVN0b3JhZ2UodGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoWydsb2NhbCddKTtcbiAgICAgICAgdGhpcy5fdG9rZW5TZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgand0SGVhZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9qd3RIZWFkZXI7XG4gICAgfVxuXG4gICAgZ2V0IHRva2VuU2V0KCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdG9rZW5TZXQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdG9yYWdlLmdldEl0ZW0odGhpcy5fand0SGVhZGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdG9yYWdlLnNldEl0ZW0odGhpcy5fand0SGVhZGVyLCB0b2tlbik7XG4gICAgICAgIGlmICghdGhpcy5fdG9rZW5TZXQuZ2V0VmFsdWUoKSlcbiAgICAgICAgICAgIHRoaXMuX3Rva2VuU2V0Lm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVRva2VuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5fand0SGVhZGVyKTtcbiAgICAgICAgdGhpcy5fdG9rZW5TZXQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuX2p3dEhlYWRlcik7XG4gICAgICAgIHRoaXMuX3Rva2VuU2V0LmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVTdG9yYWdlKHN0b3JhZ2U6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIHN3aXRjaCAoc3RvcmFnZSkge1xuICAgICAgICAgICAgY2FzZSAnbG9jYWwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2U7XG4gICAgICAgICAgICBjYXNlICdzZXNzaW9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2U7XG4gICAgICAgICAgICBjYXNlICdudWxsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE51bGxTdG9yYWdlKCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=