UNPKG

@fabrix/spool-cart

Version:

Spool - eCommerce Spool for Fabrix

70 lines (69 loc) 2.76 kB
"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({}); } };