UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

54 lines 7.41 kB
/** * @packageDocumentation * @module license */ import { Inject, Injectable, InjectionToken } from '@angular/core'; import { of, catchError, map } from 'rxjs'; import { ABNORMAL_EMPTY_URL_TOKEN } from '../authorization/guard.service'; import { SilentlyNavigateService } from '../core/services/public-api'; import { LicenseService } from './license.service'; import { LicenseStatus } from './license.type'; import * as i0 from "@angular/core"; import * as i1 from "../core/services/public-api"; import * as i2 from "./license.service"; export const DEFAULT_LICENSE_ERROR_URL = 'license-error'; export function defaultLicenseErrorUrlFactory() { return DEFAULT_LICENSE_ERROR_URL; } export const LICENSE_ERROR_URL_TOKEN = new InjectionToken('license_error_url', { providedIn: 'root', factory: defaultLicenseErrorUrlFactory }); export class LicenseGuardService { constructor(errorUrl, emptyUrl, silentlyNavigate, licenseService) { this.errorUrl = errorUrl; this.emptyUrl = emptyUrl; this.silentlyNavigate = silentlyNavigate; this.licenseService = licenseService; } canActivate(_route, state) { return this.licenseService.status$.pipe(map(status => { if (status === LicenseStatus.AUTHORIZED) { return true; } this.silentlyNavigate.navigate(state.url, this.errorUrl); return false; }), catchError(() => { this.silentlyNavigate.navigate(state.url, this.emptyUrl); return of(false); })); } canActivateChild(route, state) { return this.canActivate(route, state); } static { this.ɵfac = function LicenseGuardService_Factory(t) { return new (t || LicenseGuardService)(i0.ɵɵinject(LICENSE_ERROR_URL_TOKEN), i0.ɵɵinject(ABNORMAL_EMPTY_URL_TOKEN), i0.ɵɵinject(i1.SilentlyNavigateService), i0.ɵɵinject(i2.LicenseService)); }; } static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LicenseGuardService, factory: LicenseGuardService.ɵfac, providedIn: 'root' }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LicenseGuardService, [{ type: Injectable, args: [{ providedIn: 'root' }] }], () => [{ type: undefined, decorators: [{ type: Inject, args: [LICENSE_ERROR_URL_TOKEN] }] }, { type: undefined, decorators: [{ type: Inject, args: [ABNORMAL_EMPTY_URL_TOKEN] }] }, { type: i1.SilentlyNavigateService }, { type: i2.LicenseService }], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9saWNlbnNlL2xpY2Vuc2UuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGVBQWUsQ0FBQztBQUV6RCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8seUJBQXlCLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCxtQkFBbUIsRUFDbkIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxDQUMvRCxDQUFDO0FBR0YsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUVtQixRQUFnQixFQUVoQixRQUFnQixFQUNoQixnQkFBeUMsRUFDekMsY0FBOEI7UUFKOUIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUVoQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQzlDLENBQUM7SUFFSixXQUFXLENBQUMsTUFBOEIsRUFBRSxLQUEwQjtRQUNwRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxNQUFNLEtBQUssYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekQsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztvRkE1QlUsbUJBQW1CLGNBRXBCLHVCQUF1QixlQUV2Qix3QkFBd0I7dUVBSnZCLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRE4sTUFBTTs7aUZBQ25CLG1CQUFtQjtjQUQvQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztzQkFHN0IsTUFBTTt1QkFBQyx1QkFBdUI7O3NCQUU5QixNQUFNO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGxpY2Vuc2VcbiAqL1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsXG4gIENhbkFjdGl2YXRlQ2hpbGQsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBvZiwgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFCTk9STUFMX0VNUFRZX1VSTF9UT0tFTiB9IGZyb20gJy4uL2F1dGhvcml6YXRpb24vZ3VhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBTaWxlbnRseU5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IExpY2Vuc2VTZXJ2aWNlIH0gZnJvbSAnLi9saWNlbnNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGljZW5zZVN0YXR1cyB9IGZyb20gJy4vbGljZW5zZS50eXBlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElDRU5TRV9FUlJPUl9VUkwgPSAnbGljZW5zZS1lcnJvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0TGljZW5zZUVycm9yVXJsRmFjdG9yeSgpIHtcbiAgcmV0dXJuIERFRkFVTFRfTElDRU5TRV9FUlJPUl9VUkw7XG59XG5cbmV4cG9ydCBjb25zdCBMSUNFTlNFX0VSUk9SX1VSTF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnbGljZW5zZV9lcnJvcl91cmwnLFxuICB7IHByb3ZpZGVkSW46ICdyb290JywgZmFjdG9yeTogZGVmYXVsdExpY2Vuc2VFcnJvclVybEZhY3RvcnkgfSxcbik7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTGljZW5zZUd1YXJkU2VydmljZSBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMSUNFTlNFX0VSUk9SX1VSTF9UT0tFTilcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yVXJsOiBzdHJpbmcsXG4gICAgQEluamVjdChBQk5PUk1BTF9FTVBUWV9VUkxfVE9LRU4pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVVybDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lsZW50bHlOYXZpZ2F0ZTogU2lsZW50bHlOYXZpZ2F0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaWNlbnNlU2VydmljZTogTGljZW5zZVNlcnZpY2UsXG4gICkge31cblxuICBjYW5BY3RpdmF0ZShfcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgcmV0dXJuIHRoaXMubGljZW5zZVNlcnZpY2Uuc3RhdHVzJC5waXBlKFxuICAgICAgbWFwKHN0YXR1cyA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IExpY2Vuc2VTdGF0dXMuQVVUSE9SSVpFRCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2lsZW50bHlOYXZpZ2F0ZS5uYXZpZ2F0ZShzdGF0ZS51cmwsIHRoaXMuZXJyb3JVcmwpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICB0aGlzLnNpbGVudGx5TmF2aWdhdGUubmF2aWdhdGUoc3RhdGUudXJsLCB0aGlzLmVtcHR5VXJsKTtcbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZUNoaWxkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIHJldHVybiB0aGlzLmNhbkFjdGl2YXRlKHJvdXRlLCBzdGF0ZSk7XG4gIH1cbn1cbiJdfQ==