UNPKG

6.52 kBJavaScriptView Raw
1/**
2 * @fileoverview added by tsickle
3 * @suppress {checkTypes} checked by tsc
4 */
5import { Injectable } from '@angular/core';
6import { NacoService } from '../domains/services/naco.service';
7import { first, map } from 'rxjs/internal/operators';
8import { Storage } from '@ubud/storage';
9var 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}());
78export { AuthenticatedGuard };
79function 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