@fabrix/spool-cart
Version:
Spool - eCommerce Spool for Fabrix
70 lines (69 loc) • 2.76 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const lodash_1 = require("lodash");
const generics_render_1 = require("@fabrix/generics-render");
const index_1 = require("./api/generics/shippingProvider/index");
const index_2 = require("./api/generics/taxProvider/index");
const index_3 = require("./api/generics/fulfillmentProvider/index");
const index_4 = require("./api/generics/imageProvider/index");
const index_5 = require("./api/generics/geolocationProvider/index");
exports.Cart = {
configure: (app) => {
const cart = app.services.ProxyCartService;
const webMiddlewares = app.config.get('web.middlewares');
app.config.set('web.middlewares', Object.assign(webMiddlewares, {
cartInit: cart.initialize(cart),
cartSession: cart.authenticate(cart),
cartSessionCart: cart.cart(cart),
cartSessionCustomer: cart.customer(cart),
cartSessionShop: cart.shop(cart)
}));
return Promise.resolve();
},
copyDefaults: (app) => {
app.config.set('cartDefaults', lodash_1.clone(app.config.get('cart')));
return Promise.resolve({});
},
resolveGenerics: (app) => {
if (!app.config.get('generics.shipping_provider.adapter')) {
app.config.set('generics.shipping_provider', {
adapter: index_1.DefaultShippingProvider,
config: {}
});
}
if (!app.config.get('generics.fulfillment_provider.adapter')) {
app.config.set('generics.fulfillment_provider', {
adapter: index_3.ManualFulfillmentProvider,
config: {}
});
}
if (!app.config.get('generics.tax_provider.adapter')) {
app.config.set('generics.tax_provider', {
adapter: index_2.DefaultTaxProvider,
config: {}
});
}
if (!app.config.get('generics.image_provider.adapter')) {
app.config.set('generics.image_provider', {
adapter: index_4.DefaultImageProvider,
config: {}
});
}
if (!app.config.get('generics.geolocation_provider.adapter')) {
app.config.set('generics.geolocation_provider', {
adapter: index_5.DefaultGeolocationProvider,
config: {}
});
}
if (!app.config.get('generics.render_service.adapter')) {
app.config.set('generics.render_service', {
adapter: generics_render_1.RenderGeneric,
config: {
html: true,
plugins: []
}
});
}
return Promise.resolve({});
}
};