@unchainedshop/core-delivery 3.0.0-alpha7 → 3.0.0-rc2

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.
Files changed (36) hide show
  1. package/lib/db/DeliveryProvidersCollection.d.ts +30 -2
  2. package/lib/db/DeliveryProvidersCollection.d.ts.map +1 -1
  3. package/lib/db/DeliveryProvidersCollection.js +5 -0
  4. package/lib/db/DeliveryProvidersCollection.js.map +1 -1
  5. package/lib/delivery-index.d.ts +1 -8
  6. package/lib/delivery-index.d.ts.map +1 -1
  7. package/lib/delivery-index.js +1 -8
  8. package/lib/delivery-index.js.map +1 -1
  9. package/lib/delivery-settings.d.ts +7 -5
  10. package/lib/delivery-settings.d.ts.map +1 -1
  11. package/lib/delivery-settings.js.map +1 -1
  12. package/lib/director/DeliveryPricingAdapter.d.ts +2 -2
  13. package/lib/director/DeliveryPricingAdapter.d.ts.map +1 -1
  14. package/lib/director/DeliveryPricingDirector.d.ts +3 -3
  15. package/lib/director/DeliveryPricingDirector.d.ts.map +1 -1
  16. package/lib/module/configureDeliveryModule.d.ts +20 -39
  17. package/lib/module/configureDeliveryModule.d.ts.map +1 -1
  18. package/lib/module/configureDeliveryModule.js +1 -81
  19. package/lib/module/configureDeliveryModule.js.map +1 -1
  20. package/lib/types.d.ts +9 -13
  21. package/lib/types.d.ts.map +1 -1
  22. package/lib/types.js.map +1 -1
  23. package/package.json +10 -12
  24. package/src/db/DeliveryProvidersCollection.ts +32 -2
  25. package/src/delivery-index.ts +1 -10
  26. package/src/delivery-settings.ts +11 -5
  27. package/src/module/configureDeliveryModule.ts +28 -187
  28. package/tsconfig.json +5 -7
  29. package/src/director/DeliveryAdapter.ts +0 -56
  30. package/src/director/DeliveryDirector.ts +0 -76
  31. package/src/director/DeliveryError.ts +0 -6
  32. package/src/director/DeliveryPricingAdapter.ts +0 -86
  33. package/src/director/DeliveryPricingDirector.ts +0 -99
  34. package/src/director/DeliveryPricingSheet.ts +0 -87
  35. package/src/director/DeliveryProviderType.ts +0 -4
  36. package/src/types.ts +0 -115
@@ -1,4 +1,32 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { DeliveryProvider } from '../types.js';
1
+ import { mongodb, TimestampFields } from '@unchainedshop/mongodb';
2
+ export declare enum DeliveryProviderType {
3
+ SHIPPING = "SHIPPING",
4
+ PICKUP = "PICKUP"
5
+ }
6
+ export type DeliveryConfiguration = Array<{
7
+ key: string;
8
+ value: string;
9
+ }>;
10
+ export type DeliveryProvider = {
11
+ _id?: string;
12
+ type: DeliveryProviderType;
13
+ adapterKey: string;
14
+ configuration: DeliveryConfiguration;
15
+ } & TimestampFields;
16
+ export interface DeliveryLocation {
17
+ _id: string;
18
+ name: string;
19
+ address: {
20
+ addressLine: string;
21
+ addressLine2?: string;
22
+ postalCode: string;
23
+ countryCode: string;
24
+ city: string;
25
+ };
26
+ geoPoint: {
27
+ latitude: number;
28
+ longitude: number;
29
+ };
30
+ }
3
31
  export declare const DeliveryProvidersCollection: (db: mongodb.Db) => Promise<mongodb.Collection<DeliveryProvider>>;
4
32
  //# sourceMappingURL=DeliveryProvidersCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryProvidersCollection.d.ts","sourceRoot":"","sources":["../../src/db/DeliveryProvidersCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,2BAA2B,OAAc,OAAO,CAAC,EAAE,kDAc/D,CAAC"}
