@unchainedshop/core-delivery 2.0.0-beta8 → 2.0.0-beta9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/jest.config.js CHANGED
@@ -2,4 +2,13 @@
2
2
  export default {
3
3
  preset: 'ts-jest',
4
4
  testEnvironment: 'node',
5
+ extensionsToTreatAsEsm: ['.ts'],
6
+ transform: {
7
+ '^.+\\.tsx?$': [
8
+ 'ts-jest',
9
+ {
10
+ useESM: true,
11
+ },
12
+ ],
13
+ },
5
14
  };
@@ -3,7 +3,6 @@ import SimpleSchema from 'simpl-schema';
3
3
  export const DeliveryProvidersSchema = new SimpleSchema({
4
4
  type: { type: String, required: true },
5
5
  adapterKey: { type: String, required: true },
6
- authorId: { type: String, required: true },
7
6
  configuration: { type: Array },
8
7
  'configuration.$': { type: Object },
9
8
  'configuration.$.key': { type: String },
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryProvidersSchema.js","sourceRoot":"","sources":["../../src/db/DeliveryProvidersSchema.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,YAAY,CACrD;IACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACnC,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACvC,uBAAuB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACzC,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
1
+ {"version":3,"file":"DeliveryProvidersSchema.js","sourceRoot":"","sources":["../../src/db/DeliveryProvidersSchema.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,YAAY,CACrD;IACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5C,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACnC,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACvC,uBAAuB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACzC,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
@@ -4,9 +4,9 @@ import { DeliveryError } from './DeliveryError';
4
4
  const baseDirector = BaseDirector('DeliveryDirector');
5
5
  export const DeliveryDirector = {
6
6
  ...baseDirector,
7
- actions: async (deliveryProvider, deliveryContext, requestContext) => {
7
+ actions: async (deliveryProvider, deliveryContext, unchainedAPI) => {
8
8
  const Adapter = baseDirector.getAdapter(deliveryProvider.adapterKey);
9
- const context = { ...deliveryContext, ...requestContext };
9
+ const context = { ...deliveryContext, ...unchainedAPI };
10
10
  const adapter = Adapter.actions(deliveryProvider.configuration, context);
11
11
  return {
12
12
  configurationError: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryDirector.js","sourceRoot":"","sources":["../../src/director/DeliveryDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,YAAY,GAAG,YAAY,CAAmB,kBAAkB,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,GAAG,YAAY;IAEf,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,cAAc,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEzE,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE;gBACvB,IAAI;oBACF,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;iBACrC;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,aAAa,CAAC,iBAAiB,CAAC;iBACxC;YACH,CAAC;YAED,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE;gBAC/D,IAAI;oBACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,yBAAyB,CAAC,CAAC;oBACxF,OAAO,UAAU,CAAC;iBACnB;gBAAC,OAAO,KAAK,EAAE;oBACd,GAAG,CAAC,iEAAiE,EAAE;wBACrE,KAAK,EAAE,QAAQ,CAAC,OAAO;wBACvB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;iBACb;YACH,CAAC;YAED,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI;oBACF,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;iBAC3B;gBAAC,OAAO,KAAK,EAAE;oBACd,GAAG,CAAC,wDAAwD,EAAE;wBAC5D,KAAK,EAAE,QAAQ,CAAC,OAAO;wBACvB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;iBACd;YACH,CAAC;YAED,oBAAoB,EAAE,GAAG,EAAE;gBACzB,IAAI;oBACF,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;iBACvC;gBAAC,OAAO,KAAK,EAAE;oBACd,GAAG,CAAC,sEAAsE,EAAE;wBAC1E,KAAK,EAAE,QAAQ,CAAC,OAAO;wBACvB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;iBACd;YACH,CAAC;YAED,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC;YAED,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACvC,OAAO,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;YAED,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"DeliveryDirector.js","sourceRoot":"","sources":["../../src/director/DeliveryDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,YAAY,GAAG,YAAY,CAAmB,kBAAkB,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,GAAG,YAAY;IAEf,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE;QACjE,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEzE,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE;gBACvB,IAAI;oBACF,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;iBACrC;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,aAAa,CAAC,iBAAiB,CAAC;iBACxC;YACH,CAAC;YAED,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE;gBAC/D,IAAI;oBACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,yBAAyB,CAAC,CAAC;oBACxF,OAAO,UAAU,CAAC;iBACnB;gBAAC,OAAO,KAAK,EAAE;oBACd,GAAG,CAAC,iEAAiE,EAAE;wBACrE,KAAK,EAAE,QAAQ,CAAC,OAAO;wBACvB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;iBACb;YACH,CAAC;YAED,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI;oBACF,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;iBAC3B;gBAAC,OAAO,KAAK,EAAE;oBACd,GAAG,CAAC,wDAAwD,EAAE;wBAC5D,KAAK,EAAE,QAAQ,CAAC,OAAO;wBACvB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;iBACd;YACH,CAAC;YAED,oBAAoB,EAAE,GAAG,EAAE;gBACzB,IAAI;oBACF,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;iBACvC;gBAAC,OAAO,KAAK,EAAE;oBACd,GAAG,CAAC,sEAAsE,EAAE;wBAC1E,KAAK,EAAE,QAAQ,CAAC,OAAO;wBACvB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;iBACd;YACH,CAAC;YAED,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC;YAED,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACvC,OAAO,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;YAED,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -3,13 +3,13 @@ import { DeliveryPricingSheet } from './DeliveryPricingSheet';
3
3
  const baseDirector = BasePricingDirector('DeliveryPricingDirector');
4
4
  export const DeliveryPricingDirector = {
5
5
  ...baseDirector,
6
- async buildPricingContext({ item, ...context }, requestContext) {
7
- const { modules } = requestContext;
6
+ async buildPricingContext({ item, ...context }, unchainedAPI) {
7
+ const { modules } = unchainedAPI;
8
8
  if (!item)
9
9
  return {
10
10
  discounts: [],
11
11
  ...context,
12
- ...requestContext,
12
+ ...unchainedAPI,
13
13
  };
14
14
  const order = await modules.orders.findOrder({
15
15
  orderId: item.orderId,
@@ -25,7 +25,7 @@ export const DeliveryPricingDirector = {
25
25
  country: order.countryCode,
26
26
  currency: order.currency,
27
27
  ...context,
28
- ...requestContext,
28
+ ...unchainedAPI,
29
29
  order,
30
30
  orderDelivery: item,
31
31
  provider,
@@ -33,8 +33,8 @@ export const DeliveryPricingDirector = {
33
33
  discounts,
34
34
  };
35
35
  },
36
- async actions(pricingContext, requestContext) {
37
- const actions = await baseDirector.actions(pricingContext, requestContext, this.buildPricingContext);
36
+ async actions(pricingContext, unchainedAPI) {
37
+ const actions = await baseDirector.actions(pricingContext, unchainedAPI, this.buildPricingContext);
38
38
  return {
39
39
  ...actions,
40
40
  calculationSheet() {
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryPricingDirector.js","sourceRoot":"","sources":["../../src/director/DeliveryPricingDirector.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,YAAY,GAAG,mBAAmB,CAKtC,yBAAyB,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,GAAG,YAAY;IAEf,KAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,cAAc;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QAEnC,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,GAAG,OAAO;gBACV,GAAG,cAAc;aAClB,CAAC;QAEJ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;YAClE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,WAAW;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,GAAG,OAAO;YACV,GAAG,cAAc;YACjB,KAAK;YACL,aAAa,EAAE,IAAI;YACnB,QAAQ;YACR,IAAI;YACJ,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc;QAC1C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrG,OAAO;YACL,GAAG,OAAO;YACV,gBAAgB;gBACd,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrC,OAAO,oBAAoB,CAAC;oBAC1B,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE;oBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"DeliveryPricingDirector.js","sourceRoot":"","sources":["../../src/director/DeliveryPricingDirector.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,YAAY,GAAG,mBAAmB,CAKtC,yBAAyB,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,GAAG,YAAY;IAEf,KAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,YAAY;QAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,GAAG,OAAO;gBACV,GAAG,YAAY;aAChB,CAAC;QAEJ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;YAClE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,WAAW;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,GAAG,OAAO;YACV,GAAG,YAAY;YACf,KAAK;YACL,aAAa,EAAE,IAAI;YACnB,QAAQ;YACR,IAAI;YACJ,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY;QACxC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnG,OAAO;YACL,GAAG,OAAO;YACV,gBAAgB;gBACd,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrC,OAAO,oBAAoB,CAAC;oBAC1B,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE;oBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,3 +1,7 @@
1
1
  import { ModuleInput } from '@unchainedshop/types/core';
2
- import { DeliveryModule, DeliverySettingsOptions } from '@unchainedshop/types/delivery';
2
+ import { DeliveryModule, DeliveryProviderQuery, DeliverySettingsOptions } from '@unchainedshop/types/delivery';
3
+ export declare const buildFindSelector: ({ type }?: DeliveryProviderQuery) => {
4
+ deleted: any;
5
+ type?: import("@unchainedshop/types/delivery").DeliveryProviderType;
6
+ };
3
7
  export declare const configureDeliveryModule: ({ db, options: deliveryOptions, }: ModuleInput<DeliverySettingsOptions>) => Promise<DeliveryModule>;
@@ -15,7 +15,7 @@ const asyncFilter = async (arr, predicate) => {
15
15
  const results = await Promise.all(arr.map(predicate));
16
16
  return arr.filter((_v, index) => results[index]);
17
17
  };
18
- const buildFindSelector = ({ type } = {}) => {
18
+ export const buildFindSelector = ({ type } = {}) => {
19
19
  return { ...(type ? { type } : {}), deleted: null };
20
20
  };
21
21
  export const configureDeliveryModule = async ({ db, options: deliveryOptions = {}, }) => {
@@ -23,9 +23,9 @@ export const configureDeliveryModule = async ({ db, options: deliveryOptions = {
23
23
  deliverySettings.configureSettings(deliveryOptions);
24
24
  const DeliveryProviders = await DeliveryProvidersCollection(db);
25
25
  const mutations = generateDbMutations(DeliveryProviders, DeliveryProvidersSchema);
26
- const getDeliveryAdapter = async (deliveryProviderId, deliveryContext, requestContext) => {
26
+ const getDeliveryAdapter = async (deliveryProviderId, deliveryContext, unchainedAPI) => {
27
27
  const provider = await DeliveryProviders.findOne(generateDbFilterById(deliveryProviderId), {});
28
- return DeliveryDirector.actions(provider, deliveryContext, requestContext);
28
+ return DeliveryDirector.actions(provider, deliveryContext, unchainedAPI);
29
29
  };
30
30
  return {
31
31
  // Queries
@@ -57,11 +57,11 @@ export const configureDeliveryModule = async ({ db, options: deliveryOptions = {
57
57
  version: Adapter.version,
58
58
  }));
59
59
  },
60
- findSupported: async (deliveryContext, requestContext) => {
60
+ findSupported: async (deliveryContext, unchainedAPI) => {
61
61
  const foundProviders = await DeliveryProviders.find(buildFindSelector({})).toArray();
62
62
  const providers = await asyncFilter(foundProviders, async (provider) => {
63
63
  try {
64
- const director = await DeliveryDirector.actions(provider, deliveryContext, requestContext);
64
+ const director = await DeliveryDirector.actions(provider, deliveryContext, unchainedAPI);
65
65
  return director.isActive();
66
66
  }
67
67
  catch {
@@ -71,65 +71,65 @@ export const configureDeliveryModule = async ({ db, options: deliveryOptions = {
71
71
  return deliverySettings.filterSupportedProviders({
72
72
  providers,
73
73
  order: deliveryContext.order,
74
- }, requestContext);
74
+ }, unchainedAPI);
75
75
  },
76
- determineDefault: async (deliveryProviders, deliveryContext, requestContext) => {
76
+ determineDefault: async (deliveryProviders, deliveryContext, unchainedAPI) => {
77
77
  return deliverySettings.determineDefaultProvider({
78
78
  providers: deliveryProviders,
79
79
  ...deliveryContext,
80
- }, requestContext);
80
+ }, unchainedAPI);
81
81
  },
82
- configurationError: async (deliveryProvider, requestContext) => {
83
- const director = await DeliveryDirector.actions(deliveryProvider, {}, requestContext);
82
+ configurationError: async (deliveryProvider, unchainedAPI) => {
83
+ const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
84
84
  return director.configurationError();
85
85
  },
86
- isActive: async (deliveryProvider, requestContext) => {
87
- const director = await DeliveryDirector.actions(deliveryProvider, {}, requestContext);
86
+ isActive: async (deliveryProvider, unchainedAPI) => {
87
+ const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
88
88
  return Boolean(director.isActive());
89
89
  },
90
- isAutoReleaseAllowed: async (deliveryProvider, requestContext) => {
91
- const director = await DeliveryDirector.actions(deliveryProvider, {}, requestContext);
90
+ isAutoReleaseAllowed: async (deliveryProvider, unchainedAPI) => {
91
+ const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
92
92
  return Boolean(director.isAutoReleaseAllowed());
93
93
  },
94
- calculate: async (pricingContext, requestContext) => {
95
- const pricing = await DeliveryPricingDirector.actions(pricingContext, requestContext);
94
+ calculate: async (pricingContext, unchainedAPI) => {
95
+ const pricing = await DeliveryPricingDirector.actions(pricingContext, unchainedAPI);
96
96
  return pricing.calculate();
97
97
  },
98
- send: async (deliveryProviderId, deliveryContext, requestContext) => {
99
- const adapter = await getDeliveryAdapter(deliveryProviderId, deliveryContext, requestContext);
98
+ send: async (deliveryProviderId, deliveryContext, unchainedAPI) => {
99
+ const adapter = await getDeliveryAdapter(deliveryProviderId, deliveryContext, unchainedAPI);
100
100
  return adapter.send();
101
101
  },
102
102
  pricingSheet: (params) => {
103
103
  return DeliveryPricingSheet(params);
104
104
  },
105
105
  // Mutations
106
- create: async (doc, userId) => {
106
+ create: async (doc) => {
107
107
  const Adapter = DeliveryDirector.getAdapter(doc.adapterKey);
108
108
  if (!Adapter)
109
109
  return null;
110
110
  const deliveryProviderId = await mutations.create({
111
111
  configuration: Adapter.initialConfiguration,
112
112
  ...doc,
113
- }, userId);
113
+ });
114
114
  const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(deliveryProviderId), {});
115
115
  await emit('DELIVERY_PROVIDER_CREATE', { deliveryProvider });
116
116
  return deliveryProvider;
117
117
  },
118
- update: async (_id, doc, userId) => {
119
- await mutations.update(_id, doc, userId);
118
+ update: async (_id, doc) => {
119
+ await mutations.update(_id, doc);
120
120
  const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(_id), {});
121
121
  await emit('DELIVERY_PROVIDER_UPDATE', { deliveryProvider });
122
122
  return deliveryProvider;
123
123
  },
124
- delete: async (_id, userId) => {
125
- await mutations.delete(_id, userId);
124
+ delete: async (_id) => {
125
+ await mutations.delete(_id);
126
126
  const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(_id), {});
127
127
  await emit('DELIVERY_PROVIDER_REMOVE', { deliveryProvider });
128
128
  return deliveryProvider;
129
129
  },
130
- deletePermanently: async (_id, userId) => {
130
+ deletePermanently: async (_id) => {
131
131
  const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(_id), {});
132
- await mutations.deletePermanently(_id, userId);
132
+ await mutations.deletePermanently(_id);
133
133
  return deliveryProvider;
134
134
  },
135
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"configureDeliveryModule.js","sourceRoot":"","sources":["../../src/module/configureDeliveryModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureDeliveryModule.js","sourceRoot":"","sources":["../../src/module/configureDeliveryModule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-delivery",
3
- "version": "2.0.0-beta8",
3
+ "version": "2.0.0-beta9",
4
4
  "main": "lib/delivery-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/delivery-index.js",
@@ -12,7 +12,8 @@
12
12
  "clean": "rm -rf lib",
13
13
  "build": "npm run clean && tsc",
14
14
  "watch": "tsc -w",
15
- "test": "jest --watch"
15
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
16
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --detectOpenHandles --forceExit"
16
17
  },
17
18
  "repository": {
18
19
  "type": "git",
@@ -30,16 +31,16 @@
30
31
  },
31
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
32
33
  "dependencies": {
33
- "@unchainedshop/events": "^2.0.0-beta8",
34
- "@unchainedshop/logger": "^2.0.0-beta8",
35
- "@unchainedshop/utils": "^2.0.0-beta8",
36
- "simpl-schema": "^3.0.1"
34
+ "@unchainedshop/events": "^2.0.0-beta9",
35
+ "@unchainedshop/logger": "^2.0.0-beta9",
36
+ "@unchainedshop/utils": "^2.0.0-beta9",
37
+ "simpl-schema": "^3.2.0"
37
38
  },
38
39
  "devDependencies": {
39
- "@types/node": "^18.11.9",
40
- "@unchainedshop/types": "^2.0.0-beta8",
40
+ "@types/node": "^18.11.12",
41
+ "@unchainedshop/types": "^2.0.0-beta9",
41
42
  "jest": "^29.3.1",
42
43
  "ts-jest": "^29.0.3",
43
- "typescript": "^4.9.3"
44
+ "typescript": "^4.9.4"
44
45
  }
45
46
  }
@@ -5,7 +5,6 @@ export const DeliveryProvidersSchema = new SimpleSchema(
5
5
  {
6
6
  type: { type: String, required: true },
7
7
  adapterKey: { type: String, required: true },
8
- authorId: { type: String, required: true },
9
8
  configuration: { type: Array },
10
9
  'configuration.$': { type: Object },
11
10
  'configuration.$.key': { type: String },
@@ -8,10 +8,10 @@ const baseDirector = BaseDirector<IDeliveryAdapter>('DeliveryDirector');
8
8
  export const DeliveryDirector: IDeliveryDirector = {
9
9
  ...baseDirector,
10
10
 
11
- actions: async (deliveryProvider, deliveryContext, requestContext) => {
11
+ actions: async (deliveryProvider, deliveryContext, unchainedAPI) => {
12
12
  const Adapter = baseDirector.getAdapter(deliveryProvider.adapterKey);
13
13
 
14
- const context = { ...deliveryContext, ...requestContext };
14
+ const context = { ...deliveryContext, ...unchainedAPI };
15
15
  const adapter = Adapter.actions(deliveryProvider.configuration, context);
16
16
 
17
17
  return {
@@ -18,14 +18,14 @@ const baseDirector = BasePricingDirector<
18
18
  export const DeliveryPricingDirector: IDeliveryPricingDirector = {
19
19
  ...baseDirector,
20
20
 
21
- async buildPricingContext({ item, ...context }, requestContext) {
22
- const { modules } = requestContext;
21
+ async buildPricingContext({ item, ...context }, unchainedAPI) {
22
+ const { modules } = unchainedAPI;
23
23
 
24
24
  if (!item)
25
25
  return {
26
26
  discounts: [],
27
27
  ...context,
28
- ...requestContext,
28
+ ...unchainedAPI,
29
29
  };
30
30
 
31
31
  const order = await modules.orders.findOrder({
@@ -43,7 +43,7 @@ export const DeliveryPricingDirector: IDeliveryPricingDirector = {
43
43
  country: order.countryCode,
44
44
  currency: order.currency,
45
45
  ...context,
46
- ...requestContext,
46
+ ...unchainedAPI,
47
47
  order,
48
48
  orderDelivery: item,
49
49
  provider,
@@ -52,8 +52,8 @@ export const DeliveryPricingDirector: IDeliveryPricingDirector = {
52
52
  };
53
53
  },
54
54
 
55
- async actions(pricingContext, requestContext) {
56
- const actions = await baseDirector.actions(pricingContext, requestContext, this.buildPricingContext);
55
+ async actions(pricingContext, unchainedAPI) {
56
+ const actions = await baseDirector.actions(pricingContext, unchainedAPI, this.buildPricingContext);
57
57
  return {
58
58
  ...actions,
59
59
  calculationSheet() {
@@ -1,5 +1,4 @@
1
- import { Context } from '@unchainedshop/types/api';
2
- import { ModuleInput, ModuleMutations } from '@unchainedshop/types/core';
1
+ import { ModuleInput, ModuleMutations, UnchainedCore } from '@unchainedshop/types/core';
3
2
  import {
4
3
  DeliveryContext,
5
4
  DeliveryModule,
@@ -28,7 +27,7 @@ const asyncFilter = async (arr, predicate) => {
28
27
  return arr.filter((_v, index) => results[index]);
29
28
  };
30
29
 
31
- const buildFindSelector = ({ type }: DeliveryProviderQuery = {}) => {
30
+ export const buildFindSelector = ({ type }: DeliveryProviderQuery = {}) => {
32
31
  return { ...(type ? { type } : {}), deleted: null };
33
32
  };
34
33
 
@@ -50,11 +49,11 @@ export const configureDeliveryModule = async ({
50
49
  const getDeliveryAdapter = async (
51
50
  deliveryProviderId: string,
52
51
  deliveryContext: DeliveryContext,
53
- requestContext: Context,
52
+ unchainedAPI: UnchainedCore,
54
53
  ) => {
55
54
  const provider = await DeliveryProviders.findOne(generateDbFilterById(deliveryProviderId), {});
56
55
 
57
- return DeliveryDirector.actions(provider, deliveryContext, requestContext);
56
+ return DeliveryDirector.actions(provider, deliveryContext, unchainedAPI);
58
57
  };
59
58
 
60
59
  return {
@@ -100,13 +99,13 @@ export const configureDeliveryModule = async ({
100
99
  }));
101
100
  },
102
101
 
103
- findSupported: async (deliveryContext, requestContext) => {
102
+ findSupported: async (deliveryContext, unchainedAPI) => {
104
103
  const foundProviders = await DeliveryProviders.find(buildFindSelector({})).toArray();
105
104
  const providers: DeliveryProvider[] = await asyncFilter(
106
105
  foundProviders,
107
106
  async (provider: DeliveryProvider) => {
108
107
  try {
109
- const director = await DeliveryDirector.actions(provider, deliveryContext, requestContext);
108
+ const director = await DeliveryDirector.actions(provider, deliveryContext, unchainedAPI);
110
109
  return director.isActive();
111
110
  } catch {
112
111
  return false;
@@ -119,42 +118,42 @@ export const configureDeliveryModule = async ({
119
118
  providers,
120
119
  order: deliveryContext.order,
121
120
  },
122
- requestContext,
121
+ unchainedAPI,
123
122
  );
124
123
  },
125
124
 
126
- determineDefault: async (deliveryProviders, deliveryContext, requestContext) => {
125
+ determineDefault: async (deliveryProviders, deliveryContext, unchainedAPI) => {
127
126
  return deliverySettings.determineDefaultProvider(
128
127
  {
129
128
  providers: deliveryProviders,
130
129
  ...deliveryContext,
131
130
  },
132
- requestContext,
131
+ unchainedAPI,
133
132
  );
134
133
  },
135
134
 
136
- configurationError: async (deliveryProvider, requestContext) => {
137
- const director = await DeliveryDirector.actions(deliveryProvider, {}, requestContext);
135
+ configurationError: async (deliveryProvider, unchainedAPI) => {
136
+ const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
138
137
  return director.configurationError();
139
138
  },
140
139
 
141
- isActive: async (deliveryProvider, requestContext) => {
142
- const director = await DeliveryDirector.actions(deliveryProvider, {}, requestContext);
140
+ isActive: async (deliveryProvider, unchainedAPI) => {
141
+ const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
143
142
  return Boolean(director.isActive());
144
143
  },
145
144
 
146
- isAutoReleaseAllowed: async (deliveryProvider, requestContext) => {
147
- const director = await DeliveryDirector.actions(deliveryProvider, {}, requestContext);
145
+ isAutoReleaseAllowed: async (deliveryProvider, unchainedAPI) => {
146
+ const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
148
147
  return Boolean(director.isAutoReleaseAllowed());
149
148
  },
150
149
 
151
- calculate: async (pricingContext, requestContext) => {
152
- const pricing = await DeliveryPricingDirector.actions(pricingContext, requestContext);
150
+ calculate: async (pricingContext, unchainedAPI) => {
151
+ const pricing = await DeliveryPricingDirector.actions(pricingContext, unchainedAPI);
153
152
  return pricing.calculate();
154
153
  },
155
154
 
156
- send: async (deliveryProviderId, deliveryContext, requestContext) => {
157
- const adapter = await getDeliveryAdapter(deliveryProviderId, deliveryContext, requestContext);
155
+ send: async (deliveryProviderId, deliveryContext, unchainedAPI) => {
156
+ const adapter = await getDeliveryAdapter(deliveryProviderId, deliveryContext, unchainedAPI);
158
157
  return adapter.send();
159
158
  },
160
159
 
@@ -163,17 +162,14 @@ export const configureDeliveryModule = async ({
163
162
  },
164
163
 
165
164
  // Mutations
166
- create: async (doc, userId) => {
165
+ create: async (doc) => {
167
166
  const Adapter = DeliveryDirector.getAdapter(doc.adapterKey);
168
167
  if (!Adapter) return null;
169
168
 
170
- const deliveryProviderId = await mutations.create(
171
- {
172
- configuration: Adapter.initialConfiguration,
173
- ...doc,
174
- },
175
- userId,
176
- );
169
+ const deliveryProviderId = await mutations.create({
170
+ configuration: Adapter.initialConfiguration,
171
+ ...doc,
172
+ });
177
173
  const deliveryProvider = await DeliveryProviders.findOne(
178
174
  generateDbFilterById(deliveryProviderId),
179
175
  {},
@@ -182,23 +178,23 @@ export const configureDeliveryModule = async ({
182
178
  return deliveryProvider;
183
179
  },
184
180
 
185
- update: async (_id: string, doc: DeliveryProvider, userId: string) => {
186
- await mutations.update(_id, doc, userId);
181
+ update: async (_id: string, doc: DeliveryProvider) => {
182
+ await mutations.update(_id, doc);
187
183
  const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(_id), {});
188
184
  await emit('DELIVERY_PROVIDER_UPDATE', { deliveryProvider });
189
185
  return deliveryProvider;
190
186
  },
191
187
 
192
- delete: async (_id, userId) => {
193
- await mutations.delete(_id, userId);
188
+ delete: async (_id) => {
189
+ await mutations.delete(_id);
194
190
  const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(_id), {});
195
191
  await emit('DELIVERY_PROVIDER_REMOVE', { deliveryProvider });
196
192
  return deliveryProvider;
197
193
  },
198
194
 
199
- deletePermanently: async (_id, userId) => {
195
+ deletePermanently: async (_id) => {
200
196
  const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(_id), {});
201
- await mutations.deletePermanently(_id, userId);
197
+ await mutations.deletePermanently(_id);
202
198
  return deliveryProvider;
203
199
  },
204
200
  };
@@ -1,22 +1,15 @@
1
- import { assert } from 'chai';
2
- import { initDb } from '@unchainedshop/mongodb';
3
- import { configureDeliveryModule } from '../src/delivery-index';
1
+ import { DeliveryProviderType } from "../src/director/DeliveryProviderType";
2
+ import { buildFindSelector } from "../src/module/configureDeliveryModule";
4
3
 
5
- describe('Test exports', () => {
6
- let module;
4
+ describe('Delivery', () => {
5
+ describe('buildFindSelector', () => {
6
+ it('Return correct filter object when passed no argument', async () => {
7
+ expect(buildFindSelector({})).toEqual({ deleted: null })
8
+ });
7
9
 
8
- before(async () => {
9
- const db = await initDb();
10
- module = await configureDeliveryModule({ db });
11
- });
12
-
13
- it('Check Delivery module', async () => {
14
- assert.ok(module);
15
- assert.isFunction(module.findProvider);
16
- assert.isFunction(module.findDelivery);
17
- assert.isFunction(module.providerExists);
18
- assert.isFunction(module.create);
19
- assert.isFunction(module.update);
20
- assert.isFunction(module.delete);
21
- });
10
+ it('Return correct filter object when passed no argument', async () => {
11
+ expect(buildFindSelector({type: DeliveryProviderType.PICKUP})).toEqual({ type: 'PICKUP', deleted: null })
12
+ });
13
+ })
14
+
22
15
  });