@unchainedshop/core-warehousing 3.1.13 → 4.0.0-rc.10

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 (34) hide show
  1. package/lib/db/TokenSurrogateCollection.d.ts +2 -2
  2. package/lib/db/TokenSurrogateCollection.d.ts.map +1 -1
  3. package/lib/db/TokenSurrogateCollection.js +2 -2
  4. package/lib/db/TokenSurrogateCollection.js.map +1 -1
  5. package/lib/db/WarehousingProvidersCollection.d.ts +2 -2
  6. package/lib/db/WarehousingProvidersCollection.d.ts.map +1 -1
  7. package/lib/module/configureWarehousingModule.d.ts +8 -7
  8. package/lib/module/configureWarehousingModule.d.ts.map +1 -1
  9. package/lib/module/configureWarehousingModule.js +13 -1
  10. package/lib/module/configureWarehousingModule.js.map +1 -1
  11. package/package.json +7 -5
  12. package/src/db/TokenSurrogateCollection.ts +4 -4
  13. package/src/db/WarehousingProvidersCollection.ts +1 -1
  14. package/src/module/configureWarehousingModule.ts +31 -8
  15. package/lib/db/WarehousingProvidersSchema.d.ts +0 -3
  16. package/lib/db/WarehousingProvidersSchema.d.ts.map +0 -1
  17. package/lib/db/WarehousingProvidersSchema.js +0 -12
  18. package/lib/db/WarehousingProvidersSchema.js.map +0 -1
  19. package/lib/director/WarehousingAdapter.d.ts +0 -3
  20. package/lib/director/WarehousingAdapter.d.ts.map +0 -1
  21. package/lib/director/WarehousingAdapter.js +0 -26
  22. package/lib/director/WarehousingAdapter.js.map +0 -1
  23. package/lib/director/WarehousingDirector.d.ts +0 -3
  24. package/lib/director/WarehousingDirector.d.ts.map +0 -1
  25. package/lib/director/WarehousingDirector.js +0 -143
  26. package/lib/director/WarehousingDirector.js.map +0 -1
  27. package/lib/director/WarehousingError.d.ts +0 -7
  28. package/lib/director/WarehousingError.d.ts.map +0 -1
  29. package/lib/director/WarehousingError.js +0 -8
  30. package/lib/director/WarehousingError.js.map +0 -1
  31. package/lib/director/WarehousingProviderType.d.ts +0 -5
  32. package/lib/director/WarehousingProviderType.d.ts.map +0 -1
  33. package/lib/director/WarehousingProviderType.js +0 -6
  34. package/lib/director/WarehousingProviderType.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { mongodb } from '@unchainedshop/mongodb';
