air-lib
Version:
This is Air's angular component library
84 lines • 6.37 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";
export class CanActivateService {
/**
* @param {?} translator
* @param {?} authService
* @param {?} sessionService
* @param {?} http
* @param {?} router
*/
constructor(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 {?}
*/
canActivate(route, state) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (route.data) {
/** @type {?} */
const parts = Object.keys(route.data).map(key => route.data[key]);
if (parts.length > 0) {
yield this.translator.loadTranslation(parts);
}
}
/** @type {?} */
const isAllowed = this.authService.isAllowed(state);
if (!isAllowed) {
this.router.navigateByUrl('/account');
}
return isAllowed;
});
}
}
CanActivateService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
CanActivateService.ctorParameters = () => [
{ 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" });
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWFjdGl2YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9haXItbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhbi1hY3RpdmF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQStDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBSzNELE1BQU07Ozs7Ozs7O0lBRUosWUFDVSxVQUE4QixFQUMvQixXQUF3QixFQUN4QixjQUE4QixFQUM5QixJQUFpQixFQUNqQixNQUFjO1FBSmIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFJLENBQUM7Ozs7OztJQUVmLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCOztZQUNoRixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7O3NCQUNSLEtBQUssR0FBa0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDcEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDOUM7YUFDRjs7a0JBQ0ssU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNuRCxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztLQUFBOzs7WUF4QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxrQkFBa0I7WUFIbEIsV0FBVztZQUNYLGNBQWM7WUFDZCxXQUFXO1lBSGtDLE1BQU07Ozs7Ozs7O0lBWXhELHdDQUFzQzs7SUFDdEMseUNBQStCOztJQUMvQiw0Q0FBcUM7O0lBQ3JDLGtDQUF3Qjs7SUFDeEIsb0NBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FuQWN0aXZhdGVTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0b3I6IFRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2Vzc2lvblNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGh0dHA6IEh0dHBTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyKSB7IH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKHJvdXRlLmRhdGEpIHtcclxuICAgICAgY29uc3QgcGFydHM6IEFycmF5PHN0cmluZz4gPSBPYmplY3Qua2V5cyhyb3V0ZS5kYXRhKS5tYXAoa2V5ID0+IHJvdXRlLmRhdGFba2V5XSk7XHJcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdG9yLmxvYWRUcmFuc2xhdGlvbihwYXJ0cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGlzQWxsb3dlZCA9IHRoaXMuYXV0aFNlcnZpY2UuaXNBbGxvd2VkKHN0YXRlKTtcclxuICAgIGlmICghaXNBbGxvd2VkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9hY2NvdW50Jyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNBbGxvd2VkO1xyXG4gIH1cclxufVxyXG4iXX0=