@terminus/ngx-tools
Version:
[![CircleCI][circle-badge]][circle-link] [![codecov][codecov-badge]][codecov-project] [![semantic-release][semantic-release-badge]][semantic-release] [![MIT License][license-image]][license-url] <br> [![NPM version][npm-version-image]][npm-url] [![Github
35 lines • 5.17 kB
JavaScript
import { __decorate, __read } from "tslib";
import { Injectable } from '@angular/core';
import { select, Store, } from '@ngrx/store';
import { filter, map, tap, withLatestFrom, } from 'rxjs/operators';
import { FailedToActivateRoute } from '../actions';
import { getDefaultToken, getJwtTokenRoot, } from '../selectors';
var DefaultTokenRequired = /** @class */ (function () {
function DefaultTokenRequired(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
store) {
this.store = store;
this.currentLoadState = this.store.pipe(select(getJwtTokenRoot()), map(function (s) { return (s && s.jwtTokens.initialTokenStatus) || 'uninitialized'; }));
this.currentToken = this.store.pipe(select(getDefaultToken()), map(function (s) { return s || ''; }));
}
DefaultTokenRequired.prototype.canActivate = function () {
var _this = this;
return this.currentLoadState.pipe(filter(function (s) { return s !== 'uninitialized'; }), withLatestFrom(this.currentToken), map(function (_a) {
var _b = __read(_a, 2), _ = _b[0], token = _b[1];
return token.length > 0;
}), tap(function (result) {
if (!result) {
_this.store.dispatch(new FailedToActivateRoute());
}
}));
};
DefaultTokenRequired.ctorParameters = function () { return [
{ type: Store }
]; };
DefaultTokenRequired = __decorate([
Injectable()
], DefaultTokenRequired);
return DefaultTokenRequired;
}());
export { DefaultTokenRequired };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFRva2VuUmVxdWlyZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGVybWludXMvbmd4LXRvb2xzL2p3dC8iLCJzb3VyY2VzIjpbImp3dC10b2tlbi1tYW5hZ21lbnQvZ3VhcmRzL2RlZmF1bHRUb2tlblJlcXVpcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxNQUFNLEVBQ04sR0FBRyxFQUNILEdBQUcsRUFDSCxjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBSXRCO0lBV0U7SUFDRSw4REFBOEQ7SUFDdkQsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQVpuQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDdkMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQ3pCLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxlQUFlLEVBQXhELENBQXdELENBQUMsQ0FDbkUsQ0FBQztRQUVLLGlCQUFZLEdBQXVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUN2RCxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsRUFDekIsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxJQUFJLEVBQUUsRUFBUCxDQUFPLENBQUMsQ0FDbEIsQ0FBQztJQUtDLENBQUM7SUFFRywwQ0FBVyxHQUFsQjtRQUFBLGlCQVdDO1FBVkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUMvQixNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEtBQUssZUFBZSxFQUFyQixDQUFxQixDQUFDLEVBQ2xDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxVQUFDLEVBQVU7Z0JBQVYsa0JBQVUsRUFBVCxTQUFDLEVBQUUsYUFBSztZQUFNLE9BQUEsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQWhCLENBQWdCLENBQUMsRUFDckMsR0FBRyxDQUFDLFVBQUEsTUFBTTtZQUNSLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7YUFDbEQ7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7Z0JBZGUsS0FBSzs7SUFiVixvQkFBb0I7UUFEaEMsVUFBVSxFQUFFO09BQ0Esb0JBQW9CLENBNEJoQztJQUFELDJCQUFDO0NBQUEsQUE1QkQsSUE0QkM7U0E1Qlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgc2VsZWN0LFxuICBTdG9yZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHRhcCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRmFpbGVkVG9BY3RpdmF0ZVJvdXRlIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0VG9rZW4sXG4gIGdldEp3dFRva2VuUm9vdCxcbn0gZnJvbSAnLi4vc2VsZWN0b3JzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRva2VuUmVxdWlyZWQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIHB1YmxpYyBjdXJyZW50TG9hZFN0YXRlID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChnZXRKd3RUb2tlblJvb3QoKSksXG4gICAgbWFwKHMgPT4gKHMgJiYgcy5qd3RUb2tlbnMuaW5pdGlhbFRva2VuU3RhdHVzKSB8fCAndW5pbml0aWFsaXplZCcpLFxuICApO1xuXG4gIHB1YmxpYyBjdXJyZW50VG9rZW46IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoZ2V0RGVmYXVsdFRva2VuKCkpLFxuICAgIG1hcChzID0+IHMgfHwgJycpLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIHN0b3JlOiBTdG9yZTxhbnk+LFxuICApIHt9XG5cbiAgcHVibGljIGNhbkFjdGl2YXRlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRMb2FkU3RhdGUucGlwZShcbiAgICAgIGZpbHRlcihzID0+IHMgIT09ICd1bmluaXRpYWxpemVkJyksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmN1cnJlbnRUb2tlbiksXG4gICAgICBtYXAoKFtfLCB0b2tlbl0pID0+IHRva2VuLmxlbmd0aCA+IDApLFxuICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRmFpbGVkVG9BY3RpdmF0ZVJvdXRlKCkpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=