UNPKG

@koalarx/ui

Version:

Koala UI is a Design System developed in Angular whose objective is to facilitate and make your development faster and simpler, making this framework your greatest ally.

55 lines 7.6 kB
import jwt from 'jwt-decode'; import { Injectable } from '@angular/core'; import { BehaviorSubject, interval } from 'rxjs'; import { TokenFactory } from "./token.factory"; import { MatFormFieldHelper } from "../../helpers/mat-form-field.helper"; import * as i0 from "@angular/core"; export class KoalaTokenService { constructor() { this.token$ = new BehaviorSubject(null); this.verifySession(); } ngOnDestroy() { this.intervalToken?.unsubscribe(); this.intervalFixMatFormField?.unsubscribe(); } setToken(token) { if (TokenFactory.hasToken()) { this.token$.next(token); } TokenFactory.setToken(token); this.intervalFixMatFormField = interval(1000).subscribe(() => MatFormFieldHelper.fixDisabledStateForDisabledFields()); } getToken() { return this.token$; } getDecodedToken() { return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null); } getOAuth2Token() { return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null); } removeToken() { TokenFactory.removeToken(); this.intervalFixMatFormField?.unsubscribe(); } verifySession() { TokenFactory.init(); this.token$.next(TokenFactory.getToken()); this.intervalToken = interval(300).subscribe(() => { if (!TokenFactory.hasToken() && this.token$.getValue()) { this.token$.next(null); } else if (TokenFactory.hasToken() && !this.token$.getValue()) { this.token$.next(TokenFactory.getToken()); } }); } } KoalaTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KoalaTokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); KoalaTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KoalaTokenService, providedIn: "any" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KoalaTokenService, decorators: [{ type: Injectable, args: [{ providedIn: "any" }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEudG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy90b2tlbi9rb2FsYS50b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQztBQUU3QixPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBWXpFLE1BQU0sT0FBTyxpQkFBaUI7SUFLNUI7UUFKUSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7UUFLakQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FBRTtRQUN6RCxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGlDQUFpQyxFQUFFLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hCO2lCQUFNLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDM0M7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQWhEVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLEtBQUs7MkZBQ2pCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgand0IGZyb20gJ2p3dC1kZWNvZGUnO1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9rZW5GYWN0b3J5IH0gZnJvbSBcIi4vdG9rZW4uZmFjdG9yeVwiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkSGVscGVyIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvbWF0LWZvcm0tZmllbGQuaGVscGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFPQXV0aDJUb2tlbkludGVyZmFjZSB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIGlkVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG4gIGxvZ2luOiBzdHJpbmc7XG4gIGV4cGlyZWQ6IG51bWJlcjtcbiAgY29kZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJhbnlcIn0pXG5leHBvcnQgY2xhc3MgS29hbGFUb2tlblNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHRva2VuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcbiAgcHJpdmF0ZSBpbnRlcnZhbFRva2VuOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgaW50ZXJ2YWxGaXhNYXRGb3JtRmllbGQ6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnZlcmlmeVNlc3Npb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaW50ZXJ2YWxUb2tlbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmludGVydmFsRml4TWF0Rm9ybUZpZWxkPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBzdHJpbmcpIHtcbiAgICBpZiAoVG9rZW5GYWN0b3J5Lmhhc1Rva2VuKCkpIHsgdGhpcy50b2tlbiQubmV4dCh0b2tlbik7IH1cbiAgICBUb2tlbkZhY3Rvcnkuc2V0VG9rZW4odG9rZW4pO1xuXG4gICAgdGhpcy5pbnRlcnZhbEZpeE1hdEZvcm1GaWVsZCA9IGludGVydmFsKDEwMDApLnN1YnNjcmliZSgoKSA9PiBNYXRGb3JtRmllbGRIZWxwZXIuZml4RGlzYWJsZWRTdGF0ZUZvckRpc2FibGVkRmllbGRzKCkpO1xuICB9XG5cbiAgcHVibGljIGdldFRva2VuKCk6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy50b2tlbiQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVjb2RlZFRva2VuPFQ+KCk6IFR8bnVsbCB7XG4gICAgcmV0dXJuIChUb2tlbkZhY3RvcnkuaGFzVG9rZW4oKSA/IGp3dChUb2tlbkZhY3RvcnkuZ2V0VG9rZW4oKSkgOiBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPQXV0aDJUb2tlbigpOiBLb2FsYU9BdXRoMlRva2VuSW50ZXJmYWNlfG51bGwge1xuICAgIHJldHVybiAoVG9rZW5GYWN0b3J5Lmhhc1Rva2VuKCkgPyBqd3QoVG9rZW5GYWN0b3J5LmdldFRva2VuKCkpIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVG9rZW4oKSB7XG4gICAgVG9rZW5GYWN0b3J5LnJlbW92ZVRva2VuKCk7XG4gICAgdGhpcy5pbnRlcnZhbEZpeE1hdEZvcm1GaWVsZD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5U2Vzc2lvbigpIHtcbiAgICBUb2tlbkZhY3RvcnkuaW5pdCgpO1xuICAgIHRoaXMudG9rZW4kLm5leHQoVG9rZW5GYWN0b3J5LmdldFRva2VuKCkpO1xuICAgIHRoaXMuaW50ZXJ2YWxUb2tlbiA9IGludGVydmFsKDMwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICghVG9rZW5GYWN0b3J5Lmhhc1Rva2VuKCkgJiYgdGhpcy50b2tlbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLnRva2VuJC5uZXh0KG51bGwpO1xuICAgICAgfSBlbHNlIGlmIChUb2tlbkZhY3RvcnkuaGFzVG9rZW4oKSAmJiAhdGhpcy50b2tlbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLnRva2VuJC5uZXh0KFRva2VuRmFjdG9yeS5nZXRUb2tlbigpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19