UNPKG

@spartacus/cart

Version:

`@spartacus/cart` is a package that you can include in your application, which allows you to use various cart features.

72 lines 11.3 kB
import { Injectable } from '@angular/core'; import { CART_NORMALIZER, } from '@spartacus/core'; import { map, pluck } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; import * as i2 from "@spartacus/core"; export class OccSavedCartAdapter { constructor(http, occEndpoints, converter) { this.http = http; this.occEndpoints = occEndpoints; this.converter = converter; } load(userId, cartId) { return this.http .get(this.getSavedCartEndpoint(userId, cartId)) .pipe(pluck('savedCartData'), this.converter.pipeable(CART_NORMALIZER)); } loadList(userId) { return this.http .get(this.getSavedCartListEndpoint(userId)) .pipe(pluck('carts'), map((carts) => carts !== null && carts !== void 0 ? carts : []), this.converter.pipeableMany(CART_NORMALIZER)); } restoreSavedCart(userId, cartId) { return this.http .patch(this.getRestoreSavedCartEndpoint(userId, cartId), cartId) .pipe(pluck('savedCartData'), this.converter.pipeable(CART_NORMALIZER)); } saveCart(userId, cartId, saveCartName, saveCartDescription) { return this.http .patch(this.getSaveCartEndpoint(userId, cartId, saveCartName, saveCartDescription), cartId) .pipe(pluck('savedCartData'), this.converter.pipeable(CART_NORMALIZER)); } cloneSavedCart(userId, cartId, saveCartName) { return this.http .post(this.getCloneSavedCartEndpoint(userId, cartId, saveCartName), cartId) .pipe(pluck('savedCartData'), this.converter.pipeable(CART_NORMALIZER)); } getSavedCartEndpoint(userId, cartId) { return this.occEndpoints.buildUrl('savedCart', { urlParams: { userId, cartId }, }); } getSavedCartListEndpoint(userId) { return this.occEndpoints.buildUrl('savedCarts', { urlParams: { userId } }); } getRestoreSavedCartEndpoint(userId, cartId) { return this.occEndpoints.buildUrl('restoreSavedCart', { urlParams: { userId, cartId }, }); } getSaveCartEndpoint(userId, cartId, saveCartName, saveCartDescription) { return this.occEndpoints.buildUrl('saveCart', { urlParams: { userId, cartId, saveCartName, saveCartDescription, }, }); } getCloneSavedCartEndpoint(userId, cartId, saveCartName) { return this.occEndpoints.buildUrl('cloneSavedCart', { urlParams: { userId, cartId, saveCartName }, }); } } OccSavedCartAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccSavedCartAdapter, deps: [{ token: i1.HttpClient }, { token: i2.OccEndpointsService }, { token: i2.ConverterService }], target: i0.ɵɵFactoryTarget.Injectable }); OccSavedCartAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccSavedCartAdapter }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccSavedCartAdapter, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.OccEndpointsService }, { type: i2.ConverterService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjLXNhdmVkLWNhcnQuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2ZlYXR1cmUtbGlicy9jYXJ0L3NhdmVkLWNhcnQvb2NjL2FkYXB0ZXJzL29jYy1zYXZlZC1jYXJ0LmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBRUwsZUFBZSxHQUloQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHNUMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNZLElBQWdCLEVBQ2hCLFlBQWlDLEVBQ2pDLFNBQTJCO1FBRjNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ3BDLENBQUM7SUFFSixJQUFJLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBVyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBZSxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDeEQsSUFBSSxDQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsRUFDZCxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBQyxFQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FDN0MsQ0FBQztJQUNOLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsS0FBSyxDQUFXLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO2FBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsUUFBUSxDQUNOLE1BQWMsRUFDZCxNQUFjLEVBQ2QsWUFBb0IsRUFDcEIsbUJBQTJCO1FBRTNCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixLQUFLLENBQ0osSUFBSSxDQUFDLG1CQUFtQixDQUN0QixNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksRUFDWixtQkFBbUIsQ0FDcEIsRUFDRCxNQUFNLENBQ1A7YUFDQSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGNBQWMsQ0FDWixNQUFjLEVBQ2QsTUFBYyxFQUNkLFlBQW9CO1FBRXBCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQ0gsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQzVELE1BQU0sQ0FDUDthQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDM0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7WUFDN0MsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsd0JBQXdCLENBQUMsTUFBYztRQUMvQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRVMsMkJBQTJCLENBQ25DLE1BQWMsRUFDZCxNQUFjO1FBRWQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtZQUNwRCxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxtQkFBbUIsQ0FDM0IsTUFBYyxFQUNkLE1BQWMsRUFDZCxZQUFvQixFQUNwQixtQkFBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7WUFDNUMsU0FBUyxFQUFFO2dCQUNULE1BQU07Z0JBQ04sTUFBTTtnQkFDTixZQUFZO2dCQUNaLG1CQUFtQjthQUNwQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyx5QkFBeUIsQ0FDakMsTUFBYyxFQUNkLE1BQWMsRUFDZCxZQUFvQjtRQUVwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xELFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFO1NBQzVDLENBQUMsQ0FBQztJQUNMLENBQUM7O2dIQXhHVSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhdmVkQ2FydEFkYXB0ZXIgfSBmcm9tICdAc3BhcnRhY3VzL2NhcnQvc2F2ZWQtY2FydC9jb3JlJztcbmltcG9ydCB7XG4gIENhcnQsXG4gIENBUlRfTk9STUFMSVpFUixcbiAgQ29udmVydGVyU2VydmljZSxcbiAgT2NjLFxuICBPY2NFbmRwb2ludHNTZXJ2aWNlLFxufSBmcm9tICdAc3BhcnRhY3VzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBwbHVjayB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9jY1NhdmVkQ2FydEFkYXB0ZXIgaW1wbGVtZW50cyBTYXZlZENhcnRBZGFwdGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIG9jY0VuZHBvaW50czogT2NjRW5kcG9pbnRzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY29udmVydGVyOiBDb252ZXJ0ZXJTZXJ2aWNlXG4gICkge31cblxuICBsb2FkKHVzZXJJZDogc3RyaW5nLCBjYXJ0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FydD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8T2NjLkNhcnQ+KHRoaXMuZ2V0U2F2ZWRDYXJ0RW5kcG9pbnQodXNlcklkLCBjYXJ0SWQpKVxuICAgICAgLnBpcGUocGx1Y2soJ3NhdmVkQ2FydERhdGEnKSwgdGhpcy5jb252ZXJ0ZXIucGlwZWFibGUoQ0FSVF9OT1JNQUxJWkVSKSk7XG4gIH1cblxuICBsb2FkTGlzdCh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FydFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxPY2MuQ2FydExpc3Q+KHRoaXMuZ2V0U2F2ZWRDYXJ0TGlzdEVuZHBvaW50KHVzZXJJZCkpXG4gICAgICAucGlwZShcbiAgICAgICAgcGx1Y2soJ2NhcnRzJyksXG4gICAgICAgIG1hcCgoY2FydHMpID0+IGNhcnRzID8/IFtdKSxcbiAgICAgICAgdGhpcy5jb252ZXJ0ZXIucGlwZWFibGVNYW55KENBUlRfTk9STUFMSVpFUilcbiAgICAgICk7XG4gIH1cblxuICByZXN0b3JlU2F2ZWRDYXJ0KHVzZXJJZDogc3RyaW5nLCBjYXJ0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FydD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wYXRjaDxPY2MuQ2FydD4odGhpcy5nZXRSZXN0b3JlU2F2ZWRDYXJ0RW5kcG9pbnQodXNlcklkLCBjYXJ0SWQpLCBjYXJ0SWQpXG4gICAgICAucGlwZShwbHVjaygnc2F2ZWRDYXJ0RGF0YScpLCB0aGlzLmNvbnZlcnRlci5waXBlYWJsZShDQVJUX05PUk1BTElaRVIpKTtcbiAgfVxuXG4gIHNhdmVDYXJ0KFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICAgIGNhcnRJZDogc3RyaW5nLFxuICAgIHNhdmVDYXJ0TmFtZTogc3RyaW5nLFxuICAgIHNhdmVDYXJ0RGVzY3JpcHRpb246IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPENhcnQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucGF0Y2g8T2NjLkNhcnQ+KFxuICAgICAgICB0aGlzLmdldFNhdmVDYXJ0RW5kcG9pbnQoXG4gICAgICAgICAgdXNlcklkLFxuICAgICAgICAgIGNhcnRJZCxcbiAgICAgICAgICBzYXZlQ2FydE5hbWUsXG4gICAgICAgICAgc2F2ZUNhcnREZXNjcmlwdGlvblxuICAgICAgICApLFxuICAgICAgICBjYXJ0SWRcbiAgICAgIClcbiAgICAgIC5waXBlKHBsdWNrKCdzYXZlZENhcnREYXRhJyksIHRoaXMuY29udmVydGVyLnBpcGVhYmxlKENBUlRfTk9STUFMSVpFUikpO1xuICB9XG5cbiAgY2xvbmVTYXZlZENhcnQoXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgY2FydElkOiBzdHJpbmcsXG4gICAgc2F2ZUNhcnROYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDYXJ0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8T2NjLkNhcnQ+KFxuICAgICAgICB0aGlzLmdldENsb25lU2F2ZWRDYXJ0RW5kcG9pbnQodXNlcklkLCBjYXJ0SWQsIHNhdmVDYXJ0TmFtZSksXG4gICAgICAgIGNhcnRJZFxuICAgICAgKVxuICAgICAgLnBpcGUocGx1Y2soJ3NhdmVkQ2FydERhdGEnKSwgdGhpcy5jb252ZXJ0ZXIucGlwZWFibGUoQ0FSVF9OT1JNQUxJWkVSKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2F2ZWRDYXJ0RW5kcG9pbnQodXNlcklkOiBzdHJpbmcsIGNhcnRJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vY2NFbmRwb2ludHMuYnVpbGRVcmwoJ3NhdmVkQ2FydCcsIHtcbiAgICAgIHVybFBhcmFtczogeyB1c2VySWQsIGNhcnRJZCB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFNhdmVkQ2FydExpc3RFbmRwb2ludCh1c2VySWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub2NjRW5kcG9pbnRzLmJ1aWxkVXJsKCdzYXZlZENhcnRzJywgeyB1cmxQYXJhbXM6IHsgdXNlcklkIH0gfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UmVzdG9yZVNhdmVkQ2FydEVuZHBvaW50KFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICAgIGNhcnRJZDogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub2NjRW5kcG9pbnRzLmJ1aWxkVXJsKCdyZXN0b3JlU2F2ZWRDYXJ0Jywge1xuICAgICAgdXJsUGFyYW1zOiB7IHVzZXJJZCwgY2FydElkIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2F2ZUNhcnRFbmRwb2ludChcbiAgICB1c2VySWQ6IHN0cmluZyxcbiAgICBjYXJ0SWQ6IHN0cmluZyxcbiAgICBzYXZlQ2FydE5hbWU6IHN0cmluZyxcbiAgICBzYXZlQ2FydERlc2NyaXB0aW9uOiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vY2NFbmRwb2ludHMuYnVpbGRVcmwoJ3NhdmVDYXJ0Jywge1xuICAgICAgdXJsUGFyYW1zOiB7XG4gICAgICAgIHVzZXJJZCxcbiAgICAgICAgY2FydElkLFxuICAgICAgICBzYXZlQ2FydE5hbWUsXG4gICAgICAgIHNhdmVDYXJ0RGVzY3JpcHRpb24sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENsb25lU2F2ZWRDYXJ0RW5kcG9pbnQoXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgY2FydElkOiBzdHJpbmcsXG4gICAgc2F2ZUNhcnROYW1lOiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vY2NFbmRwb2ludHMuYnVpbGRVcmwoJ2Nsb25lU2F2ZWRDYXJ0Jywge1xuICAgICAgdXJsUGFyYW1zOiB7IHVzZXJJZCwgY2FydElkLCBzYXZlQ2FydE5hbWUgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19