@spartacus/cart
Version:
`@spartacus/cart` is a package that you can include in your application, which allows you to use various cart features.
123 lines (116 loc) • 6.18 kB
JavaScript
import * as i0 from '@angular/core';
import { Injectable, NgModule } from '@angular/core';
import * as i2 from '@spartacus/core';
import { CART_NORMALIZER, provideDefaultConfig } from '@spartacus/core';
import { pluck, map } from 'rxjs/operators';
import * as i1 from '@angular/common/http';
import { CommonModule } from '@angular/common';
import { SavedCartAdapter } from '@spartacus/cart/saved-cart/core';
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 }]; } });
// Imported for side effects (module augmentation)
const defaultOccSavedCartConfig = {
backend: {
occ: {
endpoints: {
savedCarts: '/users/${userId}/carts?savedCartsOnly=true&fields=carts(DEFAULT,potentialProductPromotions,appliedProductPromotions,potentialOrderPromotions,appliedOrderPromotions,entries(totalPrice(formattedValue),product(images(FULL),stock(FULL)),basePrice(formattedValue,value),updateable),totalPrice(formattedValue),totalItems,totalPriceWithTax(formattedValue),totalDiscounts(value,formattedValue),subTotal(formattedValue),deliveryItemsQuantity,deliveryCost(formattedValue),totalTax(formattedValue, value),pickupItemsQuantity,net,appliedVouchers,productDiscounts(formattedValue),saveTime,user,name,description)',
saveCart: '/users/${userId}/carts/${cartId}/save?saveCartName=${saveCartName}&saveCartDescription=${saveCartDescription}',
savedCart: '/users/${userId}/carts/${cartId}/savedcart',
restoreSavedCart: '/users/${userId}/carts/${cartId}/restoresavedcart',
cloneSavedCart: '/users/${userId}/carts/${cartId}/clonesavedcart?name=${saveCartName}',
},
},
},
};
class SavedCartOccModule {
}
SavedCartOccModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SavedCartOccModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
SavedCartOccModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SavedCartOccModule, imports: [CommonModule] });
SavedCartOccModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SavedCartOccModule, providers: [
provideDefaultConfig(defaultOccSavedCartConfig),
{
provide: SavedCartAdapter,
useClass: OccSavedCartAdapter,
},
], imports: [[CommonModule]] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SavedCartOccModule, decorators: [{
type: NgModule,
args: [{
imports: [CommonModule],
providers: [
provideDefaultConfig(defaultOccSavedCartConfig),
{
provide: SavedCartAdapter,
useClass: OccSavedCartAdapter,
},
],
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { OccSavedCartAdapter, SavedCartOccModule };
//# sourceMappingURL=spartacus-cart-saved-cart-occ.js.map