2
- export type TokenSurrogate = {
2
+ export interface TokenSurrogate {
3
3
  _id?: string;
4
4
  userId?: string;
5
5
  walletAddress?: string;
@@ -12,7 +12,7 @@ export type TokenSurrogate = {
12
12
  productId: string;
13
13
  orderPositionId: string;
14
14
  meta: any;
15
- };
15
+ }
16
16
  export declare enum TokenStatus {
17
17
  CENTRALIZED = "CENTRALIZED",
18
18
  EXPORTING = "EXPORTING",
@@ -1 +1 @@
1
- {"version":3,"file":"TokenSurrogateCollection.d.ts","sourceRoot":"","sources":["../../src/db/TokenSurrogateCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,oBAAY,WAAW;IACrB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;CAChC;AAED,eAAO,MAAM,wBAAwB,GAAU,IAAI,OAAO,CAAC,EAAE,gDAiD5D,CAAC"}
1
+ {"version":3,"file":"TokenSurrogateCollection.d.ts","sourceRoot":"","sources":["../../src/db/TokenSurrogateCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiD,MAAM,wBAAwB,CAAC;AAEhG,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,oBAAY,WAAW;IACrB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;CAChC;AAED,eAAO,MAAM,wBAAwB,GAAU,IAAI,OAAO,CAAC,EAAE,gDAiD5D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { buildDbIndexes } from '@unchainedshop/mongodb';
1
+ import { buildDbIndexes, isDocumentDBCompatModeEnabled } from '@unchainedshop/mongodb';
2
2
  export var TokenStatus;
3
3
  (function (TokenStatus) {
4
4
  TokenStatus["CENTRALIZED"] = "CENTRALIZED";
@@ -28,7 +28,7 @@ export const TokenSurrogateCollection = async (db) => {
28
28
  orderPositionId: 1,
29
29
  },
30
30
  },
31
- {
31
+ !isDocumentDBCompatModeEnabled() && {
32
32
  index: {
33
33
  chainTokenId: 'text',
34
34
  userId: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"TokenSurrogateCollection.js","sourceRoot":"","sources":["../../src/db/TokenSurrogateCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAiBjE,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,sCAAuB,CAAA;IACvB,8CAA+B,CAAA;AACjC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAC/D,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAiB,kBAAkB,CAAC,CAAC;IAE1E,MAAM,cAAc,CAAiB,eAAe,EAAE;QACpD;YACE,KAAK,EAAE;gBACL,YAAY,EAAE,CAAC;aAChB;SACF;QACD;YACE,KAAK,EAAE;gBACL,MAAM,EAAE,CAAC;aACV;SACF;QACD;YACE,KAAK,EAAE;gBACL,SAAS,EAAE,CAAC;aACb;SACF;QACD;YACE,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;aACnB;SACF;QACD;YACE,KAAK,EAAE;gBACL,YAAY,EAAE,MAAM;gBACpB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,MAAM;gBACjB,GAAG,EAAE,MAAM;gBACX,aAAa,EAAE,MAAM;gBACrB,eAAe,EAAE,MAAM;aACjB;YACR,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,GAAG,EAAE,CAAC;oBACN,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;oBACZ,eAAe,EAAE,CAAC;oBAClB,aAAa,EAAE,CAAC;oBAChB,MAAM,EAAE,CAAC;iBACV;gBACD,IAAI,EAAE,uBAAuB;aAC9B;SACF;KACF,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"TokenSurrogateCollection.js","sourceRoot":"","sources":["../../src/db/TokenSurrogateCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAiBhG,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,sCAAuB,CAAA;IACvB,8CAA+B,CAAA;AACjC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IAC/D,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAiB,kBAAkB,CAAC,CAAC;IAE1E,MAAM,cAAc,CAAiB,eAAe,EAAE;QACpD;YACE,KAAK,EAAE;gBACL,YAAY,EAAE,CAAC;aAChB;SACF;QACD;YACE,KAAK,EAAE;gBACL,MAAM,EAAE,CAAC;aACV;SACF;QACD;YACE,KAAK,EAAE;gBACL,SAAS,EAAE,CAAC;aACb;SACF;QACD;YACE,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;aACnB;SACF;QACD,CAAC,6BAA6B,EAAE,IAAI;YAClC,KAAK,EAAE;gBACL,YAAY,EAAE,MAAM;gBACpB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,MAAM;gBACjB,GAAG,EAAE,MAAM;gBACX,aAAa,EAAE,MAAM;gBACrB,eAAe,EAAE,MAAM;aACjB;YACR,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,GAAG,EAAE,CAAC;oBACN,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;oBACZ,eAAe,EAAE,CAAC;oBAClB,aAAa,EAAE,CAAC;oBAChB,MAAM,EAAE,CAAC;iBACV;gBACD,IAAI,EAAE,uBAAuB;aAC9B;SACF;KACF,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC"}
@@ -3,10 +3,10 @@ export declare enum WarehousingProviderType {
3
3
  PHYSICAL = "PHYSICAL",
4
4
  VIRTUAL = "VIRTUAL"
5
5
  }
6
- export type WarehousingConfiguration = Array<{
6
+ export type WarehousingConfiguration = {
7
7
  key: string;
8
8
  value: string;
9
- }>;
9
+ }[];
10
10
  export type WarehousingProvider = {
11
11
  _id?: string;
12
12
  type: WarehousingProviderType;
@@ -1 +1 @@
1
- {"version":3,"file":"WarehousingProvidersCollection.d.ts","sourceRoot":"","sources":["../../src/db/WarehousingProvidersCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAElF,oBAAY,uBAAuB;IACjC,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;CACzC,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,8BAA8B,GAAU,IAAI,OAAO,CAAC,EAAE,qDAsBlE,CAAC"}
1
+ {"version":3,"file":"WarehousingProvidersCollection.d.ts","sourceRoot":"","sources":["../../src/db/WarehousingProvidersCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAElF,oBAAY,uBAAuB;IACjC,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,wBAAwB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;CACzC,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,8BAA8B,GAAU,IAAI,OAAO,CAAC,EAAE,qDAsBlE,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { mongodb, ModuleInput } from '@unchainedshop/mongodb';
2
2
  import { WarehousingProvider, WarehousingProviderType } from '../db/WarehousingProvidersCollection.js';
3
3
  import { TokenSurrogate } from '../db/TokenSurrogateCollection.js';
4
- type WarehousingProviderQuery = {
4
+ interface WarehousingProviderQuery {
5
5
  type?: WarehousingProviderType;
6
- };
7
- type TokenQuery = {
6
+ }
7
+ interface TokenQuery {
8
8
  queryString?: string;
9
9
  userId?: string;
10
- };
10
+ }
11
11
  export declare const buildFindSelector: ({ type }?: WarehousingProviderQuery) => {
12
12
  type: WarehousingProviderType;
13
13
  deleted: any;
@@ -25,14 +25,15 @@ export declare const configureWarehousingModule: ({ db }: ModuleInput<Record<str
25
25
  findToken: ({ tokenId }: {
26
26
  tokenId: string;
27
27
  }, options?: mongodb.FindOptions) => Promise<TokenSurrogate>;
28
- findTokens: (selector: any, options?: mongodb.FindOptions) => Promise<Array<TokenSurrogate>>;
28
+ findTokens: (selector: any, options?: mongodb.FindOptions) => Promise<TokenSurrogate[]>;
29
29
  tokensCount: (selector?: any) => Promise<number>;
30
30
  findTokensForUser: (params: {
31
31
  userId: string;
32
32
  } | {
33
33
  walletAddresses: string[];
34
- }, options?: mongodb.FindOptions) => Promise<Array<TokenSurrogate>>;
35
- findProviders: (query: WarehousingProviderQuery, options?: mongodb.FindOptions) => Promise<Array<WarehousingProvider>>;
34
+ }, options?: mongodb.FindOptions) => Promise<TokenSurrogate[]>;
35
+ findProviders: (query: WarehousingProviderQuery, options?: mongodb.FindOptions) => Promise<WarehousingProvider[]>;
36
+ allProviders: () => Promise<mongodb.WithId<WarehousingProvider>[]>;
36
37
  providerExists: ({ warehousingProviderId, }: {
37
38
  warehousingProviderId: string;
38
39
  }) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"configureWarehousingModule.d.ts","sourceRoot":"","sources":["../../src/module/configureWarehousingModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAA4B,MAAM,mCAAmC,CAAC;AAE7F,KAAK,wBAAwB,GAAG;IAC9B,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF,eAAO,MAAM,iBAAiB,GAAI,WAAU,wBAA6B;;;;;;CAGxE,CAAC;AACF,eAAO,MAAM,sBAAsB,GAAI,0BAA0B,UAAU,mCAO1E,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAU,QAAQ,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;mBAQlE,wBAAwB,KAAG,OAAO,CAAC,MAAM,CAAC;2BAKlC,cAAc,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;8CAKhC;QAAE,qBAAqB,EAAE,MAAM,CAAA;KAAE,YAClD,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,mBAAmB,CAAC;6BAKhB;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,YACtB,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,cAAc,CAAC;2BAIG,GAAG,YAAY,OAAO,CAAC,WAAW,KAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;6BAIlE,GAAG,KAAQ,OAAO,CAAC,MAAM,CAAC;gCAM9C;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,YAChD,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;2BAoBxB,wBAAwB,YACtB,OAAO,CAAC,WAAW,KAC3B,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;iDAOnC;QACD,qBAAqB,EAAE,MAAM,CAAC;KAC/B,KAAG,OAAO,CAAC,OAAO,CAAC;gEAYjB;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;KACvB,KAAG,OAAO,CAAC,cAAc,CAAC;+BAeM,MAAM,KAAG,OAAO,CAAC,cAAc,CAAC;sCAkBzB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;kBAgB5C,mBAAmB,KAAG,OAAO,CAAC,mBAAmB,CAAC;oCAYhC,MAAM,OAAO,OAAO,CAAC,mBAAmB,CAAC;yBAkBpD,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC;EAenE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"configureWarehousingModule.d.ts","sourceRoot":"","sources":["../../src/module/configureWarehousingModule.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,OAAO,EACP,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAA4B,MAAM,mCAAmC,CAAC;AAI7F,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC;AAED,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD,eAAO,MAAM,iBAAiB,GAAI,WAAU,wBAA6B;;;;;;CAGxE,CAAC;AACF,eAAO,MAAM,sBAAsB,GAAI,0BAA0B,UAAU,mCAQ1E,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAU,QAAQ,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;mBAQlE,wBAAwB,KAAG,OAAO,CAAC,MAAM,CAAC;2BAKlC,cAAc,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;8CAKhC;QAAE,qBAAqB,EAAE,MAAM,CAAA;KAAE,YAClD,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,mBAAmB,CAAC;6BAKhB;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,YACtB,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,cAAc,CAAC;2BAIG,GAAG,YAAY,OAAO,CAAC,WAAW,KAAG,OAAO,CAAC,cAAc,EAAE,CAAC;6BAI7D,GAAG,KAAQ,OAAO,CAAC,MAAM,CAAC;gCAM9C;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,YAChD,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,cAAc,EAAE,CAAC;2BAoBnB,wBAAwB,YACtB,OAAO,CAAC,WAAW,KAC3B,OAAO,CAAC,mBAAmB,EAAE,CAAC;;iDAgB9B;QACD,qBAAqB,EAAE,MAAM,CAAC;KAC/B,KAAG,OAAO,CAAC,OAAO,CAAC;gEAYjB;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;KACvB,KAAG,OAAO,CAAC,cAAc,CAAC;+BAeM,MAAM,KAAG,OAAO,CAAC,cAAc,CAAC;sCAkBzB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;kBAgB5C,mBAAmB,KAAG,OAAO,CAAC,mBAAmB,CAAC;oCAahC,MAAM,OAAO,OAAO,CAAC,mBAAmB,CAAC;yBAmBpD,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC;EAgBnE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { emit, registerEvents } from '@unchainedshop/events';
2
- import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
2
+ import { generateDbFilterById, generateDbObjectId, assertDocumentDBCompatMode, } from '@unchainedshop/mongodb';
3
3
  import { WarehousingProvidersCollection, } from '../db/WarehousingProvidersCollection.js';
4
4
  import { TokenSurrogateCollection } from '../db/TokenSurrogateCollection.js';
5
+ import pMemoize from 'p-memoize';
6
+ import ExpiryMap from 'expiry-map';
5
7
  const WAREHOUSING_PROVIDER_EVENTS = [
6
8
  'WAREHOUSING_PROVIDER_CREATE',
7
9
  'WAREHOUSING_PROVIDER_UPDATE',
@@ -9,6 +11,7 @@ const WAREHOUSING_PROVIDER_EVENTS = [
9
11
  'TOKEN_OWNERSHIP_CHANGED',
10
12
  'TOKEN_INVALIDATED',
11
13
  ];
14
+ const allProvidersCache = new ExpiryMap(process.env.NODE_ENV === 'production' ? 60000 : 1);
12
15
  export const buildFindSelector = ({ type } = {}) => {
13
16
  const query = type ? { type, deleted: null } : { deleted: null };
14
17
  return query;
@@ -16,6 +19,7 @@ export const buildFindSelector = ({ type } = {}) => {
16
19
  export const buildTokenFindSelector = ({ queryString, ...rest }) => {
17
20
  const selector = { ...(rest || {}) };
18
21
  if (queryString) {
22
+ assertDocumentDBCompatMode();
19
23
  selector.$text = { $search: queryString };
20
24
  }
21
25
  return selector;
@@ -67,6 +71,11 @@ export const configureWarehousingModule = async ({ db }) => {
67
71
  const providers = WarehousingProviders.find(buildFindSelector(query), options);
68
72
  return providers.toArray();
69
73
  },
74
+ allProviders: pMemoize(async function () {
75
+ return WarehousingProviders.find({ deleted: null }, { sort: { created: 1 } }).toArray();
76
+ }, {
77
+ cache: allProvidersCache,
78
+ }),
70
79
  providerExists: async ({ warehousingProviderId, }) => {
71
80
  const providerCount = await WarehousingProviders.countDocuments(generateDbFilterById(warehousingProviderId, { deleted: null }), { limit: 1 });
72
81
  return !!providerCount;
@@ -115,6 +124,7 @@ export const configureWarehousingModule = async ({ db }) => {
115
124
  ...doc,
116
125
  });
117
126
  const warehousingProvider = await WarehousingProviders.findOne({ _id: warehousingProviderId });
127
+ allProvidersCache.clear();
118
128
  await emit('WAREHOUSING_PROVIDER_CREATE', { warehousingProvider });
119
129
  return warehousingProvider;
120
130
  },
@@ -127,6 +137,7 @@ export const configureWarehousingModule = async ({ db }) => {
127
137
  }, { returnDocument: 'after' });
128
138
  if (!warehousingProvider)
129
139
  return null;
140
+ allProvidersCache.clear();
130
141
  await emit('WAREHOUSING_PROVIDER_UPDATE', { warehousingProvider });
131
142
  return warehousingProvider;
132
143
  },
@@ -136,6 +147,7 @@ export const configureWarehousingModule = async ({ db }) => {
136
147
  deleted: new Date(),
137
148
  },
138
149
  }, { returnDocument: 'after' });
150
+ allProvidersCache.clear();
139
151
  await emit('WAREHOUSING_PROVIDER_REMOVE', { warehousingProvider });
140
152
  return warehousingProvider;
141
153
  },
@@ -1 +1 @@
1
- {"version":3,"file":"configureWarehousingModule.js","sourceRoot":"","sources":["../../src/module/configureWarehousingModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAwB,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAEL,8BAA8B,GAE/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAkB,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAW7F,MAAM,2BAA2B,GAAa;IAC5C,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,yBAAyB;IACzB,mBAAmB;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,IAAI,KAA+B,EAAE,EAAE,EAAE;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,EAAc,EAAE,EAAE;IAC7E,MAAM,QAAQ,GAAmC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;IACrE,IAAI,WAAW,EAAE,CAAC;QACf,QAAgB,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAAE,EAAE,EAAsC,EAAE,EAAE;IAC7F,cAAc,CAAC,2BAA2B,CAAC,CAAC;IAE5C,MAAM,oBAAoB,GAAG,MAAM,8BAA8B,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAE3D,OAAO;QACL,UAAU;QACV,KAAK,EAAE,KAAK,EAAE,KAA+B,EAAmB,EAAE;YAChE,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,YAAY,EAAE,KAAK,EAAE,MAAwB,EAAiB,EAAE;YAC9D,MAAM,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,YAAY,EAAE,KAAK,EACjB,EAAE,qBAAqB,EAAqC,EAC5D,OAA6B,EACC,EAAE;YAChC,OAAO,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5F,CAAC;QAED,SAAS,EAAE,KAAK,EACd,EAAE,OAAO,EAAuB,EAChC,OAA6B,EACJ,EAAE;YAC3B,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,QAAa,EAAE,OAA6B,EAAkC,EAAE;YACjG,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACnF,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,WAAgB,EAAE,EAAmB,EAAE;YACzD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,iBAAiB,EAAE,KAAK,EACtB,MAA0D,EAC1D,OAA6B,EACG,EAAE;YAClC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAa,CAAC;YAClD,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe;gBAC7B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACtF,MAAM,QAAQ,GAAG;gBACf,GAAG,EAAE;oBACH,eAAe,IAAI;wBACjB,aAAa,EAAE,EAAE,GAAG,EAAE,eAAe,IAAI,EAAE,EAAE;qBAC9C;oBACD,MAAM,IAAI;wBACR,MAAM;qBACP;iBACF,CAAC,MAAM,CAAC,OAAO,CAAC;aAClB,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3E,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,aAAa,EAAE,KAAK,EAClB,KAA+B,EAC/B,UAA+B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAClB,EAAE;YACvC,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,EACrB,qBAAqB,GAGtB,EAAoB,EAAE;YACrB,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAC7D,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC9D,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;YACF,OAAO,CAAC,CAAC,aAAa,CAAC;QACzB,CAAC;QAED,oBAAoB,EAAE,KAAK,EAAE,EAC3B,OAAO,EACP,MAAM,EACN,aAAa,GAKd,EAA2B,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAClD,EAAE,GAAG,EAAE,OAAO,EAAE,EAChB;gBACE,IAAI,EAAE;oBACJ,MAAM;oBACN,aAAa;iBACd;aACF,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;YACF,MAAM,IAAI,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,eAAe,EAAE,KAAK,EAAE,OAAe,EAA2B,EAAE;YAClE,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAClD,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,EACvC;gBACE,IAAI,EAAE;oBACJ,eAAe,EAAE,IAAI,IAAI,EAAE;iBAC5B;aACF,EACD;gBACE,cAAc,EAAE,OAAO;aACxB,CACF,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sBAAsB,EAAE,KAAK,EAAE,OAAe,EAAmB,EAAE;YACjE,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG;gBACd,KAAK,CAAC,GAAG;gBACT,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM;gBACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB;aAC7B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACX,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE/E,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,YAAY;QACZ,MAAM,EAAE,KAAK,EAAE,GAAwB,EAAgC,EAAE;YACvE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC;gBACjF,GAAG,EAAE,kBAAkB,EAAE;gBACzB,OAAO,EAAE,IAAI,IAAI,EAAE;gBACnB,GAAG,GAAG;aACP,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC/F,MAAM,IAAI,CAAC,6BAA6B,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,qBAA6B,EAAE,GAAiC,EAAE,EAAE;YACjF,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CACrE,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAC9B;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,IAAI,EAAE;oBACnB,GAAG,GAAG;iBACP;aACF,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;YAEF,IAAI,CAAC,mBAAmB;gBAAE,OAAO,IAAI,CAAC;YAEtC,MAAM,IAAI,CAAC,6BAA6B,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,UAAkB,EAAgC,EAAE;YACjE,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CACrE,oBAAoB,CAAC,UAAU,CAAC,EAChC;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,IAAI,EAAE;iBACpB;aACF,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;YAEF,MAAM,IAAI,CAAC,6BAA6B,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnE,OAAO,mBAAmB,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"configureWarehousingModule.js","sourceRoot":"","sources":["../../src/module/configureWarehousingModule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-warehousing",
3
- "version": "3.1.13",
3
+ "version": "4.0.0-rc.10",
4
4
  "main": "lib/warehousing-index.js",
5
5
  "types": "lib/warehousing-index.d.ts",
6
6
  "type": "module",
@@ -31,12 +31,14 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/events": "^3.1.13",
35
- "@unchainedshop/logger": "^3.1.13",
36
- "@unchainedshop/utils": "^3.1.13"
34
+ "@unchainedshop/events": "^4.0.0-rc.4",
35
+ "@unchainedshop/logger": "^4.0.0-rc.4",
36
+ "@unchainedshop/utils": "^4.0.0-rc.4",
37
+ "expiry-map": "^2.0.0",
38
+ "p-memoize": "^7.1.1"
37
39
  },
38
40
  "devDependencies": {
39
- "@types/node": "^24.0.4",
41
+ "@types/node": "^24.0.13",
40
42
  "tsx": "^4.20.3",
41
43
  "typescript": "^5.8.3"
42
44
  }
@@ -1,6 +1,6 @@
1
- import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
1
+ import { mongodb, buildDbIndexes, isDocumentDBCompatModeEnabled } from '@unchainedshop/mongodb';
2
2
 
3
- export type TokenSurrogate = {
3
+ export interface TokenSurrogate {
4
4
  _id?: string;
5
5
  userId?: string;
6
6
  walletAddress?: string;
@@ -13,7 +13,7 @@ export type TokenSurrogate = {
13
13
  productId: string;
14
14
  orderPositionId: string;
15
15
  meta: any;
16
- };
16
+ }
17
17
 
18
18
  export enum TokenStatus {
19
19
  CENTRALIZED = 'CENTRALIZED',
@@ -45,7 +45,7 @@ export const TokenSurrogateCollection = async (db: mongodb.Db) => {
45
45
  orderPositionId: 1,
46
46
  },
47
47
  },
48
- {
48
+ !isDocumentDBCompatModeEnabled() && {
49
49
  index: {
50
50
  chainTokenId: 'text',
51
51
  userId: 'text',
@@ -5,7 +5,7 @@ export enum WarehousingProviderType {
5
5
  VIRTUAL = 'VIRTUAL',
6
6
  }
7
7
 
8
- export type WarehousingConfiguration = Array<{ key: string; value: string }>;
8
+ export type WarehousingConfiguration = { key: string; value: string }[];
9
9
 
10
10
  export type WarehousingProvider = {
11
11
  _id?: string;
@@ -1,20 +1,28 @@
1
1
  import { emit, registerEvents } from '@unchainedshop/events';
2
- import { generateDbFilterById, generateDbObjectId, mongodb, ModuleInput } from '@unchainedshop/mongodb';
2
+ import {
3
+ generateDbFilterById,
4
+ generateDbObjectId,
5
+ mongodb,
6
+ ModuleInput,
7
+ assertDocumentDBCompatMode,
8
+ } from '@unchainedshop/mongodb';
3
9
  import {
4
10
  WarehousingProvider,
5
11
  WarehousingProvidersCollection,
6
12
  WarehousingProviderType,
7
13
  } from '../db/WarehousingProvidersCollection.js';
8
14
  import { TokenSurrogate, TokenSurrogateCollection } from '../db/TokenSurrogateCollection.js';
15
+ import pMemoize from 'p-memoize';
16
+ import ExpiryMap from 'expiry-map';
9
17
 
10
- type WarehousingProviderQuery = {
18
+ interface WarehousingProviderQuery {
11
19
  type?: WarehousingProviderType;
12
- };
20
+ }
13
21
 
14
- type TokenQuery = {
22
+ interface TokenQuery {
15
23
  queryString?: string;
16
24
  userId?: string;
17
- };
25
+ }
18
26
 
19
27
  const WAREHOUSING_PROVIDER_EVENTS: string[] = [
20
28
  'WAREHOUSING_PROVIDER_CREATE',
@@ -24,6 +32,8 @@ const WAREHOUSING_PROVIDER_EVENTS: string[] = [
24
32
  'TOKEN_INVALIDATED',
25
33
  ];
26
34
 
35
+ const allProvidersCache = new ExpiryMap(process.env.NODE_ENV === 'production' ? 60000 : 1);
36
+
27
37
  export const buildFindSelector = ({ type }: WarehousingProviderQuery = {}) => {
28
38
  const query = type ? { type, deleted: null } : { deleted: null };
29
39
  return query;
@@ -31,6 +41,7 @@ export const buildFindSelector = ({ type }: WarehousingProviderQuery = {}) => {
31
41
  export const buildTokenFindSelector = ({ queryString, ...rest }: TokenQuery) => {
32
42
  const selector: mongodb.Filter<TokenSurrogate> = { ...(rest || {}) };
33
43
  if (queryString) {
44
+ assertDocumentDBCompatMode();
34
45
  (selector as any).$text = { $search: queryString };
35
46
  }
36
47
 
@@ -68,7 +79,7 @@ export const configureWarehousingModule = async ({ db }: ModuleInput<Record<stri
68
79
  return TokenSurrogates.findOne({ _id: tokenId }, options);
69
80
  },
70
81
 
71
- findTokens: async (selector: any, options?: mongodb.FindOptions): Promise<Array<TokenSurrogate>> => {
82
+ findTokens: async (selector: any, options?: mongodb.FindOptions): Promise<TokenSurrogate[]> => {
72
83
  return TokenSurrogates.find(buildTokenFindSelector(selector), options).toArray();
73
84
  },
74
85
 
@@ -80,7 +91,7 @@ export const configureWarehousingModule = async ({ db }: ModuleInput<Record<stri
80
91
  findTokensForUser: async (
81
92
  params: { userId: string } | { walletAddresses: string[] },
82
93
  options?: mongodb.FindOptions,
83
- ): Promise<Array<TokenSurrogate>> => {
94
+ ): Promise<TokenSurrogate[]> => {
84
95
  const { userId, walletAddresses } = params as any;
85
96
  if (!userId && !walletAddresses)
86
97
  throw new Error('userId or walletAddresses must be provided for findTokensForUser');
@@ -102,11 +113,20 @@ export const configureWarehousingModule = async ({ db }: ModuleInput<Record<stri
102
113
  findProviders: async (
103
114
  query: WarehousingProviderQuery,
104
115
  options: mongodb.FindOptions = { sort: { created: 1 } },
105
- ): Promise<Array<WarehousingProvider>> => {
116
+ ): Promise<WarehousingProvider[]> => {
106
117
  const providers = WarehousingProviders.find(buildFindSelector(query), options);
107
118
  return providers.toArray();
108
119
  },
109
120
 
121
+ allProviders: pMemoize(
122
+ async function () {
123
+ return WarehousingProviders.find({ deleted: null }, { sort: { created: 1 } }).toArray();
124
+ },
125
+ {
126
+ cache: allProvidersCache,
127
+ },
128
+ ),
129
+
110
130
  providerExists: async ({
111
131
  warehousingProviderId,
112
132
  }: {
@@ -184,6 +204,7 @@ export const configureWarehousingModule = async ({ db }: ModuleInput<Record<stri
184
204
  });
185
205
 
186
206
  const warehousingProvider = await WarehousingProviders.findOne({ _id: warehousingProviderId });
207
+ allProvidersCache.clear();
187
208
  await emit('WAREHOUSING_PROVIDER_CREATE', { warehousingProvider });
188
209
  return warehousingProvider;
189
210
  },
@@ -202,6 +223,7 @@ export const configureWarehousingModule = async ({ db }: ModuleInput<Record<stri
202
223
 
203
224
  if (!warehousingProvider) return null;
204
225
 
226
+ allProvidersCache.clear();
205
227
  await emit('WAREHOUSING_PROVIDER_UPDATE', { warehousingProvider });
206
228
  return warehousingProvider;
207
229
  },
@@ -217,6 +239,7 @@ export const configureWarehousingModule = async ({ db }: ModuleInput<Record<stri
217
239
  { returnDocument: 'after' },
218
240
  );
219
241
 
242
+ allProvidersCache.clear();
220
243
  await emit('WAREHOUSING_PROVIDER_REMOVE', { warehousingProvider });
221
244
  return warehousingProvider;
222
245
  },
@@ -1,3 +0,0 @@
1
- import SimpleSchema from 'simpl-schema';
2
- export declare const WarehousingProvidersSchema: SimpleSchema;
3
- //# sourceMappingURL=WarehousingProvidersSchema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingProvidersSchema.d.ts","sourceRoot":"","sources":["../../src/db/WarehousingProvidersSchema.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,cAAc,CAAC;AAGxC,eAAO,MAAM,0BAA0B,cAWtC,CAAC"}
@@ -1,12 +0,0 @@
1
- import SimpleSchema from 'simpl-schema';
2
- import { Schemas } from '@unchainedshop/utils';
3
- export const WarehousingProvidersSchema = new SimpleSchema({
4
- type: { type: String, required: true },
5
- adapterKey: { type: String, required: true },
6
- configuration: Array,
7
- 'configuration.$': Object,
8
- 'configuration.$.key': String,
9
- 'configuration.$.value': String,
10
- ...Schemas.timestampFields,
11
- }, { requiredByDefault: false });
12
- //# sourceMappingURL=WarehousingProvidersSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingProvidersSchema.js","sourceRoot":"","sources":["../../src/db/WarehousingProvidersSchema.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,YAAY,CACxD;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,KAAK;IACpB,iBAAiB,EAAE,MAAM;IACzB,qBAAqB,EAAE,MAAM;IAC7B,uBAAuB,EAAE,MAAM;IAC/B,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
@@ -1,3 +0,0 @@
1
- import { IWarehousingAdapter } from '@unchainedshop/types/warehousing.js';
2
- export declare const WarehousingAdapter: Omit<IWarehousingAdapter, 'key' | 'label' | 'version'>;
3
- //# sourceMappingURL=WarehousingAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingAdapter.d.ts","sourceRoot":"","sources":["../../src/director/WarehousingAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK1E,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAiCrF,CAAC"}
@@ -1,26 +0,0 @@
1
- import { log, LogLevel } from '@unchainedshop/logger';
2
- import { WarehousingError } from './WarehousingError.js';
3
- export const WarehousingAdapter = {
4
- orderIndex: 0,
5
- typeSupported: () => {
6
- return false;
7
- },
8
- initialConfiguration: [],
9
- actions: () => {
10
- return {
11
- configurationError: () => WarehousingError.NOT_IMPLEMENTED,
12
- isActive: () => false,
13
- stock: async () => 0,
14
- productionTime: async () => 0,
15
- commissioningTime: async () => 0,
16
- tokenize: async () => [],
17
- tokenMetadata: async () => ({}),
18
- isInvalidateable: async () => true,
19
- };
20
- },
21
- log(message, { level = LogLevel.Debug, ...options } = {}) {
22
- // eslint-disable-line
23
- return log(message, { level, ...options });
24
- },
25
- };
26
- //# sourceMappingURL=WarehousingAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingAdapter.js","sourceRoot":"","sources":["../../src/director/WarehousingAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAA2D;IACxF,UAAU,EAAE,CAAC;IAEb,aAAa,EAAE,GAAG,EAAE;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oBAAoB,EAAE,EAAE;IAExB,OAAO,EAAE,GAAG,EAAE;QACZ,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe;YAE1D,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YAErB,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAEpB,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAE7B,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAEhC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;YAExB,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAE/B,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;SACnC,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QACtD,sBAAsB;QACtB,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { IWarehousingDirector } from '@unchainedshop/types/warehousing.js';
2
- export declare const WarehousingDirector: IWarehousingDirector;
3
- //# sourceMappingURL=WarehousingDirector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingDirector.d.ts","sourceRoot":"","sources":["../../src/director/WarehousingDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAErB,MAAM,qCAAqC,CAAC;AAc7C,eAAO,MAAM,mBAAmB,EAAE,oBA0IjC,CAAC"}
@@ -1,143 +0,0 @@
1
- import { DeliveryDirector } from '@unchainedshop/core-delivery';
2
- import { log, LogLevel } from '@unchainedshop/logger';
3
- import { BaseDirector } from '@unchainedshop/utils';
4
- import { WarehousingError } from './WarehousingError.js';
5
- const getReferenceDate = (context) => {
6
- return context && context.referenceDate ? context.referenceDate : new Date();
7
- };
8
- const baseDirector = BaseDirector('WarehousingDirector', {
9
- adapterSortKey: 'orderIndex',
10
- });
11
- export const WarehousingDirector = {
12
- ...baseDirector,
13
- actions: async (warehousingProvider, warehousingContext, unchainedAPI) => {
14
- const Adapter = baseDirector.getAdapter(warehousingProvider.adapterKey);
15
- if (!Adapter) {
16
- throw new Error(`Warehousing Plugin ${warehousingProvider.adapterKey} not available`);
17
- }
18
- const context = {
19
- warehousingProviderId: warehousingProvider._id,
20
- ...warehousingContext,
21
- ...unchainedAPI,
22
- };
23
- const adapter = Adapter.actions(warehousingProvider.configuration, context);
24
- const throughputTime = async (referenceDate) => {
25
- try {
26
- const { quantity } = context;
27
- const stock = await adapter.stock(referenceDate);
28
- const notInStockQuantity = Math.max(quantity - stock, 0);
29
- const productionTime = await adapter.productionTime(notInStockQuantity);
30
- const commissioningTime = await adapter.commissioningTime(quantity);
31
- return Math.max(commissioningTime + productionTime, 0);
32
- }
33
- catch (error) {
34
- log(error.message, { level: LogLevel.Error, ...error });
35
- return NaN;
36
- }
37
- };
38
- return {
39
- configurationError: () => {
40
- try {
41
- const error = adapter.configurationError();
42
- return error;
43
- }
44
- catch {
45
- return WarehousingError.ADAPTER_NOT_FOUND;
46
- }
47
- },
48
- isActive: () => {
49
- try {
50
- return adapter.isActive();
51
- }
52
- catch (error) {
53
- log(error.message, { level: LogLevel.Error });
54
- return false;
55
- }
56
- },
57
- estimatedStock: async () => {
58
- try {
59
- const referenceDate = getReferenceDate(context);
60
- const quantity = await adapter.stock(referenceDate);
61
- return {
62
- quantity,
63
- };
64
- }
65
- catch (error) {
66
- log(error.message, { level: LogLevel.Error, ...error });
67
- return null;
68
- }
69
- },
70
- estimatedDispatch: async () => {
71
- try {
72
- const { deliveryProvider } = context;
73
- const referenceDate = getReferenceDate(context);
74
- const warehousingThroughputTime = await throughputTime(referenceDate);
75
- if (!Number.isFinite(warehousingThroughputTime)) {
76
- return {
77
- shipping: null,
78
- earliestDelivery: null,
79
- };
80
- }
81
- // Calculate shipping date
82
- const shippingTimestamp = referenceDate.getTime() + warehousingThroughputTime;
83
- const shipping = new Date(shippingTimestamp);
84
- // Calculate earliest delivery date
85
- const actions = await DeliveryDirector.actions(deliveryProvider, context, unchainedAPI);
86
- const deliveryThroughputTime = await actions.estimatedDeliveryThroughput(warehousingThroughputTime);
87
- const earliestDelivery = Number.isFinite(deliveryThroughputTime)
88
- ? new Date(shippingTimestamp + deliveryThroughputTime)
89
- : null;
90
- return {
91
- shipping,
92
- earliestDelivery,
93
- };
94
- }
95
- catch (error) {
96
- log(error.message, { level: LogLevel.Error, ...error });
97
- return {};
98
- }
99
- },
100
- tokenMetadata: async (chainTokenId) => {
101
- try {
102
- const referenceDate = getReferenceDate(context);
103
- const tokenMetadata = await adapter.tokenMetadata(chainTokenId, referenceDate);
104
- return tokenMetadata;
105
- }
106
- catch (error) {
107
- log(error.message, { level: LogLevel.Error, ...error });
108
- return {};
109
- }
110
- },
111
- isInvalidateable: async (chainTokenId) => {
112
- try {
113
- const referenceDate = getReferenceDate(context);
114
- const isInvalidateable = await adapter.isInvalidateable(chainTokenId, referenceDate);
115
- return isInvalidateable;
116
- }
117
- catch (error) {
118
- log(error.message, { level: LogLevel.Error, ...error });
119
- return false;
120
- }
121
- },
122
- tokenize: async () => {
123
- try {
124
- const tokens = await adapter.tokenize();
125
- const { order, orderPosition } = warehousingContext;
126
- return tokens.map((token) => {
127
- return {
128
- ...token,
129
- userId: order.userId,
130
- productId: orderPosition.productId,
131
- orderPositionId: orderPosition._id,
132
- };
133
- });
134
- }
135
- catch (error) {
136
- log(error.message, { level: LogLevel.Error, ...error });
137
- return [];
138
- }
139
- },
140
- };
141
- },
142
- };
143
- //# sourceMappingURL=WarehousingDirector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingDirector.js","sourceRoot":"","sources":["../../src/director/WarehousingDirector.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export declare enum WarehousingError {
2
- ADAPTER_NOT_FOUND = "ADAPTER_NOT_FOUND",
3
- NOT_IMPLEMENTED = "NOT_IMPLEMENTED",
4
- INCOMPLETE_CONFIGURATION = "INCOMPLETE_CONFIGURATION",
5
- WRONG_CREDENTIALS = "WRONG_CREDENTIALS"
6
- }
7
- //# sourceMappingURL=WarehousingError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingError.d.ts","sourceRoot":"","sources":["../../src/director/WarehousingError.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,wBAAwB,6BAA6B;IACrD,iBAAiB,sBAAsB;CACxC"}
@@ -1,8 +0,0 @@
1
- export var WarehousingError;
2
- (function (WarehousingError) {
3
- WarehousingError["ADAPTER_NOT_FOUND"] = "ADAPTER_NOT_FOUND";
4
- WarehousingError["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
5
- WarehousingError["INCOMPLETE_CONFIGURATION"] = "INCOMPLETE_CONFIGURATION";
6
- WarehousingError["WRONG_CREDENTIALS"] = "WRONG_CREDENTIALS";
7
- })(WarehousingError || (WarehousingError = {}));
8
- //# sourceMappingURL=WarehousingError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingError.js","sourceRoot":"","sources":["../../src/director/WarehousingError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,uDAAmC,CAAA;IACnC,yEAAqD,CAAA;IACrD,2DAAuC,CAAA;AACzC,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
@@ -1,5 +0,0 @@
1
- export declare enum WarehousingProviderType {
2
- PHYSICAL = "PHYSICAL",
3
- VIRTUAL = "VIRTUAL"
4
- }
5
- //# sourceMappingURL=WarehousingProviderType.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingProviderType.d.ts","sourceRoot":"","sources":["../../src/director/WarehousingProviderType.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB;IACjC,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
@@ -1,6 +0,0 @@
1
- export var WarehousingProviderType;
2
- (function (WarehousingProviderType) {
3
- WarehousingProviderType["PHYSICAL"] = "PHYSICAL";
4
- WarehousingProviderType["VIRTUAL"] = "VIRTUAL";
5
- })(WarehousingProviderType || (WarehousingProviderType = {}));
6
- //# sourceMappingURL=WarehousingProviderType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarehousingProviderType.js","sourceRoot":"","sources":["../../src/director/WarehousingProviderType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,gDAAqB,CAAA;IACrB,8CAAmB,CAAA;AACrB,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC"}