1 | /**
|
2 | * @fileoverview added by tsickle
|
3 | * @suppress {checkTypes} checked by tsc
|
4 | */
|
5 | import { Injectable } from '@angular/core';
|
6 | import { NacoService } from '../domains/services/naco.service';
|
7 | import { first, map } from 'rxjs/internal/operators';
|
8 | import { Storage } from '@ubud/storage';
|
9 | var AuthenticatedGuard = /** @class */ (function () {
|
10 | function AuthenticatedGuard(naco, storage) {
|
11 | this.naco = naco;
|
12 | this.storage = storage;
|
13 | }
|
14 | /**
|
15 | * @param {?} route
|
16 | * @return {?}
|
17 | */
|
18 | AuthenticatedGuard.prototype.canActivate = /**
|
19 | * @param {?} route
|
20 | * @return {?}
|
21 | */
|
22 | function (route) {
|
23 | var _this = this;
|
24 | return this.naco.getUser().pipe(first(), map(function (user) {
|
25 | if (null === user) {
|
26 | var /** @type {?} */ uri = _this.naco.buildNestedUri(route.root);
|
27 | var /** @type {?} */ next = _this.naco.getCurrentOrigin('/' + _this.ltrim(uri));
|
28 | _this.storage.set('naco_intended_url', next).then(function () {
|
29 | window.location.href = _this.naco.login('basic email', _this.naco.getCurrentOrigin('/auth'));
|
30 | });
|
31 | }
|
32 | return !!user;
|
33 | }));
|
34 | };
|
35 | /**
|
36 | * @param {?} route
|
37 | * @return {?}
|
38 | */
|
39 | AuthenticatedGuard.prototype.canActivateChild = /**
|
40 | * @param {?} route
|
41 | * @return {?}
|
42 | */
|
43 | function (route) {
|
44 | return this.canActivate(route);
|
45 | };
|
46 | /**
|
47 | * @param {?} text
|
48 | * @return {?}
|
49 | */
|
50 | AuthenticatedGuard.prototype.ltrim = /**
|
51 | * @param {?} text
|
52 | * @return {?}
|
53 | */
|
54 | function (text) {
|
55 | return text.replace(/^\/+/, '');
|
56 | };
|
57 | /**
|
58 | * @param {?} text
|
59 | * @return {?}
|
60 | */
|
61 | AuthenticatedGuard.prototype.rtrim = /**
|
62 | * @param {?} text
|
63 | * @return {?}
|
64 | */
|
65 | function (text) {
|
66 | return text.replace(/\/+$/, '');
|
67 | };
|
68 | AuthenticatedGuard.decorators = [
|
69 | { type: Injectable },
|
70 | ];
|
71 | /** @nocollapse */
|
72 | AuthenticatedGuard.ctorParameters = function () { return [
|
73 | { type: NacoService },
|
74 | { type: Storage }
|
75 | ]; };
|
76 | return AuthenticatedGuard;
|
77 | }());
|
78 | export { AuthenticatedGuard };
|
79 | function AuthenticatedGuard_tsickle_Closure_declarations() {
|
80 | /** @type {?} */
|
81 | AuthenticatedGuard.prototype.naco;
|
82 | /** @type {?} */
|
83 | AuthenticatedGuard.prototype.storage;
|
84 | }
|
85 |
|
86 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRlZC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlci9uYWNvLyIsInNvdXJjZXMiOlsiZ3VhcmRzL2F1dGhlbnRpY2F0ZWQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Z0NBS1QsSUFBaUIsRUFBVSxPQUFnQjtRQUEzQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUzs7Ozs7O0lBRy9ELHdDQUFXOzs7O2NBQUMsS0FBNkI7O1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQzNCLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxVQUFDLElBQWlCO1lBQ2xCLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDZixxQkFBTSxHQUFHLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqRCxxQkFBTSxJQUFJLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsS0FBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUUvRCxLQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUNsQyxhQUFhLEVBQ2IsS0FBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FDdEMsQ0FBQztpQkFDTCxDQUFDLENBQUM7YUFDTjtZQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNqQixDQUFDLENBQ0wsQ0FBQzs7Ozs7O0lBR0MsNkNBQWdCOzs7O2NBQUMsS0FBNkI7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOzs7Ozs7SUFHM0Isa0NBQUs7Ozs7Y0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUMsRUFBRSxDQUFDLENBQUM7Ozs7OztJQUczQixrQ0FBSzs7OztjQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsQ0FBQzs7O2dCQW5DdEMsVUFBVTs7OztnQkFQRixXQUFXO2dCQUlYLE9BQU87OzZCQU5oQjs7U0FVYSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOYWNvU2VydmljZSB9IGZyb20gJy4uL2RvbWFpbnMvc2VydmljZXMvbmFjby5zZXJ2aWNlJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL2ludGVybmFsL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vZG9tYWlucy9tb2RlbHMvdXNlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQHVidWQvc3RvcmFnZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyL3NyYy9yb3V0ZXJfc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRlZEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG5hY286IE5hY29TZXJ2aWNlLCBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFjby5nZXRVc2VyKCkucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBtYXAoKHVzZXI6IFVzZXIgfCBudWxsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG51bGwgPT09IHVzZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJpID0gdGhpcy5uYWNvLmJ1aWxkTmVzdGVkVXJpKHJvdXRlLnJvb3QpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5uYWNvLmdldEN1cnJlbnRPcmlnaW4oJy8nICsgdGhpcy5sdHJpbSh1cmkpKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KCduYWNvX2ludGVuZGVkX3VybCcsIG5leHQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLm5hY28ubG9naW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2ljIGVtYWlsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5hY28uZ2V0Q3VycmVudE9yaWdpbignL2F1dGgnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiAhIXVzZXI7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGVDaGlsZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShyb3V0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsdHJpbSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGV4dC5yZXBsYWNlKC9eXFwvKy8sJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcnRyaW0odGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRleHQucmVwbGFjZSgvXFwvKyQvLCcnKTtcbiAgICB9XG59XG4iXX0= |
\ | No newline at end of file |