1
+ {"version":3,"file":"DeliveryProvidersCollection.d.ts","sourceRoot":"","sources":["../../src/db/DeliveryProvidersCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAElF,oBAAY,oBAAoB;IAC9B,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AACD,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,qBAAqB,CAAC;CACtC,GAAG,eAAe,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AACD,eAAO,MAAM,2BAA2B,OAAc,OAAO,CAAC,EAAE,kDAc/D,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import { buildDbIndexes } from '@unchainedshop/mongodb';
2
+ export var DeliveryProviderType;
3
+ (function (DeliveryProviderType) {
4
+ DeliveryProviderType["SHIPPING"] = "SHIPPING";
5
+ DeliveryProviderType["PICKUP"] = "PICKUP";
6
+ })(DeliveryProviderType || (DeliveryProviderType = {}));
2
7
  export const DeliveryProvidersCollection = async (db) => {
3
8
  const DeliveryProviders = db.collection('delivery-providers');
4
9
  await buildDbIndexes(DeliveryProviders, [
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryProvidersCollection.js","sourceRoot":"","sources":["../../src/db/DeliveryProvidersCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAClE,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAmB,oBAAoB,CAAC,CAAC;IAEhF,MAAM,cAAc,CAAmB,iBAAiB,EAAE;QACxD,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACzB;YACE,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC;aACX;SACF;KACF,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"DeliveryProvidersCollection.js","sourceRoot":"","sources":["../../src/db/DeliveryProvidersCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AAElF,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AA4BD,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAClE,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAmB,oBAAoB,CAAC,CAAC;IAEhF,MAAM,cAAc,CAAmB,iBAAiB,EAAE;QACxD,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACzB;YACE,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC;aACX;SACF;KACF,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
@@ -1,11 +1,4 @@
1
- export * from './types.js';
2
1
  export * from './module/configureDeliveryModule.js';
2
+ export * from './db/DeliveryProvidersCollection.js';
3
3
  export * from './delivery-settings.js';
4
- export * from './director/DeliveryAdapter.js';
5
- export * from './director/DeliveryDirector.js';
6
- export * from './director/DeliveryPricingAdapter.js';
7
- export * from './director/DeliveryPricingDirector.js';
8
- export * from './director/DeliveryPricingSheet.js';
9
- export { DeliveryError } from './director/DeliveryError.js';
10
- export { DeliveryProviderType } from './director/DeliveryProviderType.js';
11
4
  //# sourceMappingURL=delivery-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-index.d.ts","sourceRoot":"","sources":["../src/delivery-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"delivery-index.d.ts","sourceRoot":"","sources":["../src/delivery-index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC"}
@@ -1,11 +1,4 @@
1
- export * from './types.js';
2
1
  export * from './module/configureDeliveryModule.js';
2
+ export * from './db/DeliveryProvidersCollection.js';
3
3
  export * from './delivery-settings.js';
4
- export * from './director/DeliveryAdapter.js';
5
- export * from './director/DeliveryDirector.js';
6
- export * from './director/DeliveryPricingAdapter.js';
7
- export * from './director/DeliveryPricingDirector.js';
8
- export * from './director/DeliveryPricingSheet.js';
9
- export { DeliveryError } from './director/DeliveryError.js';
10
- export { DeliveryProviderType } from './director/DeliveryProviderType.js';
11
4
  //# sourceMappingURL=delivery-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-index.js","sourceRoot":"","sources":["../src/delivery-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"delivery-index.js","sourceRoot":"","sources":["../src/delivery-index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC"}
@@ -1,10 +1,12 @@
1
- import { UnchainedCore } from '@unchainedshop/core';
2
- import { DeliveryProvider, FilterProviders } from './types.js';
3
- import { Order } from '@unchainedshop/core-orders';
4
- export type DetermineDefaultProvider = (params: {
1
+ import { DeliveryProvider } from './db/DeliveryProvidersCollection.js';
2
+ export type FilterProviders<Order = unknown, UnchainedAPI = unknown> = (params: {
5
3
  providers: Array<DeliveryProvider>;
6
4
  order: Order;
7
- }, unchainedAPI: UnchainedCore) => Promise<DeliveryProvider>;
5
+ }, unchainedAPI: UnchainedAPI) => Promise<Array<DeliveryProvider>>;
6
+ export type DetermineDefaultProvider<Order = unknown, UnchainedAPI = unknown> = (params: {
7
+ providers: Array<DeliveryProvider>;
8
+ order: Order;
9
+ }, unchainedAPI: UnchainedAPI) => Promise<DeliveryProvider>;
8
10
  export interface DeliverySettingsOptions {
9
11
  sortProviders?: (a: DeliveryProvider, b: DeliveryProvider) => number;
10
12
  filterSupportedProviders?: FilterProviders;
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-settings.d.ts","sourceRoot":"","sources":["../src/delivery-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE;IACN,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;CACd,EACD,YAAY,EAAE,aAAa,KACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/B,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACrE,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB,EAAE,eAAe,CAAC;IAC1C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAChE;AAcD,eAAO,MAAM,gBAAgB,EAAE,gBAW9B,CAAC"}
1
+ {"version":3,"file":"delivery-settings.d.ts","sourceRoot":"","sources":["../src/delivery-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,IAAI,CACrE,MAAM,EAAE;IACN,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;CACd,EACD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,wBAAwB,CAAC,KAAK,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,IAAI,CAC9E,MAAM,EAAE;IACN,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;CACd,EACD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/B,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACrE,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB,EAAE,eAAe,CAAC;IAC1C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAChE;AAcD,eAAO,MAAM,gBAAgB,EAAE,gBAW9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-settings.js","sourceRoot":"","sources":["../src/delivery-settings.ts"],"names":[],"mappings":"AAuBA,MAAM,kBAAkB,GAAG,CAAC,IAAsB,EAAE,KAAuB,EAAE,EAAE;IAC7E,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAoB,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAA6B,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC/E,OAAO,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAE9B,iBAAiB,CAAC,EAChB,wBAAwB,GAAG,YAAY,EACvC,wBAAwB,GAAG,sBAAsB,GAClD,GAAG,EAAE;QACJ,gBAAgB,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACrE,gBAAgB,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IACvE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"delivery-settings.js","sourceRoot":"","sources":["../src/delivery-settings.ts"],"names":[],"mappings":"AA6BA,MAAM,kBAAkB,GAAG,CAAC,IAAsB,EAAE,KAAuB,EAAE,EAAE;IAC7E,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAoB,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAA6B,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC/E,OAAO,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAE9B,iBAAiB,CAAC,EAChB,wBAAwB,GAAG,YAAY,EACvC,wBAAwB,GAAG,sBAAsB,GAClD,GAAG,EAAE;QACJ,gBAAgB,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACrE,gBAAgB,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IACvE,CAAC;CACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { BasePricingAdapterContext, IPricingAdapter, IPricingSheet, PricingCalculation } from '@unchainedshop/utils';
2
2
  import { DeliveryProvider } from '../types.js';
3
- import { OrderDelivery, OrderDiscount, Order } from '@unchainedshop/core-orders';
4
- import { User } from '@unchainedshop/core-users';
3
+ import type { OrderDelivery, OrderDiscount, Order } from '@unchainedshop/core-orders';
4
+ import type { User } from '@unchainedshop/core-users';
5
5
  export interface DeliveryPricingCalculation extends PricingCalculation {
6
6
  discountId?: string;
7
7
  isNetPrice: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryPricingAdapter.d.ts","sourceRoot":"","sources":["../../src/director/DeliveryPricingAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,0BAA0B,CAAC,GAAG;IAC9E,MAAM,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAClG,MAAM,EAAE,CAAC,MAAM,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,IAAI,CAAC;IACX,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,uBAAuB,CAAC,qBAAqB,GAAG,OAAO,IAAI,eAAe,CACpF,6BAA6B,EAC7B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;AAOF,eAAO,MAAM,sBAAsB,EAAE,uBAyBpC,CAAC"}
1
+ {"version":3,"file":"DeliveryPricingAdapter.d.ts","sourceRoot":"","sources":["../../src/director/DeliveryPricingAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,0BAA0B,CAAC,GAAG;IAC9E,MAAM,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAClG,MAAM,EAAE,CAAC,MAAM,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,IAAI,CAAC;IACX,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,KAAK,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,uBAAuB,CAAC,qBAAqB,GAAG,OAAO,IAAI,eAAe,CACpF,6BAA6B,EAC7B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;AAOF,eAAO,MAAM,sBAAsB,EAAE,uBAyBpC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { DeliveryProvider } from '../types.js';
2
- import { Order } from '@unchainedshop/core-orders';
3
- import { User } from '@unchainedshop/core-users';
4
- import { OrderDelivery } from '@unchainedshop/core-orders';
5
2
  import { IPricingDirector } from '@unchainedshop/utils';
6
3
  import { DeliveryPricingAdapterContext, DeliveryPricingCalculation, IDeliveryPricingAdapter, IDeliveryPricingSheet } from './DeliveryPricingAdapter.js';
4
+ import type { Order } from '@unchainedshop/core-orders';
5
+ import type { User } from '@unchainedshop/core-users';
6
+ import type { OrderDelivery } from '@unchainedshop/core-orders';
7
7
  export type DeliveryPricingContext = {
8
8
  country?: string;
9
9
  currency?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryPricingDirector.d.ts","sourceRoot":"","sources":["../../src/director/DeliveryPricingDirector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,MAAM,MAAM,wBAAwB,CAAC,qBAAqB,GAAG,OAAO,IAAI,gBAAgB,CACtF,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,CAAC,qBAAqB,CAAC,CAC/C,CAAC;AASF,eAAO,MAAM,uBAAuB,EAAE,wBA0DrC,CAAC"}
1
+ {"version":3,"file":"DeliveryPricingDirector.d.ts","sourceRoot":"","sources":["../../src/director/DeliveryPricingDirector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,MAAM,MAAM,wBAAwB,CAAC,qBAAqB,GAAG,OAAO,IAAI,gBAAgB,CACtF,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,CAAC,qBAAqB,CAAC,CAC/C,CAAC;AASF,eAAO,MAAM,uBAAuB,EAAE,wBA0DrC,CAAC"}
@@ -1,46 +1,27 @@
1
- import { UnchainedCore } from '@unchainedshop/core';
2
- import { DeliveryContext, DeliveryInterface, DeliveryProvider, DeliveryProviderType } from '../types.js';
3
1
  import { mongodb, ModuleInput } from '@unchainedshop/mongodb';
2
+ import { DeliveryProvider } from '../db/DeliveryProvidersCollection.js';
4
3
  import { DeliverySettingsOptions } from '../delivery-settings.js';
5
- import { DeliveryPricingContext } from '../director/DeliveryPricingDirector.js';
6
- import { DeliveryError } from '../delivery-index.js';
7
- import { Order } from '@unchainedshop/core-orders';
8
- import { DeliveryPricingCalculation, IDeliveryPricingSheet } from '../director/DeliveryPricingAdapter.js';
9
- export type DeliveryModule = {
4
+ export interface DeliveryInterface {
5
+ _id: string;
6
+ label: string;
7
+ version: string;
8
+ }
9
+ export declare const buildFindSelector: ({ type }?: mongodb.Filter<DeliveryProvider>) => {
10
+ deleted: any;
11
+ type?: mongodb.Condition<import("../db/DeliveryProvidersCollection.js").DeliveryProviderType>;
12
+ };
13
+ export declare const configureDeliveryModule: ({ db, options: deliveryOptions, }: ModuleInput<DeliverySettingsOptions>) => Promise<{
10
14
  count: (query: mongodb.Filter<DeliveryProvider>) => Promise<number>;
11
- create: (doc: DeliveryProvider) => Promise<DeliveryProvider>;
12
- update: (_id: string, doc: DeliveryProvider) => Promise<DeliveryProvider>;
13
- delete: (_id: string) => Promise<DeliveryProvider>;
14
- findProvider: (query: {
15
+ findProvider: ({ deliveryProviderId, ...query }: {
15
16
  deliveryProviderId: string;
16
- } & mongodb.Filter<DeliveryProvider>, options?: mongodb.FindOptions) => Promise<DeliveryProvider>;
17
- findProviders: (query: mongodb.Filter<DeliveryProvider>, options?: mongodb.FindOptions) => Promise<Array<DeliveryProvider>>;
18
- providerExists: (query: {
17
+ } & mongodb.Filter<DeliveryProvider>, options?: mongodb.FindOptions<DeliveryProvider>) => Promise<DeliveryProvider>;
18
+ findProviders: (query: mongodb.Filter<DeliveryProvider>, options?: mongodb.FindOptions<DeliveryProvider>) => Promise<Array<DeliveryProvider>>;
19
+ providerExists: ({ deliveryProviderId }: {
19
20
  deliveryProviderId: string;
20
21
  }) => Promise<boolean>;
21
- pricingSheet: (params: {
22
- calculation: Array<DeliveryPricingCalculation>;
23
- currency: string;
24
- }) => IDeliveryPricingSheet;
25
- findInterface: (params: DeliveryProvider) => DeliveryInterface;
26
- findInterfaces: (params: {
27
- type: DeliveryProviderType;
28
- }) => Array<DeliveryInterface>;
29
- findSupported: (params: {
30
- order: Order;
31
- }, unchainedAPI: UnchainedCore) => Promise<Array<DeliveryProvider>>;
32
- determineDefault: (deliveryProviders: Array<DeliveryProvider>, params: {
33
- order: Order;
34
- }, unchainedAPI: UnchainedCore) => Promise<DeliveryProvider>;
35
- isActive: (deliveryProvider: DeliveryProvider, unchainedAPI: UnchainedCore) => Promise<boolean>;
36
- configurationError: (deliveryProvider: DeliveryProvider, unchainedAPI: UnchainedCore) => Promise<DeliveryError>;
37
- isAutoReleaseAllowed: (deliveryProvider: DeliveryProvider, unchainedAPI: UnchainedCore) => Promise<boolean>;
38
- calculate: (pricingContext: DeliveryPricingContext, unchainedAPI: UnchainedCore) => Promise<Array<DeliveryPricingCalculation>>;
39
- send: (deliveryProviderId: string, deliveryContext: DeliveryContext, unchainedAPI: UnchainedCore) => Promise<any>;
40
- };
41
- export declare const buildFindSelector: ({ type }?: mongodb.Filter<DeliveryProvider>) => {
42
- deleted: any;
43
- type?: mongodb.Condition<DeliveryProviderType>;
44
- };
45
- export declare const configureDeliveryModule: ({ db, options: deliveryOptions, }: ModuleInput<DeliverySettingsOptions>) => Promise<DeliveryModule>;
22
+ create: (doc: DeliveryProvider) => Promise<DeliveryProvider>;
23
+ update: (_id: string, doc: DeliveryProvider) => Promise<DeliveryProvider>;
24
+ delete: (_id: string) => Promise<DeliveryProvider>;
25
+ }>;
26
+ export type DeliveryModule = Awaited<ReturnType<typeof configureDeliveryModule>>;
46
27
  //# sourceMappingURL=configureDeliveryModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureDeliveryModule.d.ts","sourceRoot":"","sources":["../../src/module/configureDeliveryModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureDeliveryModule.d.ts","sourceRoot":"","sources":["../../src/module/configureDeliveryModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA4C,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAA+B,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAoB,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAQpF,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,iBAAiB,cAAc,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;;;CAE3E,CAAC;AAEF,eAAO,MAAM,uBAAuB,sCAGjC,WAAW,CAAC,uBAAuB,CAAC;mBASd,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;qDASlE;QACD,kBAAkB,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAC1B,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAC9C,OAAO,CAAC,gBAAgB,CAAC;2BAQnB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAC9B,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAC7C,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;6CAKY;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,OAAO,CAAC;kBAS5E,gBAAgB,KAAG,OAAO,CAAC,gBAAgB,CAAC;kBAW5C,MAAM,OAAO,gBAAgB,KAAG,OAAO,CAAC,gBAAgB,CAAC;kBAezD,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAAC;EAczD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC"}
@@ -1,19 +1,12 @@
1
1
  import { emit, registerEvents } from '@unchainedshop/events';
2
2
  import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
3
- import { DeliveryPricingSheet } from '../director/DeliveryPricingSheet.js';
4
3
  import { DeliveryProvidersCollection } from '../db/DeliveryProvidersCollection.js';
5
4
  import { deliverySettings } from '../delivery-settings.js';
6
- import { DeliveryDirector } from '../director/DeliveryDirector.js';
7
- import { DeliveryPricingDirector } from '../director/DeliveryPricingDirector.js';
8
5
  const DELIVERY_PROVIDER_EVENTS = [
9
6
  'DELIVERY_PROVIDER_CREATE',
10
7
  'DELIVERY_PROVIDER_UPDATE',
11
8
  'DELIVERY_PROVIDER_REMOVE',
12
9
  ];
13
- const asyncFilter = async (arr, predicate) => {
14
- const results = await Promise.all(arr.map(predicate));
15
- return arr.filter((_v, index) => results[index]);
16
- };
17
10
  export const buildFindSelector = ({ type } = {}) => {
18
11
  return { ...(type ? { type } : {}), deleted: null };
19
12
  };
@@ -21,10 +14,6 @@ export const configureDeliveryModule = async ({ db, options: deliveryOptions = {
21
14
  registerEvents(DELIVERY_PROVIDER_EVENTS);
22
15
  deliverySettings.configureSettings(deliveryOptions);
23
16
  const DeliveryProviders = await DeliveryProvidersCollection(db);
24
- const getDeliveryAdapter = async (deliveryProviderId, deliveryContext, unchainedAPI) => {
25
- const provider = await DeliveryProviders.findOne(generateDbFilterById(deliveryProviderId), {});
26
- return DeliveryDirector.actions(provider, deliveryContext, unchainedAPI);
27
- };
28
17
  return {
29
18
  // Queries
30
19
  count: async (query) => {
@@ -42,83 +31,14 @@ export const configureDeliveryModule = async ({ db, options: deliveryOptions = {
42
31
  const providerCount = await DeliveryProviders.countDocuments(generateDbFilterById(deliveryProviderId, { deleted: null }), { limit: 1 });
43
32
  return !!providerCount;
44
33
  },
45
- // Delivery Adapter
46
- findInterface: (paymentProvider) => {
47
- const Adapter = DeliveryDirector.getAdapter(paymentProvider.adapterKey);
48
- if (!Adapter)
49
- return null;
50
- return {
51
- _id: Adapter.key,
52
- label: Adapter.label,
53
- version: Adapter.version,
54
- };
55
- },
56
- findInterfaces: ({ type }) => {
57
- return DeliveryDirector.getAdapters({
58
- adapterFilter: (Adapter) => Adapter.typeSupported(type),
59
- }).map((Adapter) => ({
60
- _id: Adapter.key,
61
- label: Adapter.label,
62
- version: Adapter.version,
63
- }));
64
- },
65
- findSupported: async (deliveryContext, unchainedAPI) => {
66
- const foundProviders = await DeliveryProviders.find(buildFindSelector({})).toArray();
67
- const providers = await asyncFilter(foundProviders, async (provider) => {
68
- try {
69
- const director = await DeliveryDirector.actions(provider, deliveryContext, unchainedAPI);
70
- return director.isActive();
71
- }
72
- catch {
73
- return false;
74
- }
75
- });
76
- return deliverySettings.filterSupportedProviders({
77
- providers,
78
- order: deliveryContext.order,
79
- }, unchainedAPI);
80
- },
81
- determineDefault: async (deliveryProviders, deliveryContext, unchainedAPI) => {
82
- return deliverySettings.determineDefaultProvider({
83
- providers: deliveryProviders,
84
- ...deliveryContext,
85
- }, unchainedAPI);
86
- },
87
- configurationError: async (deliveryProvider, unchainedAPI) => {
88
- const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
89
- return director.configurationError();
90
- },
91
- isActive: async (deliveryProvider, unchainedAPI) => {
92
- const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
93
- return Boolean(director.isActive());
94
- },
95
- isAutoReleaseAllowed: async (deliveryProvider, unchainedAPI) => {
96
- const director = await DeliveryDirector.actions(deliveryProvider, {}, unchainedAPI);
97
- return Boolean(director.isAutoReleaseAllowed());
98
- },
99
- calculate: async (pricingContext, unchainedAPI) => {
100
- const pricing = await DeliveryPricingDirector.actions(pricingContext, unchainedAPI);
101
- return pricing.calculate();
102
- },
103
- send: async (deliveryProviderId, deliveryContext, unchainedAPI) => {
104
- const adapter = await getDeliveryAdapter(deliveryProviderId, deliveryContext, unchainedAPI);
105
- return adapter.send();
106
- },
107
- pricingSheet: (params) => {
108
- return DeliveryPricingSheet(params);
109
- },
110
34
  // Mutations
111
35
  create: async (doc) => {
112
- const Adapter = DeliveryDirector.getAdapter(doc.adapterKey);
113
- if (!Adapter)
114
- return null;
115
36
  const { insertedId: deliveryProviderId } = await DeliveryProviders.insertOne({
116
37
  _id: generateDbObjectId(),
117
38
  created: new Date(),
118
- configuration: Adapter.initialConfiguration,
119
39
  ...doc,
120
40
  });
121
- const deliveryProvider = await DeliveryProviders.findOne(generateDbFilterById(deliveryProviderId), {});
41
+ const deliveryProvider = await DeliveryProviders.findOne({ _id: deliveryProviderId }, {});
122
42
  await emit('DELIVERY_PROVIDER_CREATE', { deliveryProvider });
123
43
  return deliveryProvider;
124
44
  },
@@ -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/lib/types.d.ts CHANGED
@@ -1,13 +1,10 @@
1
+ import { TimestampFields } from '@unchainedshop/mongodb';
2
+ import { IBaseAdapter, IBaseDirector } from '@unchainedshop/utils';
3
+ import type { Order, OrderPosition, OrderDelivery } from '@unchainedshop/core-orders';
4
+ import type { Product } from '@unchainedshop/core-products';
5
+ import type { WarehousingProvider } from '@unchainedshop/core-warehousing';
1
6
  import type { Work } from '@unchainedshop/core-worker';
2
- import type { TimestampFields } from '@unchainedshop/mongodb';
3
7
  import type { User } from '@unchainedshop/core-users';
4
- import { IBaseAdapter, IBaseDirector } from '@unchainedshop/utils';
5
- import { UnchainedCore } from '@unchainedshop/core';
6
- import { Order } from '@unchainedshop/core-orders';
7
- import { OrderDelivery } from '@unchainedshop/core-orders';
8
- import { OrderPosition } from '@unchainedshop/core-orders';
9
- import { Product } from '@unchainedshop/core-products';
10
- import { WarehousingProvider } from '@unchainedshop/core-warehousing';
11
8
  export declare enum DeliveryProviderType {
12
9
  SHIPPING = "SHIPPING",
13
10
  PICKUP = "PICKUP"
@@ -45,7 +42,6 @@ export interface DeliveryContext {
45
42
  warehousingProvider?: WarehousingProvider;
46
43
  warehousingThroughputTime?: number;
47
44
  }
48
- export type DeliveryAdapterContext = DeliveryContext & UnchainedCore;
49
45
  export interface DeliveryLocation {
50
46
  _id: string;
51
47
  name: string;
@@ -70,13 +66,13 @@ export interface DeliveryAdapterActions {
70
66
  pickUpLocations: () => Promise<Array<DeliveryLocation>>;
71
67
  send: () => Promise<boolean | Work>;
72
68
  }
73
- export type IDeliveryAdapter = IBaseAdapter & {
69
+ export type IDeliveryAdapter<UnchainedAPI = any> = IBaseAdapter & {
74
70
  initialConfiguration: DeliveryConfiguration;
75
71
  typeSupported: (type: DeliveryProviderType) => boolean;
76
- actions: (config: DeliveryConfiguration, context: DeliveryAdapterContext) => DeliveryAdapterActions;
72
+ actions: (config: DeliveryConfiguration, context: DeliveryContext & UnchainedAPI) => DeliveryAdapterActions;
77
73
  };
78
74
  export type IDeliveryDirector = IBaseDirector<IDeliveryAdapter> & {
79
- actions: (deliveryProvider: DeliveryProvider, deliveryContext: DeliveryContext, unchainedAPI: UnchainedCore) => Promise<DeliveryAdapterActions>;
75
+ actions: (deliveryProvider: DeliveryProvider, deliveryContext: DeliveryContext, unchainedAPI: any) => Promise<DeliveryAdapterActions>;
80
76
  };
81
77
  export interface DeliveryInterface {
82
78
  _id: string;
@@ -86,5 +82,5 @@ export interface DeliveryInterface {
86
82
  export type FilterProviders = (params: {
87
83
  providers: Array<DeliveryProvider>;
88
84
  order: Order;
89
- }, unchainedAPI: UnchainedCore) => Promise<Array<DeliveryProvider>>;
85
+ }, unchainedAPI: any) => Promise<Array<DeliveryProvider>>;
90
86
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAYA,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAkBD,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,wDAAuC,CAAA;IACvC,oDAAmC,CAAA;IACnC,sEAAqD,CAAA;IACrD,wDAAuC,CAAA;AACzC,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAkBD,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,wDAAuC,CAAA;IACvC,oDAAmC,CAAA;IACnC,sEAAqD,CAAA;IACrD,wDAAuC,CAAA;AACzC,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
package/package.json CHANGED
@@ -1,16 +1,13 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-delivery",
3
- "version": "3.0.0-alpha7",
3
+ "version": "3.0.0-rc2",
4
4
  "main": "lib/delivery-index.js",
5
- "exports": {
6
- ".": "./lib/delivery-index.js",
7
- "./*": "./lib/*"
8
- },
9
5
  "types": "lib/delivery-index.d.ts",
10
6
  "type": "module",
11
7
  "scripts": {
12
- "clean": "rm -rf lib",
13
- "prepublishOnly": "npm run clean && tsc",
8
+ "clean": "tsc -b --clean",
9
+ "build": "tsc -b",
10
+ "prepublishOnly": "npm run clean && npm run build",
14
11
  "watch": "tsc -w",
15
12
  "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
16
13
  "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --detectOpenHandles --forceExit"
@@ -31,14 +28,15 @@
31
28
  },
32
29
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
30
  "dependencies": {
34
- "@unchainedshop/events": "^3.0.0-alpha4",
35
- "@unchainedshop/logger": "^3.0.0-alpha4",
36
- "@unchainedshop/utils": "^3.0.0-alpha4"
31
+ "@unchainedshop/events": "^3.0.0-rc2",
32
+ "@unchainedshop/logger": "^3.0.0-rc2",
33
+ "@unchainedshop/mongodb": "^3.0.0-rc2",
34
+ "@unchainedshop/utils": "^3.0.0-rc2"
37
35
  },
38
36
  "devDependencies": {
39
- "@types/node": "^22.8.1",
37
+ "@types/node": "^22.10.2",
40
38
  "jest": "^29.7.0",
41
39
  "ts-jest": "^29.2.5",
42
- "typescript": "^5.6.3"
40
+ "typescript": "^5.7.2"
43
41
  }
44
42
  }
@@ -1,6 +1,36 @@
1
- import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { DeliveryProvider } from '../types.js';
1
+ import { mongodb, buildDbIndexes, TimestampFields } from '@unchainedshop/mongodb';
3
2
 
3
+ export enum DeliveryProviderType {
4
+ SHIPPING = 'SHIPPING',
5
+ PICKUP = 'PICKUP',
6
+ }
7
+ export type DeliveryConfiguration = Array<{
8
+ key: string;
9
+ value: string;
10
+ }>;
11
+
12
+ export type DeliveryProvider = {
13
+ _id?: string;
14
+ type: DeliveryProviderType;
15
+ adapterKey: string;
16
+ configuration: DeliveryConfiguration;
17
+ } & TimestampFields;
18
+
19
+ export interface DeliveryLocation {
20
+ _id: string;
21
+ name: string;
22
+ address: {
23
+ addressLine: string;
24
+ addressLine2?: string;
25
+ postalCode: string;
26
+ countryCode: string;
27
+ city: string;
28
+ };
29
+ geoPoint: {
30
+ latitude: number;
31
+ longitude: number;
32
+ };
33
+ }
4
34
  export const DeliveryProvidersCollection = async (db: mongodb.Db) => {
5
35
  const DeliveryProviders = db.collection<DeliveryProvider>('delivery-providers');
6
36
 
@@ -1,12 +1,3 @@
1
- export * from './types.js';
2
1
  export * from './module/configureDeliveryModule.js';
2
+ export * from './db/DeliveryProvidersCollection.js';
3
3
  export * from './delivery-settings.js';
4
-
5
- export * from './director/DeliveryAdapter.js';
6
- export * from './director/DeliveryDirector.js';
7
- export * from './director/DeliveryPricingAdapter.js';
8
- export * from './director/DeliveryPricingDirector.js';
9
- export * from './director/DeliveryPricingSheet.js';
10
-
11
- export { DeliveryError } from './director/DeliveryError.js';
12
- export { DeliveryProviderType } from './director/DeliveryProviderType.js';
@@ -1,13 +1,19 @@
1
- import { UnchainedCore } from '@unchainedshop/core';
2
- import { DeliveryProvider, FilterProviders } from './types.js';
3
- import { Order } from '@unchainedshop/core-orders';
1
+ import { DeliveryProvider } from './db/DeliveryProvidersCollection.js';
4
2
 
5
- export type DetermineDefaultProvider = (
3
+ export type FilterProviders<Order = unknown, UnchainedAPI = unknown> = (
6
4
  params: {
7
5
  providers: Array<DeliveryProvider>;
8
6
  order: Order;
9
7
  },
10
- unchainedAPI: UnchainedCore,
8
+ unchainedAPI: UnchainedAPI,
9
+ ) => Promise<Array<DeliveryProvider>>;
10
+
11
+ export type DetermineDefaultProvider<Order = unknown, UnchainedAPI = unknown> = (
12
+ params: {
13
+ providers: Array<DeliveryProvider>;
14
+ order: Order;
15
+ },
16
+ unchainedAPI: UnchainedAPI,
11
17
  ) => Promise<DeliveryProvider>;
12
18
  export interface DeliverySettingsOptions {
13
19
  sortProviders?: (a: DeliveryProvider, b: DeliveryProvider) => number;