@spartacus/order
Version:
Order feature library for Spartacus
44 lines • 8.33 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable } from '@angular/core';
import { Effect, ofType } from '@ngrx/effects';
import { GlobalMessageType, normalizeHttpError, } from '@spartacus/core';
import { of } from 'rxjs';
import { catchError, map, switchMap } from 'rxjs/operators';
import { OrderActions } from '../actions/index';
import * as i0 from "@angular/core";
import * as i1 from "@ngrx/effects";
import * as i2 from "../../connectors/order.connector";
import * as i3 from "@spartacus/core";
export class OrderDetailsEffect {
constructor(actions$, orderConnector, globalMessageService) {
this.actions$ = actions$;
this.orderConnector = orderConnector;
this.globalMessageService = globalMessageService;
this.loadOrderDetails$ = this.actions$.pipe(ofType(OrderActions.LOAD_ORDER_DETAILS), map((action) => action.payload), switchMap((payload) => {
return this.orderConnector.get(payload.userId, payload.orderCode).pipe(map((order) => {
return new OrderActions.LoadOrderDetailsSuccess(order);
}), catchError((error) => of(new OrderActions.LoadOrderDetailsFail(normalizeHttpError(error)))));
}));
this.cancelOrder$ = this.actions$.pipe(ofType(OrderActions.CANCEL_ORDER), map((action) => action.payload), switchMap((payload) => {
return this.orderConnector
.cancel(payload.userId, payload.orderCode, payload.cancelRequestInput)
.pipe(map(() => new OrderActions.CancelOrderSuccess()), catchError((error) => {
var _a;
(_a = error.error) === null || _a === void 0 ? void 0 : _a.errors.forEach((err) => this.globalMessageService.add(err.message, GlobalMessageType.MSG_TYPE_ERROR));
return of(new OrderActions.CancelOrderFail(normalizeHttpError(error)));
}));
}));
}
}
OrderDetailsEffect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OrderDetailsEffect, deps: [{ token: i1.Actions }, { token: i2.OrderConnector }, { token: i3.GlobalMessageService }], target: i0.ɵɵFactoryTarget.Injectable });
OrderDetailsEffect.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OrderDetailsEffect });
__decorate([
Effect()
], OrderDetailsEffect.prototype, "loadOrderDetails$", void 0);
__decorate([
Effect()
], OrderDetailsEffect.prototype, "cancelOrder$", void 0);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OrderDetailsEffect, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.OrderConnector }, { type: i3.GlobalMessageService }]; }, propDecorators: { loadOrderDetails$: [], cancelOrder$: [] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlscy5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9mZWF0dXJlLWxpYnMvb3JkZXIvY29yZS9zdG9yZS9lZmZlY3RzL29yZGVyLWRldGFpbHMuZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsa0JBQWtCLEdBRW5CLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBR2hELE1BQU0sT0FBTyxrQkFBa0I7SUEwQzdCLFlBQ1UsUUFBaUIsRUFDakIsY0FBOEIsRUFDOUIsb0JBQTBDO1FBRjFDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUEzQ3BELHNCQUFpQixHQUFnRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDakYsTUFBTSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxFQUN2QyxHQUFHLENBQUMsQ0FBQyxNQUFxQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQzlELFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNwRSxHQUFHLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNuQixFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNyRSxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBR0YsaUJBQVksR0FBZ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzVFLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxDQUFDLE1BQWdDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDekQsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYztpQkFDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUM7aUJBQ3JFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxFQUNoRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTs7Z0JBQ25CLE1BQUEsS0FBSyxDQUFDLEtBQUssMENBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQzNCLEdBQUcsQ0FBQyxPQUFPLEVBQ1gsaUJBQWlCLENBQUMsY0FBYyxDQUNqQyxDQUNGLENBQUM7Z0JBRUYsT0FBTyxFQUFFLENBQ1AsSUFBSSxZQUFZLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVELENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQU1DLENBQUM7OytHQTlDTyxrQkFBa0I7bUhBQWxCLGtCQUFrQjtBQUU3QjtJQURDLE1BQU0sRUFBRTs2REFjUDtBQUdGO0lBREMsTUFBTSxFQUFFO3dEQXVCUDsyRkF4Q1Msa0JBQWtCO2tCQUQ5QixVQUFVOzhKQUdULGlCQUFpQixNQWdCakIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIEVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICBHbG9iYWxNZXNzYWdlU2VydmljZSxcbiAgR2xvYmFsTWVzc2FnZVR5cGUsXG4gIG5vcm1hbGl6ZUh0dHBFcnJvcixcbiAgT3JkZXIsXG59IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPcmRlckNvbm5lY3RvciB9IGZyb20gJy4uLy4uL2Nvbm5lY3RvcnMvb3JkZXIuY29ubmVjdG9yJztcbmltcG9ydCB7IE9yZGVyQWN0aW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvaW5kZXgnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3JkZXJEZXRhaWxzRWZmZWN0IHtcbiAgQEVmZmVjdCgpXG4gIGxvYWRPcmRlckRldGFpbHMkOiBPYnNlcnZhYmxlPE9yZGVyQWN0aW9ucy5PcmRlckRldGFpbHNBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShPcmRlckFjdGlvbnMuTE9BRF9PUkRFUl9ERVRBSUxTKSxcbiAgICBtYXAoKGFjdGlvbjogT3JkZXJBY3Rpb25zLkxvYWRPcmRlckRldGFpbHMpID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBzd2l0Y2hNYXAoKHBheWxvYWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLm9yZGVyQ29ubmVjdG9yLmdldChwYXlsb2FkLnVzZXJJZCwgcGF5bG9hZC5vcmRlckNvZGUpLnBpcGUoXG4gICAgICAgIG1hcCgob3JkZXI6IE9yZGVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBPcmRlckFjdGlvbnMuTG9hZE9yZGVyRGV0YWlsc1N1Y2Nlc3Mob3JkZXIpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgICAgb2YobmV3IE9yZGVyQWN0aW9ucy5Mb2FkT3JkZXJEZXRhaWxzRmFpbChub3JtYWxpemVIdHRwRXJyb3IoZXJyb3IpKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9KVxuICApO1xuXG4gIEBFZmZlY3QoKVxuICBjYW5jZWxPcmRlciQ6IE9ic2VydmFibGU8T3JkZXJBY3Rpb25zLk9yZGVyRGV0YWlsc0FjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKE9yZGVyQWN0aW9ucy5DQU5DRUxfT1JERVIpLFxuICAgIG1hcCgoYWN0aW9uOiBPcmRlckFjdGlvbnMuQ2FuY2VsT3JkZXIpID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBzd2l0Y2hNYXAoKHBheWxvYWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLm9yZGVyQ29ubmVjdG9yXG4gICAgICAgIC5jYW5jZWwocGF5bG9hZC51c2VySWQsIHBheWxvYWQub3JkZXJDb2RlLCBwYXlsb2FkLmNhbmNlbFJlcXVlc3RJbnB1dClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IG5ldyBPcmRlckFjdGlvbnMuQ2FuY2VsT3JkZXJTdWNjZXNzKCkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBlcnJvci5lcnJvcj8uZXJyb3JzLmZvckVhY2goKGVycjogYW55KSA9PlxuICAgICAgICAgICAgICB0aGlzLmdsb2JhbE1lc3NhZ2VTZXJ2aWNlLmFkZChcbiAgICAgICAgICAgICAgICBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICBHbG9iYWxNZXNzYWdlVHlwZS5NU0dfVFlQRV9FUlJPUlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gb2YoXG4gICAgICAgICAgICAgIG5ldyBPcmRlckFjdGlvbnMuQ2FuY2VsT3JkZXJGYWlsKG5vcm1hbGl6ZUh0dHBFcnJvcihlcnJvcikpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgb3JkZXJDb25uZWN0b3I6IE9yZGVyQ29ubmVjdG9yLFxuICAgIHByaXZhdGUgZ2xvYmFsTWVzc2FnZVNlcnZpY2U6IEdsb2JhbE1lc3NhZ2VTZXJ2aWNlXG4gICkge31cbn1cbiJdfQ==