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 | import { PlatformLocation } from '@angular/common';
|
10 | var AuthenticatedGuard = /** @class */ (function () {
|
11 | function AuthenticatedGuard(naco, storage, platformLocation) {
|
12 | this.naco = naco;
|
13 | this.storage = storage;
|
14 | this.platformLocation = platformLocation;
|
15 | }
|
16 | /**
|
17 | * @param {?} route
|
18 | * @return {?}
|
19 | */
|
20 | AuthenticatedGuard.prototype.canActivate = /**
|
21 | * @param {?} route
|
22 | * @return {?}
|
23 | */
|
24 | function (route) {
|
25 | var _this = this;
|
26 | return this.naco.getUser().pipe(first(), map(function (user) {
|
27 | if (null === user) {
|
28 | var /** @type {?} */ base = _this.rtrim((/** @type {?} */ (_this.platformLocation)).location.href);
|
29 | var /** @type {?} */ uri = _this.naco.buildNestedUri(route.root);
|
30 | var /** @type {?} */ next = base.replace(uri, '') + '/' + _this.ltrim(uri);
|
31 | var /** @type {?} */ origin_1 = (/** @type {?} */ (_this.platformLocation)).location.origin;
|
32 | _this.storage.set('naco_intended_url', next).then(function () {
|
33 | window.location.href = _this.naco.login('basic email', origin_1 + '/auth');
|
34 | });
|
35 | }
|
36 | return !!user;
|
37 | }));
|
38 | };
|
39 | /**
|
40 | * @param {?} route
|
41 | * @return {?}
|
42 | */
|
43 | AuthenticatedGuard.prototype.canActivateChild = /**
|
44 | * @param {?} route
|
45 | * @return {?}
|
46 | */
|
47 | function (route) {
|
48 | return this.canActivate(route);
|
49 | };
|
50 | /**
|
51 | * @param {?} text
|
52 | * @return {?}
|
53 | */
|
54 | AuthenticatedGuard.prototype.ltrim = /**
|
55 | * @param {?} text
|
56 | * @return {?}
|
57 | */
|
58 | function (text) {
|
59 | return text.replace(/^\/+/, '');
|
60 | };
|
61 | /**
|
62 | * @param {?} text
|
63 | * @return {?}
|
64 | */
|
65 | AuthenticatedGuard.prototype.rtrim = /**
|
66 | * @param {?} text
|
67 | * @return {?}
|
68 | */
|
69 | function (text) {
|
70 | return text.replace(/\/+$/, '');
|
71 | };
|
72 | AuthenticatedGuard.decorators = [
|
73 | { type: Injectable },
|
74 | ];
|
75 | /** @nocollapse */
|
76 | AuthenticatedGuard.ctorParameters = function () { return [
|
77 | { type: NacoService },
|
78 | { type: Storage },
|
79 | { type: PlatformLocation }
|
80 | ]; };
|
81 | return AuthenticatedGuard;
|
82 | }());
|
83 | export { AuthenticatedGuard };
|
84 | function AuthenticatedGuard_tsickle_Closure_declarations() {
|
85 | /** @type {?} */
|
86 | AuthenticatedGuard.prototype.naco;
|
87 | /** @type {?} */
|
88 | AuthenticatedGuard.prototype.storage;
|
89 | /** @type {?} */
|
90 | AuthenticatedGuard.prototype.platformLocation;
|
91 | }
|
92 |
|
93 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRlZC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlci9uYWNvLyIsInNvdXJjZXMiOlsiZ3VhcmRzL2F1dGhlbnRpY2F0ZWQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Z0NBSXBCLElBQWlCLEVBQVUsT0FBZ0IsRUFBVSxnQkFBa0M7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCOzs7Ozs7SUFHM0csd0NBQVc7Ozs7Y0FBQyxLQUE2Qjs7UUFDNUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDM0IsS0FBSyxFQUFFLEVBQ1AsR0FBRyxDQUFDLFVBQUMsSUFBaUI7WUFDbEIsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUNmLHFCQUFNLElBQUksR0FBRyxLQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFDLEtBQUksQ0FBQyxnQkFBdUIsRUFBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEUscUJBQU0sR0FBRyxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakQscUJBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzRCxxQkFBTSxRQUFNLEdBQUcsbUJBQUMsS0FBSSxDQUFDLGdCQUF1QixFQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFFOUQsS0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUM3QyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FDbEMsYUFBYSxFQUNiLFFBQU0sR0FBRyxPQUFPLENBQ25CLENBQUM7aUJBQ0wsQ0FBQyxDQUFDO2FBQ047WUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDakIsQ0FBQyxDQUNMLENBQUM7Ozs7OztJQUdDLDZDQUFnQjs7OztjQUFDLEtBQTZCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7Ozs7O0lBRzNCLGtDQUFLOzs7O2NBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7SUFHM0Isa0NBQUs7Ozs7Y0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUMsRUFBRSxDQUFDLENBQUM7OztnQkFyQ3RDLFVBQVU7Ozs7Z0JBUkYsV0FBVztnQkFJWCxPQUFPO2dCQUVQLGdCQUFnQjs7NkJBUnpCOztTQVdhLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hY29TZXJ2aWNlIH0gZnJvbSAnLi4vZG9tYWlucy9zZXJ2aWNlcy9uYWNvLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlyc3QsIG1hcCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9kb21haW5zL21vZGVscy91c2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAdWJ1ZC9zdG9yYWdlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXIvc3JjL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0ZWRHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBuYWNvOiBOYWNvU2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlLCBwcml2YXRlIHBsYXRmb3JtTG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb24pIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFjby5nZXRVc2VyKCkucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBtYXAoKHVzZXI6IFVzZXIgfCBudWxsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG51bGwgPT09IHVzZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFzZSA9IHRoaXMucnRyaW0oKHRoaXMucGxhdGZvcm1Mb2NhdGlvbiBhcyBhbnkpLmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cmkgPSB0aGlzLm5hY28uYnVpbGROZXN0ZWRVcmkocm91dGUucm9vdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSBiYXNlLnJlcGxhY2UodXJpLCAnJykgKyAnLycgKyB0aGlzLmx0cmltKHVyaSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9ICh0aGlzLnBsYXRmb3JtTG9jYXRpb24gYXMgYW55KS5sb2NhdGlvbi5vcmlnaW47XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldCgnbmFjb19pbnRlbmRlZF91cmwnLCBuZXh0KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5uYWNvLmxvZ2luKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNpYyBlbWFpbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luICsgJy9hdXRoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiAhIXVzZXI7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGVDaGlsZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShyb3V0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsdHJpbSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGV4dC5yZXBsYWNlKC9eXFwvKy8sJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcnRyaW0odGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRleHQucmVwbGFjZSgvXFwvKyQvLCcnKTtcbiAgICB9XG59XG4iXX0= |
\ | No newline at end of file |