UNPKG

ngx-firebase-cms

Version:

Angular Content Management System using Google Firebase (Authentication, Storage & Firestore)

111 lines 7.42 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, Inject } from '@angular/core'; import { Router, ActivatedRoute } from '@angular/router'; import { AuthService } from '../service/auth.service'; import { take, map, tap } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "../service/auth.service"; import * as i2 from "@angular/router"; var AuthGuard = /** @class */ (function () { function AuthGuard(auth, config, route, router) { this.auth = auth; this.config = config; this.route = route; this.router = router; } /** * @param {?} next * @param {?} state * @return {?} */ AuthGuard.prototype.canActivate = /** * @param {?} next * @param {?} state * @return {?} */ function (next, state) { var _this = this; /** @type {?} */ var adminURL = this.config.adminURL || 'admin'; return this.auth.user$.pipe(take(1), map((/** * @param {?} user * @return {?} */ function (user) { if (user && user.roles) { /** @type {?} */ var roles_1 = (/** @type {?} */ (next.data["roles"])); /** @type {?} */ var isAuth_1 = false; user.roles.forEach((/** * @param {?} userRole * @return {?} */ function (userRole) { if (roles_1.indexOf(userRole) > -1) { isAuth_1 = true; } })); return isAuth_1; } else { return false; } })), tap((/** * @param {?} isAuth * @return {?} */ function (isAuth) { if (!isAuth) { _this.auth.signOut().then((/** * @param {?} res * @return {?} */ function (res) { _this.router.navigate([adminURL + "/login"]); })); } }))); }; AuthGuard.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ AuthGuard.ctorParameters = function () { return [ { type: AuthService }, { type: undefined, decorators: [{ type: Inject, args: ['env',] }] }, { type: ActivatedRoute }, { type: Router } ]; }; /** @nocollapse */ AuthGuard.ngInjectableDef = i0.defineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(i0.inject(i1.AuthService), i0.inject("env"), i0.inject(i2.ActivatedRoute), i0.inject(i2.Router)); }, token: AuthGuard, providedIn: "root" }); return AuthGuard; }()); export { AuthGuard }; if (false) { /** * @type {?} * @private */ AuthGuard.prototype.auth; /** * @type {?} * @private */ AuthGuard.prototype.config; /** * @type {?} * @private */ AuthGuard.prototype.route; /** * @type {?} * @private */ AuthGuard.prototype.router; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1maXJlYmFzZS1jbXMvIiwic291cmNlcyI6WyJsaWIvZ3VhcmQvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFxRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR2hEO0lBSUUsbUJBQ1UsSUFBaUIsRUFDRixNQUFpQixFQUNoQyxLQUFxQixFQUNyQixNQUFjO1FBSGQsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNGLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNwQixDQUFDOzs7Ozs7SUFFTCwrQkFBVzs7Ozs7SUFBWCxVQUNFLElBQTRCLEVBQzVCLEtBQTBCO1FBRjVCLGlCQTRCQzs7WUF6QkssUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLE9BQU87UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHOzs7O1FBQUMsVUFBQSxJQUFJO1lBQ04sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTs7b0JBQ2xCLE9BQUssR0FBRyxtQkFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFpQjs7b0JBQzNDLFFBQU0sR0FBRyxLQUFLO2dCQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Ozs7Z0JBQUMsVUFBQSxRQUFRO29CQUN6QixJQUFJLE9BQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7d0JBQ2hDLFFBQU0sR0FBRyxJQUFJLENBQUE7cUJBQ2Q7Z0JBQ0gsQ0FBQyxFQUFDLENBQUE7Z0JBQ0YsT0FBTyxRQUFNLENBQUE7YUFDZDtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQTthQUNiO1FBQ0gsQ0FBQyxFQUFDLEVBQ0YsR0FBRzs7OztRQUFDLFVBQUEsTUFBTTtZQUNSLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJOzs7O2dCQUFDLFVBQUEsR0FBRztvQkFDMUIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBSSxRQUFRLFdBQVEsQ0FBQyxDQUFDLENBQUE7Z0JBQzdDLENBQUMsRUFBQyxDQUFBO2FBQ0g7UUFDSCxDQUFDLEVBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzs7Z0JBdkNGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTlEsV0FBVztnREFVZixNQUFNLFNBQUMsS0FBSztnQkFabUUsY0FBYztnQkFBdEIsTUFBTTs7O29CQURsRjtDQStDQyxBQXhDRCxJQXdDQztTQXJDWSxTQUFTOzs7Ozs7SUFFbEIseUJBQXlCOzs7OztJQUN6QiwyQkFBd0M7Ozs7O0lBQ3hDLDBCQUE2Qjs7Ozs7SUFDN0IsMkJBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkFjdGl2YXRlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlLCBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZSwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbnZDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2UvZW52LWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGNvbmZpZzogRW52Q29uZmlnLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7IH1cblxuICBjYW5BY3RpdmF0ZShcbiAgICBuZXh0OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcbiAgICBsZXQgYWRtaW5VUkwgPSB0aGlzLmNvbmZpZy5hZG1pblVSTCB8fCAnYWRtaW4nXG4gICAgcmV0dXJuIHRoaXMuYXV0aC51c2VyJC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCh1c2VyID0+IHtcbiAgICAgICAgaWYgKHVzZXIgJiYgdXNlci5yb2xlcykge1xuICAgICAgICAgIGxldCByb2xlcyA9IG5leHQuZGF0YVtcInJvbGVzXCJdIGFzIEFycmF5PHN0cmluZz5cbiAgICAgICAgICBsZXQgaXNBdXRoID0gZmFsc2VcbiAgICAgICAgICB1c2VyLnJvbGVzLmZvckVhY2godXNlclJvbGUgPT4ge1xuICAgICAgICAgICAgaWYgKHJvbGVzLmluZGV4T2YodXNlclJvbGUpID4gLTEpIHtcbiAgICAgICAgICAgICAgaXNBdXRoID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIGlzQXV0aFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcChpc0F1dGggPT4ge1xuICAgICAgICBpZiAoIWlzQXV0aCkge1xuICAgICAgICAgIHRoaXMuYXV0aC5zaWduT3V0KCkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake2FkbWluVVJMfS9sb2dpbmBdKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG59XG4iXX0=