air-lib
Version:
This is Air's angular component library
90 lines • 7.04 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { AuthService } from './auth.service';
import { SessionService } from './session.service';
import { HttpService } from './http.service';
import { TranslationService } from './translation.service';
import * as i0 from "@angular/core";
import * as i1 from "./translation.service";
import * as i2 from "./auth.service";
import * as i3 from "./session.service";
import * as i4 from "./http.service";
import * as i5 from "@angular/router";
var CanActivateService = /** @class */ (function () {
function CanActivateService(translator, authService, sessionService, http, router) {
this.translator = translator;
this.authService = authService;
this.sessionService = sessionService;
this.http = http;
this.router = router;
}
/**
* @param {?} route
* @param {?} state
* @return {?}
*/
CanActivateService.prototype.canActivate = /**
* @param {?} route
* @param {?} state
* @return {?}
*/
function (route, state) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var parts, isAllowed;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!route.data) return [3 /*break*/, 2];
parts = Object.keys(route.data).map(function (key) { return route.data[key]; });
if (!(parts.length > 0)) return [3 /*break*/, 2];
return [4 /*yield*/, this.translator.loadTranslation(parts)];
case 1:
_a.sent();
_a.label = 2;
case 2:
isAllowed = this.authService.isAllowed(state);
if (!isAllowed) {
this.router.navigateByUrl('/account');
}
return [2 /*return*/, isAllowed];
}
});
});
};
CanActivateService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
CanActivateService.ctorParameters = function () { return [
{ type: TranslationService },
{ type: AuthService },
{ type: SessionService },
{ type: HttpService },
{ type: Router }
]; };
/** @nocollapse */ CanActivateService.ngInjectableDef = i0.defineInjectable({ factory: function CanActivateService_Factory() { return new CanActivateService(i0.inject(i1.TranslationService), i0.inject(i2.AuthService), i0.inject(i3.SessionService), i0.inject(i4.HttpService), i0.inject(i5.Router)); }, token: CanActivateService, providedIn: "root" });
return CanActivateService;
}());
export { CanActivateService };
if (false) {
/**
* @type {?}
* @private
*/
CanActivateService.prototype.translator;
/** @type {?} */
CanActivateService.prototype.authService;
/** @type {?} */
CanActivateService.prototype.sessionService;
/** @type {?} */
CanActivateService.prototype.http;
/** @type {?} */
CanActivateService.prototype.router;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWFjdGl2YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9haXItbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhbi1hY3RpdmF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQStDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBRTNEO0lBS0UsNEJBQ1UsVUFBOEIsRUFDL0IsV0FBd0IsRUFDeEIsY0FBOEIsRUFDOUIsSUFBaUIsRUFDakIsTUFBYztRQUpiLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDOzs7Ozs7SUFFZix3Q0FBVzs7Ozs7SUFBeEIsVUFBeUIsS0FBNkIsRUFBRSxLQUEwQjs7Ozs7OzZCQUM1RSxLQUFLLENBQUMsSUFBSSxFQUFWLHdCQUFVO3dCQUNOLEtBQUssR0FBa0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBZixDQUFlLENBQUM7NkJBQzVFLENBQUEsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUEsRUFBaEIsd0JBQWdCO3dCQUNsQixxQkFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBQTs7d0JBQTVDLFNBQTRDLENBQUM7Ozt3QkFHM0MsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQzt3QkFDbkQsSUFBSSxDQUFDLFNBQVMsRUFBRTs0QkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzt5QkFDdkM7d0JBQ0Qsc0JBQU8sU0FBUyxFQUFDOzs7O0tBQ2xCOztnQkF4QkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O2dCQUpRLGtCQUFrQjtnQkFIbEIsV0FBVztnQkFDWCxjQUFjO2dCQUNkLFdBQVc7Z0JBSGtDLE1BQU07Ozs2QkFENUQ7Q0FnQ0MsQUF6QkQsSUF5QkM7U0F0Qlksa0JBQWtCOzs7Ozs7SUFHM0Isd0NBQXNDOztJQUN0Qyx5Q0FBK0I7O0lBQy9CLDRDQUFxQzs7SUFDckMsa0NBQXdCOztJQUN4QixvQ0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYW5BY3RpdmF0ZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdHJhbnNsYXRvcjogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHB1YmxpYyBzZXNzaW9uU2VydmljZTogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaHR0cDogSHR0cFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAocm91dGUuZGF0YSkge1xyXG4gICAgICBjb25zdCBwYXJ0czogQXJyYXk8c3RyaW5nPiA9IE9iamVjdC5rZXlzKHJvdXRlLmRhdGEpLm1hcChrZXkgPT4gcm91dGUuZGF0YVtrZXldKTtcclxuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0b3IubG9hZFRyYW5zbGF0aW9uKHBhcnRzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgaXNBbGxvd2VkID0gdGhpcy5hdXRoU2VydmljZS5pc0FsbG93ZWQoc3RhdGUpO1xyXG4gICAgaWYgKCFpc0FsbG93ZWQpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2FjY291bnQnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpc0FsbG93ZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==