UNPKG

@spartacus/checkout

Version:

Checkout feature library for Spartacus

45 lines 7.85 kB
import { Injectable } from '@angular/core'; import { CheckoutStepType } from '@spartacus/checkout/root'; import { of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "@spartacus/core"; import * as i3 from "../services/checkout-config.service"; import * as i4 from "../services/express-checkout.service"; import * as i5 from "../services/checkout-step.service"; export class CheckoutGuard { constructor(router, routingConfigService, checkoutConfigService, expressCheckoutService, activeCartService, checkoutStepService) { var _a; this.router = router; this.routingConfigService = routingConfigService; this.checkoutConfigService = checkoutConfigService; this.expressCheckoutService = expressCheckoutService; this.activeCartService = activeCartService; this.checkoutStepService = checkoutStepService; this.firstStep$ = of(this.router.parseUrl((_a = this.routingConfigService.getRouteConfig(this.checkoutStepService.getFirstCheckoutStepRoute()).paths) === null || _a === void 0 ? void 0 : _a[0])); } canActivate() { if (this.checkoutConfigService.isExpressCheckout() && !this.activeCartService.isGuestCart()) { return this.expressCheckoutService.trySetDefaultCheckoutDetails().pipe(switchMap((expressCheckoutPossible) => { var _a; const reviewOrderRoute = this.checkoutStepService.getCheckoutStepRoute(CheckoutStepType.REVIEW_ORDER); return expressCheckoutPossible && reviewOrderRoute ? of(this.router.parseUrl((_a = this.routingConfigService.getRouteConfig(reviewOrderRoute) .paths) === null || _a === void 0 ? void 0 : _a[0])) : this.firstStep$; })); } return this.firstStep$; } } CheckoutGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutGuard, deps: [{ token: i1.Router }, { token: i2.RoutingConfigService }, { token: i3.CheckoutConfigService }, { token: i4.ExpressCheckoutService }, { token: i2.ActiveCartService }, { token: i5.CheckoutStepService }], target: i0.ɵɵFactoryTarget.Injectable }); CheckoutGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutGuard, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.RoutingConfigService }, { type: i3.CheckoutConfigService }, { type: i4.ExpressCheckoutService }, { type: i2.ActiveCartService }, { type: i5.CheckoutStepService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9mZWF0dXJlLWxpYnMvY2hlY2tvdXQvY29tcG9uZW50cy9ndWFyZHMvY2hlY2tvdXQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVEzQyxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUNZLE1BQWMsRUFDZCxvQkFBMEMsRUFDMUMscUJBQTRDLEVBQzVDLHNCQUE4QyxFQUM5QyxpQkFBb0MsRUFDcEMsbUJBQXdDOztRQUx4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBRWxELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbEIsTUFBQSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLEVBQUUsQ0FDckQsQ0FBQyxLQUFLLDBDQUFHLENBQUMsQ0FBVyxDQUN2QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQ0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFO1lBQzlDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUNyQztZQUNBLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLDRCQUE0QixFQUFFLENBQUMsSUFBSSxDQUNwRSxTQUFTLENBQUMsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFOztnQkFDN0MsTUFBTSxnQkFBZ0IsR0FDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUMzQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQzlCLENBQUM7Z0JBQ0osT0FBTyx1QkFBdUIsSUFBSSxnQkFBZ0I7b0JBQ2hELENBQUMsQ0FBQyxFQUFFLENBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ2xCLE1BQUEsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQzt5QkFDdkQsS0FBSywwQ0FBRyxDQUFDLENBQVcsQ0FDeEIsQ0FDRjtvQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQzs7MEdBM0NVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENoZWNrb3V0U3RlcFR5cGUgfSBmcm9tICdAc3BhcnRhY3VzL2NoZWNrb3V0L3Jvb3QnO1xuaW1wb3J0IHsgQWN0aXZlQ2FydFNlcnZpY2UsIFJvdXRpbmdDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGVja291dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jaGVja291dC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja291dFN0ZXBTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY2hlY2tvdXQtc3RlcC5zZXJ2aWNlJztcbmltcG9ydCB7IEV4cHJlc3NDaGVja291dFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9leHByZXNzLWNoZWNrb3V0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmaXJzdFN0ZXAkOiBPYnNlcnZhYmxlPFVybFRyZWU+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICBwcm90ZWN0ZWQgcm91dGluZ0NvbmZpZ1NlcnZpY2U6IFJvdXRpbmdDb25maWdTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjaGVja291dENvbmZpZ1NlcnZpY2U6IENoZWNrb3V0Q29uZmlnU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZXhwcmVzc0NoZWNrb3V0U2VydmljZTogRXhwcmVzc0NoZWNrb3V0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYWN0aXZlQ2FydFNlcnZpY2U6IEFjdGl2ZUNhcnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjaGVja291dFN0ZXBTZXJ2aWNlOiBDaGVja291dFN0ZXBTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZmlyc3RTdGVwJCA9IG9mKFxuICAgICAgdGhpcy5yb3V0ZXIucGFyc2VVcmwoXG4gICAgICAgIHRoaXMucm91dGluZ0NvbmZpZ1NlcnZpY2UuZ2V0Um91dGVDb25maWcoXG4gICAgICAgICAgdGhpcy5jaGVja291dFN0ZXBTZXJ2aWNlLmdldEZpcnN0Q2hlY2tvdXRTdGVwUm91dGUoKVxuICAgICAgICApLnBhdGhzPy5bMF0gYXMgc3RyaW5nXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNoZWNrb3V0Q29uZmlnU2VydmljZS5pc0V4cHJlc3NDaGVja291dCgpICYmXG4gICAgICAhdGhpcy5hY3RpdmVDYXJ0U2VydmljZS5pc0d1ZXN0Q2FydCgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHByZXNzQ2hlY2tvdXRTZXJ2aWNlLnRyeVNldERlZmF1bHRDaGVja291dERldGFpbHMoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGV4cHJlc3NDaGVja291dFBvc3NpYmxlOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmV2aWV3T3JkZXJSb3V0ZSA9XG4gICAgICAgICAgICB0aGlzLmNoZWNrb3V0U3RlcFNlcnZpY2UuZ2V0Q2hlY2tvdXRTdGVwUm91dGUoXG4gICAgICAgICAgICAgIENoZWNrb3V0U3RlcFR5cGUuUkVWSUVXX09SREVSXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBleHByZXNzQ2hlY2tvdXRQb3NzaWJsZSAmJiByZXZpZXdPcmRlclJvdXRlXG4gICAgICAgICAgICA/IG9mKFxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLnBhcnNlVXJsKFxuICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0aW5nQ29uZmlnU2VydmljZS5nZXRSb3V0ZUNvbmZpZyhyZXZpZXdPcmRlclJvdXRlKVxuICAgICAgICAgICAgICAgICAgICAucGF0aHM/LlswXSBhcyBzdHJpbmdcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdGhpcy5maXJzdFN0ZXAkO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmlyc3RTdGVwJDtcbiAgfVxufVxuIl19