@unchainedshop/api 3.0.0-rc9 → 3.0.0

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 (172) hide show
  1. package/lib/api-index.d.ts +3 -2
  2. package/lib/api-index.d.ts.map +1 -1
  3. package/lib/api-index.js +3 -2
  4. package/lib/api-index.js.map +1 -1
  5. package/lib/context.d.ts +16 -21
  6. package/lib/context.d.ts.map +1 -1
  7. package/lib/context.js +2 -2
  8. package/lib/context.js.map +1 -1
  9. package/lib/errors.d.ts +1 -0
  10. package/lib/errors.d.ts.map +1 -1
  11. package/lib/errors.js +1 -0
  12. package/lib/errors.js.map +1 -1
  13. package/lib/express/createBulkImportMiddleware.d.ts.map +1 -1
  14. package/lib/express/createBulkImportMiddleware.js +3 -3
  15. package/lib/express/createBulkImportMiddleware.js.map +1 -1
  16. package/lib/express/createERCMetadataMiddleware.d.ts.map +1 -1
  17. package/lib/express/createERCMetadataMiddleware.js +9 -8
  18. package/lib/express/createERCMetadataMiddleware.js.map +1 -1
  19. package/lib/express/index.d.ts +2 -0
  20. package/lib/express/index.d.ts.map +1 -1
  21. package/lib/express/index.js +11 -2
  22. package/lib/express/index.js.map +1 -1
  23. package/lib/fastify/ercMetadataHandler.d.ts.map +1 -1
  24. package/lib/fastify/ercMetadataHandler.js +2 -1
  25. package/lib/fastify/ercMetadataHandler.js.map +1 -1
  26. package/lib/fastify/index.d.ts +4 -1
  27. package/lib/fastify/index.d.ts.map +1 -1
  28. package/lib/fastify/index.js +47 -15
  29. package/lib/fastify/index.js.map +1 -1
  30. package/lib/loaders/index.d.ts +103 -59
  31. package/lib/loaders/index.d.ts.map +1 -1
  32. package/lib/loaders/index.js +173 -111
  33. package/lib/loaders/index.js.map +1 -1
  34. package/lib/locale-context.d.ts +1 -6
  35. package/lib/locale-context.d.ts.map +1 -1
  36. package/lib/locale-context.js +2 -4
  37. package/lib/locale-context.js.map +1 -1
  38. package/lib/resolvers/mutations/accounts/createUser.js +1 -1
  39. package/lib/resolvers/mutations/accounts/createUser.js.map +1 -1
  40. package/lib/resolvers/mutations/accounts/impersonate.d.ts +9 -0
  41. package/lib/resolvers/mutations/accounts/impersonate.d.ts.map +1 -0
  42. package/lib/resolvers/mutations/accounts/impersonate.js +17 -0
  43. package/lib/resolvers/mutations/accounts/impersonate.js.map +1 -0
  44. package/lib/resolvers/mutations/accounts/loginAsGuest.js +1 -1
  45. package/lib/resolvers/mutations/accounts/loginAsGuest.js.map +1 -1
  46. package/lib/resolvers/mutations/accounts/loginWithPassword.js +1 -1
  47. package/lib/resolvers/mutations/accounts/loginWithPassword.js.map +1 -1
  48. package/lib/resolvers/mutations/accounts/loginWithWebAuthn.js +1 -1
  49. package/lib/resolvers/mutations/accounts/loginWithWebAuthn.js.map +1 -1
  50. package/lib/resolvers/mutations/accounts/resetPassword.js +1 -1
  51. package/lib/resolvers/mutations/accounts/resetPassword.js.map +1 -1
  52. package/lib/resolvers/mutations/accounts/stopImpersonation.d.ts +6 -0
  53. package/lib/resolvers/mutations/accounts/stopImpersonation.d.ts.map +1 -0
  54. package/lib/resolvers/mutations/accounts/stopImpersonation.js +14 -0
  55. package/lib/resolvers/mutations/accounts/stopImpersonation.js.map +1 -0
  56. package/lib/resolvers/mutations/accounts/verifyEmail.js +1 -1
  57. package/lib/resolvers/mutations/accounts/verifyEmail.js.map +1 -1
  58. package/lib/resolvers/mutations/assortments/removeAssortmentProduct.js +1 -1
  59. package/lib/resolvers/mutations/assortments/removeAssortmentProduct.js.map +1 -1
  60. package/lib/resolvers/mutations/index.d.ts +2 -0
  61. package/lib/resolvers/mutations/index.d.ts.map +1 -1
  62. package/lib/resolvers/mutations/index.js +5 -1
  63. package/lib/resolvers/mutations/index.js.map +1 -1
  64. package/lib/resolvers/mutations/products/removeProductReviewVote.d.ts +1 -1
  65. package/lib/resolvers/mutations/products/removeProductReviewVote.d.ts.map +1 -1
  66. package/lib/resolvers/mutations/users/addPushSubscription.d.ts.map +1 -1
  67. package/lib/resolvers/mutations/users/addPushSubscription.js +2 -1
  68. package/lib/resolvers/mutations/users/addPushSubscription.js.map +1 -1
  69. package/lib/resolvers/mutations/users/heartbeat.d.ts +1 -1
  70. package/lib/resolvers/mutations/users/heartbeat.d.ts.map +1 -1
  71. package/lib/resolvers/mutations/users/heartbeat.js +2 -2
  72. package/lib/resolvers/mutations/users/heartbeat.js.map +1 -1
  73. package/lib/resolvers/mutations/users/removePushSubscription.d.ts.map +1 -1
  74. package/lib/resolvers/mutations/users/removePushSubscription.js +2 -1
  75. package/lib/resolvers/mutations/users/removePushSubscription.js.map +1 -1
  76. package/lib/resolvers/queries/index.d.ts +3 -0
  77. package/lib/resolvers/queries/index.d.ts.map +1 -1
  78. package/lib/resolvers/queries/index.js +4 -0
  79. package/lib/resolvers/queries/index.js.map +1 -1
  80. package/lib/resolvers/queries/users/impersonator.d.ts +3 -0
  81. package/lib/resolvers/queries/users/impersonator.d.ts.map +1 -0
  82. package/lib/resolvers/queries/users/impersonator.js +8 -0
  83. package/lib/resolvers/queries/users/impersonator.js.map +1 -0
  84. package/lib/resolvers/queries/warehousing/tokens.d.ts +2 -1
  85. package/lib/resolvers/queries/warehousing/tokens.d.ts.map +1 -1
  86. package/lib/resolvers/queries/warehousing/tokens.js +2 -2
  87. package/lib/resolvers/queries/warehousing/tokens.js.map +1 -1
  88. package/lib/resolvers/queries/warehousing/tokensCount.d.ts +5 -0
  89. package/lib/resolvers/queries/warehousing/tokensCount.d.ts.map +1 -0
  90. package/lib/resolvers/queries/warehousing/tokensCount.js +6 -0
  91. package/lib/resolvers/queries/warehousing/tokensCount.js.map +1 -0
  92. package/lib/resolvers/type/assortment/assortment-path-link-types.d.ts +7 -9
  93. package/lib/resolvers/type/assortment/assortment-path-link-types.d.ts.map +1 -1
  94. package/lib/resolvers/type/assortment/assortment-path-link-types.js +9 -7
  95. package/lib/resolvers/type/assortment/assortment-path-link-types.js.map +1 -1
  96. package/lib/resolvers/type/assortment/assortment-types.d.ts +1 -1
  97. package/lib/resolvers/type/assortment/assortment-types.d.ts.map +1 -1
  98. package/lib/resolvers/type/assortment/assortment-types.js +9 -2
  99. package/lib/resolvers/type/assortment/assortment-types.js.map +1 -1
  100. package/lib/resolvers/type/index.d.ts +14 -8
  101. package/lib/resolvers/type/index.d.ts.map +1 -1
  102. package/lib/resolvers/type/product/product-bundle-types.d.ts +1 -1
  103. package/lib/resolvers/type/product/product-bundle-types.d.ts.map +1 -1
  104. package/lib/resolvers/type/product/product-configurable-types.d.ts +1 -1
  105. package/lib/resolvers/type/product/product-configurable-types.d.ts.map +1 -1
  106. package/lib/resolvers/type/product/product-plan-types.d.ts +1 -1
  107. package/lib/resolvers/type/product/product-plan-types.d.ts.map +1 -1
  108. package/lib/resolvers/type/product/product-simple-types.d.ts +1 -1
  109. package/lib/resolvers/type/product/product-simple-types.d.ts.map +1 -1
  110. package/lib/resolvers/type/product/product-tokenized-types.d.ts +1 -1
  111. package/lib/resolvers/type/product/product-tokenized-types.d.ts.map +1 -1
  112. package/lib/resolvers/type/product/product-types.d.ts +1 -1
  113. package/lib/resolvers/type/product/product-types.d.ts.map +1 -1
  114. package/lib/resolvers/type/product/product-types.js +9 -2
  115. package/lib/resolvers/type/product/product-types.js.map +1 -1
  116. package/lib/resolvers/type/product/product-variation-assignment-vector.d.ts.map +1 -1
  117. package/lib/resolvers/type/product/product-variation-assignment-vector.js +4 -1
  118. package/lib/resolvers/type/product/product-variation-assignment-vector.js.map +1 -1
  119. package/lib/resolvers/type/product/product-variation-types.d.ts.map +1 -1
  120. package/lib/resolvers/type/product/product-variation-types.js +5 -2
  121. package/lib/resolvers/type/product/product-variation-types.js.map +1 -1
  122. package/lib/roles/all.d.ts.map +1 -1
  123. package/lib/roles/all.js +2 -0
  124. package/lib/roles/all.js.map +1 -1
  125. package/lib/roles/index.d.ts.map +1 -1
  126. package/lib/roles/index.js +2 -0
  127. package/lib/roles/index.js.map +1 -1
  128. package/lib/schema/mutation.d.ts.map +1 -1
  129. package/lib/schema/mutation.js +10 -0
  130. package/lib/schema/mutation.js.map +1 -1
  131. package/lib/schema/query.d.ts.map +1 -1
  132. package/lib/schema/query.js +11 -1
  133. package/lib/schema/query.js.map +1 -1
  134. package/lib/schema/types/user.js +1 -1
  135. package/package.json +20 -20
  136. package/src/api-index.ts +5 -4
  137. package/src/context.ts +31 -17
  138. package/src/errors.ts +5 -0
  139. package/src/express/createBulkImportMiddleware.ts +3 -3
  140. package/src/express/createERCMetadataMiddleware.ts +10 -8
  141. package/src/express/index.ts +29 -13
  142. package/src/fastify/ercMetadataHandler.ts +3 -1
  143. package/src/fastify/index.ts +67 -23
  144. package/src/loaders/index.ts +273 -228
  145. package/src/locale-context.ts +1 -10
  146. package/src/resolvers/mutations/accounts/createUser.ts +1 -1
  147. package/src/resolvers/mutations/accounts/impersonate.ts +23 -0
  148. package/src/resolvers/mutations/accounts/loginAsGuest.ts +1 -1
  149. package/src/resolvers/mutations/accounts/loginWithPassword.ts +1 -1
  150. package/src/resolvers/mutations/accounts/loginWithWebAuthn.ts +1 -1
  151. package/src/resolvers/mutations/accounts/resetPassword.ts +1 -1
  152. package/src/resolvers/mutations/accounts/stopImpersonation.ts +19 -0
  153. package/src/resolvers/mutations/accounts/verifyEmail.ts +1 -1
  154. package/src/resolvers/mutations/assortments/removeAssortmentProduct.ts +1 -1
  155. package/src/resolvers/mutations/index.ts +6 -1
  156. package/src/resolvers/mutations/users/addPushSubscription.ts +2 -1
  157. package/src/resolvers/mutations/users/heartbeat.ts +2 -2
  158. package/src/resolvers/mutations/users/removePushSubscription.ts +3 -1
  159. package/src/resolvers/queries/index.ts +4 -0
  160. package/src/resolvers/queries/users/impersonator.ts +13 -0
  161. package/src/resolvers/queries/warehousing/tokens.ts +3 -1
  162. package/src/resolvers/queries/warehousing/tokensCount.ts +12 -0
  163. package/src/resolvers/type/assortment/assortment-path-link-types.ts +14 -19
  164. package/src/resolvers/type/assortment/assortment-types.ts +17 -5
  165. package/src/resolvers/type/product/product-types.ts +17 -5
  166. package/src/resolvers/type/product/product-variation-assignment-vector.ts +4 -1
  167. package/src/resolvers/type/product/product-variation-types.ts +5 -2
  168. package/src/roles/all.ts +2 -0
  169. package/src/roles/index.ts +2 -0
  170. package/src/schema/mutation.ts +10 -0
  171. package/src/schema/query.ts +11 -1
  172. package/src/schema/types/user.ts +1 -1
@@ -4,64 +4,108 @@ import { Product, ProductText, ProductMediaText, ProductMedia } from '@unchained
4
4
  import { Filter, FilterText } from '@unchainedshop/core-filters';
5
5
  import { Assortment, AssortmentLink, AssortmentProduct, AssortmentText, AssortmentMediaType, AssortmentMediaText } from '@unchainedshop/core-assortments';
6
6
  import { File } from '@unchainedshop/core-files';
7
- export interface UnchainedLoaders {
8
- loaders: {
9
- productLoader: InstanceType<typeof DataLoader<{
10
- productId: string;
11
- }, Product>>;
12
- productLoaderBySKU: InstanceType<typeof DataLoader<{
13
- sku: string;
14
- }, Product>>;
15
- productTextLoader: InstanceType<typeof DataLoader<{
16
- productId: string;
17
- locale: string;
18
- }, ProductText>>;
19
- productMediaTextLoader: InstanceType<typeof DataLoader<{
20
- productMediaId: string;
21
- locale: string;
22
- }, ProductMediaText>>;
23
- fileLoader: InstanceType<typeof DataLoader<{
24
- fileId: string;
25
- }, File>>;
26
- filterLoader: InstanceType<typeof DataLoader<{
27
- filterId: string;
28
- }, Filter>>;
29
- filterTextLoader: InstanceType<typeof DataLoader<{
30
- filterId: string;
31
- filterOptionValue?: string;
32
- locale: string;
33
- }, FilterText>>;
34
- assortmentLoader: InstanceType<typeof DataLoader<{
35
- assortmentId: string;
36
- }, Assortment>>;
37
- assortmentTextLoader: InstanceType<typeof DataLoader<{
38
- assortmentId: string;
39
- locale: string;
40
- }, AssortmentText>>;
41
- assortmentLinkLoader: InstanceType<typeof DataLoader<{
42
- parentAssortmentId: string;
43
- childAssortmentId: string;
44
- }, AssortmentLink>>;
45
- assortmentLinksLoader: InstanceType<typeof DataLoader<{
46
- parentAssortmentId?: string;
47
- assortmentId?: string;
48
- }, AssortmentLink[]>>;
49
- assortmentProductLoader: InstanceType<typeof DataLoader<{
50
- assortmentId: string;
51
- productId: string;
52
- }, AssortmentProduct>>;
53
- assortmentMediaTextLoader: InstanceType<typeof DataLoader<{
54
- assortmentMediaId: string;
55
- locale: string;
56
- }, AssortmentMediaText>>;
57
- productMediasLoader: InstanceType<typeof DataLoader<{
58
- productId?: string;
59
- }, ProductMedia[]>>;
60
- assortmentMediasLoader: InstanceType<typeof DataLoader<{
61
- assortmentId?: string;
62
- }, AssortmentMediaType[]>>;
63
- };
64
- }
65
- declare const loaders: (unchainedAPI: UnchainedCore) => Promise<UnchainedLoaders["loaders"]>;
7
+ declare const loaders: (unchainedAPI: UnchainedCore) => Promise<{
8
+ assortmentLoader: DataLoader<{
9
+ assortmentId: string;
10
+ }, Assortment, {
11
+ assortmentId: string;
12
+ }>;
13
+ assortmentTextLoader: DataLoader<{
14
+ assortmentId: string;
15
+ locale: string;
16
+ }, AssortmentText, {
17
+ assortmentId: string;
18
+ locale: string;
19
+ }>;
20
+ assortmentMediaTextLoader: DataLoader<{
21
+ assortmentMediaId: string;
22
+ locale: string;
23
+ }, AssortmentMediaText, {
24
+ assortmentMediaId: string;
25
+ locale: string;
26
+ }>;
27
+ assortmentMediasLoader: DataLoader<{
28
+ assortmentId?: string;
29
+ }, AssortmentMediaType[], {
30
+ assortmentId?: string;
31
+ }>;
32
+ assortmentLinkLoader: DataLoader<{
33
+ parentAssortmentId: string;
34
+ childAssortmentId: string;
35
+ }, AssortmentLink, {
36
+ parentAssortmentId: string;
37
+ childAssortmentId: string;
38
+ }>;
39
+ assortmentLinksLoader: DataLoader<{
40
+ parentAssortmentId?: string;
41
+ childAssortmentId?: string;
42
+ assortmentId?: string;
43
+ }, AssortmentLink[], {
44
+ parentAssortmentId?: string;
45
+ childAssortmentId?: string;
46
+ assortmentId?: string;
47
+ }>;
48
+ assortmentProductLoader: DataLoader<{
49
+ assortmentId: string;
50
+ productId: string;
51
+ }, AssortmentProduct, {
52
+ assortmentId: string;
53
+ productId: string;
54
+ }>;
55
+ assortmentProductsLoader: DataLoader<{
56
+ productId: string;
57
+ }, AssortmentProduct[], {
58
+ productId: string;
59
+ }>;
60
+ filterLoader: DataLoader<{
61
+ filterId: string;
62
+ }, Filter, {
63
+ filterId: string;
64
+ }>;
65
+ filterTextLoader: DataLoader<{
66
+ filterId: string;
67
+ filterOptionValue?: string;
68
+ locale: string;
69
+ }, FilterText, {
70
+ filterId: string;
71
+ filterOptionValue?: string;
72
+ locale: string;
73
+ }>;
74
+ productLoader: DataLoader<{
75
+ productId: string;
76
+ }, Product, {
77
+ productId: string;
78
+ }>;
79
+ productLoaderBySKU: DataLoader<{
80
+ sku: string;
81
+ }, Product, {
82
+ sku: string;
83
+ }>;
84
+ productTextLoader: DataLoader<{
85
+ productId: string;
86
+ locale: string;
87
+ }, ProductText, {
88
+ productId: string;
89
+ locale: string;
90
+ }>;
91
+ productMediaTextLoader: DataLoader<{
92
+ productMediaId: string;
93
+ locale: string;
94
+ }, ProductMediaText, {
95
+ productMediaId: string;
96
+ locale: string;
97
+ }>;
98
+ productMediasLoader: DataLoader<{
99
+ productId?: string;
100
+ }, ProductMedia[], {
101
+ productId?: string;
102
+ }>;
103
+ fileLoader: DataLoader<{
104
+ fileId: string;
105
+ }, File, {
106
+ fileId: string;
107
+ }>;
108
+ }>;
109
+ export type UnchainedLoaders = Awaited<ReturnType<typeof loaders>>;
66
110
  export default loaders;
67
111
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QACP,aAAa,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/E,kBAAkB,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9E,iBAAiB,EAAE,YAAY,CAC7B,OAAO,UAAU,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,WAAW,CAAC,CACtE,CAAC;QACF,sBAAsB,EAAE,YAAY,CAClC,OAAO,UAAU,CAAC;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,gBAAgB,CAAC,CAChF,CAAC;QAEF,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAEtE,YAAY,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5E,gBAAgB,EAAE,YAAY,CAC5B,OAAO,UAAU,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,UAAU,CAAC,CAChG,CAAC;QAEF,gBAAgB,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QACxF,oBAAoB,EAAE,YAAY,CAChC,OAAO,UAAU,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,cAAc,CAAC,CAC5E,CAAC;QACF,oBAAoB,EAAE,YAAY,CAChC,OAAO,UAAU,CAAC;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,iBAAiB,EAAE,MAAM,CAAA;SAAE,EAAE,cAAc,CAAC,CAC7F,CAAC;QACF,qBAAqB,EAAE,YAAY,CACjC,OAAO,UAAU,CAAC;YAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,cAAc,EAAE,CAAC,CAC5F,CAAC;QACF,uBAAuB,EAAE,YAAY,CACnC,OAAO,UAAU,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,iBAAiB,CAAC,CAClF,CAAC;QACF,yBAAyB,EAAE,YAAY,CACrC,OAAO,UAAU,CAAC;YAAE,iBAAiB,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,mBAAmB,CAAC,CACtF,CAAC;QAEF,mBAAmB,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAC7F,sBAAsB,EAAE,YAAY,CAClC,OAAO,UAAU,CAAC;YAAE,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,mBAAmB,EAAE,CAAC,CACpE,CAAC;KACH,CAAC;CACH;AA0BD,QAAA,MAAM,OAAO,iBAAwB,aAAa,KAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAmRvF,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAcjD,QAAA,MAAM,OAAO,iBAAwB,aAAa;;sBAEG,MAAM;;sBAAN,MAAM;;;sBAgBF,MAAM;gBAAU,MAAM;;sBAAtB,MAAM;gBAAU,MAAM;;;2BA6BpD,MAAM;gBAAU,MAAM;;2BAAtB,MAAM;gBAAU,MAAM;;;uBA4BW,MAAM;;uBAAN,MAAM;;;4BAoBtC,MAAM;2BAAqB,MAAM;;4BAAjC,MAAM;2BAAqB,MAAM;;;6BA6BhC,MAAM;4BAAsB,MAAM;uBAAiB,MAAM;;6BAAzD,MAAM;4BAAsB,MAAM;uBAAiB,MAAM;;;sBA0ChE,MAAM;mBAAa,MAAM;;sBAAzB,MAAM;mBAAa,MAAM;;;mBAiBW,MAAM;;mBAAN,MAAM;;;kBAqBnB,MAAM;;kBAAN,MAAM;;;kBAiBjC,MAAM;4BAAsB,MAAM;gBAAU,MAAM;;kBAAlD,MAAM;4BAAsB,MAAM;gBAAU,MAAM;;;mBA4BrB,MAAM;;mBAAN,MAAM;;;aAkBP,MAAM;;aAAN,MAAM;;;mBAkBD,MAAM;gBAAU,MAAM;;mBAAtB,MAAM;gBAAU,MAAM;;;wBA0BZ,MAAM;gBAAU,MAAM;;wBAAtB,MAAM;gBAAU,MAAM;;;oBA4B7B,MAAM;;oBAAN,MAAM;;;gBAiBnB,MAAM;;gBAAN,MAAM;;EAe9C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;AAEnE,eAAe,OAAO,CAAC"}
@@ -1,25 +1,15 @@
1
1
  import DataLoader from 'dataloader';
2
2
  import { systemLocale } from '@unchainedshop/utils';
3
- function getLocaleStrings(localeObj) {
4
- return [localeObj.baseName, localeObj.language, systemLocale.baseName, systemLocale.language];
5
- }
6
- function findMatchingText(texts, localeStrings) {
7
- return localeStrings.reduce((acc, localeString) => {
8
- if (acc)
9
- return acc;
10
- return texts.find((p) => p.locale.toLowerCase() === localeString.toLowerCase());
11
- }, null);
12
- }
13
- function getFilteredQueries({ queries, texts, filterFn }) {
14
- return queries.map(({ locale, ...queryParams }) => {
15
- const localeObj = new Intl.Locale(locale);
16
- const filteredTexts = texts.filter(filterFn(queryParams));
17
- if (!filteredTexts.length)
18
- return null;
19
- const localeStrings = getLocaleStrings(localeObj);
20
- const filterText = findMatchingText(filteredTexts, localeStrings);
21
- return filterText || filteredTexts[0];
22
- });
3
+ function getLocaleStrings(locale) {
4
+ const localeObj = new Intl.Locale(locale);
5
+ return [
6
+ ...new Set([
7
+ localeObj.baseName.toLowerCase(),
8
+ localeObj.language.toLowerCase(),
9
+ systemLocale.baseName.toLowerCase(),
10
+ systemLocale.language.toLowerCase(),
11
+ ]),
12
+ ];
23
13
  }
24
14
  const loaders = async (unchainedAPI) => {
25
15
  return {
@@ -30,13 +20,11 @@ const loaders = async (unchainedAPI) => {
30
20
  includeInactive: true,
31
21
  includeLeaves: true,
32
22
  });
33
- return queries.map(({ assortmentId }) => {
34
- return assortments.find((assortment) => {
35
- if (assortment._id !== assortmentId)
36
- return false;
37
- return true;
38
- });
39
- });
23
+ const assortmentMap = {};
24
+ for (const assortment of assortments) {
25
+ assortmentMap[assortment._id] = assortment;
26
+ }
27
+ return queries.map((q) => assortmentMap[q.assortmentId]);
40
28
  }),
41
29
  assortmentTextLoader: new DataLoader(async (queries) => {
42
30
  const assortmentIds = [...new Set(queries.map((q) => q.assortmentId).filter(Boolean))];
@@ -45,8 +33,16 @@ const loaders = async (unchainedAPI) => {
45
33
  assortmentId: 1,
46
34
  },
47
35
  });
48
- const filterFn = ({ assortmentId }) => (text) => text.assortmentId === assortmentId;
49
- return getFilteredQueries({ queries, texts, filterFn });
36
+ const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
37
+ const textsMap = {};
38
+ const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
39
+ return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
40
+ }));
41
+ for (const text of texts) {
42
+ const locale = localeMap[text.locale.toLowerCase()];
43
+ textsMap[locale + text.assortmentId] = text;
44
+ }
45
+ return queries.map((q) => textsMap[q.locale.toLowerCase() + q.assortmentId]);
50
46
  }),
51
47
  assortmentMediaTextLoader: new DataLoader(async (queries) => {
52
48
  const assortmentMediaIds = [...new Set(queries.map((q) => q.assortmentMediaId).filter(Boolean))];
@@ -55,72 +51,117 @@ const loaders = async (unchainedAPI) => {
55
51
  assortmentMediaId: 1,
56
52
  },
57
53
  });
58
- const filterFn = ({ assortmentMediaId }) => (text) => text.assortmentMediaId === assortmentMediaId;
59
- return getFilteredQueries({ queries, texts, filterFn });
54
+ const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
55
+ const textsMap = {};
56
+ const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
57
+ return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
58
+ }));
59
+ for (const text of texts) {
60
+ const locale = localeMap[text.locale.toLowerCase()];
61
+ textsMap[locale + text.assortmentMediaId] = text;
62
+ }
63
+ return queries.map((q) => textsMap[q.locale.toLowerCase() + q.assortmentMediaId]);
60
64
  }),
61
65
  assortmentMediasLoader: new DataLoader(async (queries) => {
62
66
  const assortmentIds = [...new Set(queries.map((q) => q.assortmentId).filter(Boolean))];
63
67
  const assortmentMediaItems = await unchainedAPI.modules.assortments.media.findAssortmentMedias({
64
68
  assortmentId: { $in: assortmentIds },
65
69
  });
66
- return queries.map((q) => {
67
- return assortmentMediaItems.filter((i) => {
68
- return i.assortmentId === q.assortmentId;
69
- });
70
- });
70
+ const assortmentMediaMap = {};
71
+ for (const assortmentMedia of assortmentMediaItems) {
72
+ if (!assortmentMediaMap[assortmentMedia.assortmentId]) {
73
+ assortmentMediaMap[assortmentMedia.assortmentId] = [assortmentMedia];
74
+ }
75
+ else {
76
+ assortmentMediaMap[assortmentMedia.assortmentId].push(assortmentMedia);
77
+ }
78
+ }
79
+ return queries.map((q) => assortmentMediaMap[q.assortmentId] || []);
71
80
  }),
72
81
  assortmentLinkLoader: new DataLoader(async (queries) => {
73
82
  const parentAssortmentIds = [...new Set(queries.map((q) => q.parentAssortmentId).filter(Boolean))];
74
83
  const links = await unchainedAPI.modules.assortments.links.findLinks({
75
84
  parentAssortmentIds,
76
85
  });
77
- return queries.map(({ parentAssortmentId, childAssortmentId }) => {
78
- return links.find((link) => {
79
- if (link.parentAssortmentId !== parentAssortmentId)
80
- return false;
81
- if (childAssortmentId && link.childAssortmentId !== childAssortmentId)
82
- return false;
83
- return true;
84
- });
86
+ const assortmentLinkMap = {};
87
+ for (const link of links) {
88
+ if (!assortmentLinkMap[link.parentAssortmentId]) {
89
+ assortmentLinkMap[link.parentAssortmentId] = [link];
90
+ }
91
+ else {
92
+ assortmentLinkMap[link.parentAssortmentId].push(link);
93
+ }
94
+ }
95
+ return queries.map((q) => {
96
+ if (q.childAssortmentId) {
97
+ return assortmentLinkMap[q.parentAssortmentId].find((link) => link.childAssortmentId === q.childAssortmentId);
98
+ }
99
+ return assortmentLinkMap[q.parentAssortmentId][0];
85
100
  });
86
101
  }),
87
102
  assortmentLinksLoader: new DataLoader(async (queries) => {
88
- const parentAssortmentIds = [
89
- ...new Set(queries.flatMap((q) => q.parentAssortmentId).filter(Boolean)),
90
- ];
91
- const assortmentIds = [...new Set(queries.flatMap((q) => q.assortmentId).filter(Boolean))];
92
- const linksByParentAssortmentId = parentAssortmentIds?.length &&
93
- (await unchainedAPI.modules.assortments.links.findLinks({
94
- parentAssortmentIds,
95
- }));
96
- const linksByAssortmentId = assortmentIds?.length &&
97
- (await unchainedAPI.modules.assortments.links.findLinks({
98
- assortmentIds,
99
- }));
100
- return queries.map(({ parentAssortmentId, assortmentId }) => {
101
- if (parentAssortmentId) {
102
- return linksByParentAssortmentId.filter((link) => link.parentAssortmentId === parentAssortmentId);
103
+ const parentAssortmentIds = queries.flatMap((q) => q.parentAssortmentId).filter(Boolean);
104
+ const childAssortmentIds = queries.flatMap((q) => q.childAssortmentId).filter(Boolean);
105
+ const assortmentIds = queries.flatMap((q) => q.assortmentId).filter(Boolean);
106
+ const allLinks = await unchainedAPI.modules.assortments.links.findLinks({
107
+ assortmentIds: [...new Set([...parentAssortmentIds, ...childAssortmentIds, ...assortmentIds])],
108
+ });
109
+ const parentAssortmentLinkMap = {};
110
+ const childAssortmentLinkMap = {};
111
+ for (const link of allLinks) {
112
+ if (!parentAssortmentLinkMap[link.parentAssortmentId]) {
113
+ parentAssortmentLinkMap[link.parentAssortmentId] = [link];
103
114
  }
104
- if (assortmentId) {
105
- return linksByAssortmentId.filter((link) => link.parentAssortmentId === assortmentId || link.childAssortmentId === assortmentId);
115
+ else {
116
+ parentAssortmentLinkMap[link.parentAssortmentId].push(link);
117
+ }
118
+ if (!childAssortmentLinkMap[link.childAssortmentId]) {
119
+ childAssortmentLinkMap[link.childAssortmentId] = [link];
120
+ }
121
+ else {
122
+ childAssortmentLinkMap[link.childAssortmentId].push(link);
123
+ }
124
+ }
125
+ return queries.map((q) => {
126
+ if (q.parentAssortmentId) {
127
+ return parentAssortmentLinkMap[q.parentAssortmentId] || [];
106
128
  }
107
- return [];
129
+ else if (q.childAssortmentId) {
130
+ return childAssortmentLinkMap[q.childAssortmentId] || [];
131
+ }
132
+ return [
133
+ ...(parentAssortmentLinkMap[q.assortmentId] || []),
134
+ ...(childAssortmentLinkMap[q.assortmentId] || []),
135
+ ];
108
136
  });
109
137
  }),
110
138
  assortmentProductLoader: new DataLoader(async (queries) => {
111
139
  const assortmentIds = [...new Set(queries.map((q) => q.assortmentId).filter(Boolean))];
112
- const assortmentProducts = await unchainedAPI.modules.assortments.products.findProducts({
140
+ const assortmentProducts = await unchainedAPI.modules.assortments.products.findAssortmentProducts({
113
141
  assortmentIds,
114
142
  });
115
- return queries.map(({ assortmentId, productId }) => {
116
- return assortmentProducts.find((assortmentProduct) => {
117
- if (assortmentProduct.assortmentId !== assortmentId)
118
- return false;
119
- if (assortmentProduct.productId !== productId)
120
- return false;
121
- return true;
122
- });
143
+ const assortmentProductMap = {};
144
+ for (const assortmentProduct of assortmentProducts) {
145
+ assortmentProductMap[assortmentProduct.assortmentId + assortmentProduct.productId] =
146
+ assortmentProduct;
147
+ }
148
+ return queries.map((q) => assortmentProductMap[q.assortmentId + q.productId]);
149
+ }),
150
+ assortmentProductsLoader: new DataLoader(async (queries) => {
151
+ const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
152
+ const assortmentProducts = await unchainedAPI.modules.assortments.products.findAssortmentProducts({
153
+ productIds,
123
154
  });
155
+ const assortmentProductsMap = {};
156
+ for (const assortmentProduct of assortmentProducts) {
157
+ if (!assortmentProductsMap[assortmentProduct.productId]) {
158
+ assortmentProductsMap[assortmentProduct.productId] = [assortmentProduct];
159
+ }
160
+ else {
161
+ assortmentProductsMap[assortmentProduct.productId].push(assortmentProduct);
162
+ }
163
+ }
164
+ return queries.map((q) => assortmentProductsMap[q.productId] || []);
124
165
  }),
125
166
  filterLoader: new DataLoader(async (queries) => {
126
167
  const filterIds = [...new Set(queries.map((q) => q.filterId).filter(Boolean))];
@@ -128,13 +169,11 @@ const loaders = async (unchainedAPI) => {
128
169
  filterIds,
129
170
  includeInactive: true,
130
171
  });
131
- return queries.map(({ filterId }) => {
132
- return filters.find((product) => {
133
- if (product._id !== filterId)
134
- return false;
135
- return true;
136
- });
137
- });
172
+ const filterMap = {};
173
+ for (const filter of filters) {
174
+ filterMap[filter._id] = filter;
175
+ }
176
+ return queries.map((q) => filterMap[q.filterId]);
138
177
  }),
139
178
  filterTextLoader: new DataLoader(async (queries) => {
140
179
  const filterIds = [...new Set(queries.map((q) => q.filterId).filter(Boolean))];
@@ -143,8 +182,16 @@ const loaders = async (unchainedAPI) => {
143
182
  filterId: 1,
144
183
  },
145
184
  });
146
- const filterFn = ({ filterId, filterOptionValue }) => (text) => text.filterId === filterId && text.filterOptionValue === filterOptionValue;
147
- return getFilteredQueries({ queries, texts, filterFn });
185
+ const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
186
+ const textsMap = {};
187
+ const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
188
+ return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
189
+ }));
190
+ for (const text of texts) {
191
+ const locale = localeMap[text.locale.toLowerCase()];
192
+ textsMap[locale + text.filterId + text.filterOptionValue] = text;
193
+ }
194
+ return queries.map((q) => textsMap[q.locale.toLowerCase() + q.filterId + q.filterOptionValue]);
148
195
  }),
149
196
  productLoader: new DataLoader(async (queries) => {
150
197
  const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))]; // you don't need lodash, _.unique my ass
@@ -154,13 +201,11 @@ const loaders = async (unchainedAPI) => {
154
201
  status: { $exists: true },
155
202
  },
156
203
  });
157
- return queries.map(({ productId }) => {
158
- return products.find((product) => {
159
- if (product._id !== productId)
160
- return false;
161
- return true;
162
- });
163
- });
204
+ const productMap = {};
205
+ for (const product of products) {
206
+ productMap[product._id] = product;
207
+ }
208
+ return queries.map((q) => productMap[q.productId]);
164
209
  }),
165
210
  productLoaderBySKU: new DataLoader(async (queries) => {
166
211
  const skus = [...new Set(queries.map((q) => q.sku).filter(Boolean))]; // you don't need lodash, _.unique my ass
@@ -170,23 +215,29 @@ const loaders = async (unchainedAPI) => {
170
215
  status: { $exists: true },
171
216
  },
172
217
  });
173
- return queries.map(({ sku }) => {
174
- return products.find((product) => {
175
- if (product.warehousing?.sku !== sku)
176
- return false;
177
- return true;
178
- });
179
- });
218
+ const productMap = {};
219
+ for (const product of products) {
220
+ productMap[product.warehousing.sku] = product;
221
+ }
222
+ return queries.map((q) => productMap[q.sku]);
180
223
  }),
181
224
  productTextLoader: new DataLoader(async (queries) => {
182
- const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
225
+ const productIds = [...new Set(queries.map((q) => q.productId))].filter(Boolean);
183
226
  const texts = await unchainedAPI.modules.products.texts.findTexts({ productId: { $in: productIds } }, {
184
227
  sort: {
185
228
  productId: 1,
186
229
  },
187
230
  });
188
- const filterFn = ({ productId }) => (text) => text.productId === productId;
189
- return getFilteredQueries({ queries, texts, filterFn });
231
+ const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
232
+ const textsMap = {};
233
+ const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
234
+ return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
235
+ }));
236
+ for (const text of texts) {
237
+ const locale = localeMap[text.locale.toLowerCase()];
238
+ textsMap[locale + text.productId] = text;
239
+ }
240
+ return queries.map((q) => textsMap[q.locale.toLowerCase() + q.productId]);
190
241
  }),
191
242
  productMediaTextLoader: new DataLoader(async (queries) => {
192
243
  const productMediaIds = [...new Set(queries.map((q) => q.productMediaId).filter(Boolean))];
@@ -195,32 +246,43 @@ const loaders = async (unchainedAPI) => {
195
246
  productMediaId: 1,
196
247
  },
197
248
  });
198
- const filterFn = ({ productMediaId }) => (text) => text.productMediaId === productMediaId;
199
- return getFilteredQueries({ queries, texts, filterFn });
249
+ const queryLocales = [...new Set(queries.map((q) => q.locale.toLowerCase()))];
250
+ const textsMap = {};
251
+ const localeMap = Object.fromEntries(queryLocales.flatMap((queryLocale) => {
252
+ return getLocaleStrings(queryLocale).map((locale) => [locale, queryLocale]);
253
+ }));
254
+ for (const text of texts) {
255
+ const locale = localeMap[text.locale.toLowerCase()];
256
+ textsMap[locale + text.productMediaId] = text;
257
+ }
258
+ return queries.map((q) => textsMap[q.locale.toLowerCase() + q.productMediaId]);
200
259
  }),
201
260
  productMediasLoader: new DataLoader(async (queries) => {
202
261
  const productIds = [...new Set(queries.map((q) => q.productId).filter(Boolean))];
203
262
  const productMediaItems = await unchainedAPI.modules.products.media.findProductMedias({
204
263
  productId: { $in: productIds },
205
264
  });
206
- return queries.map((q) => {
207
- return productMediaItems.filter((i) => {
208
- return i.productId === q.productId;
209
- });
210
- });
265
+ const productMediaMap = {};
266
+ for (const productMedia of productMediaItems) {
267
+ if (!productMediaMap[productMedia.productId]) {
268
+ productMediaMap[productMedia.productId] = [productMedia];
269
+ }
270
+ else {
271
+ productMediaMap[productMedia.productId].push(productMedia);
272
+ }
273
+ }
274
+ return queries.map((q) => productMediaMap[q.productId] || []);
211
275
  }),
212
276
  fileLoader: new DataLoader(async (queries) => {
213
277
  const fileIds = [...new Set(queries.map((q) => q.fileId).filter(Boolean))]; // you don't need lodash, _.unique my ass
214
278
  const files = await unchainedAPI.modules.files.findFiles({
215
279
  _id: { $in: fileIds },
216
280
  });
217
- return queries.map(({ fileId }) => {
218
- return files.find((file) => {
219
- if (file._id !== fileId)
220
- return false;
221
- return true;
222
- });
223
- });
281
+ const fileMap = {};
282
+ for (const file of files) {
283
+ fileMap[file._id] = file;
284
+ }
285
+ return queries.map((q) => fileMap[q.fileId]);
224
286
  }),
225
287
  };
226
288
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"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"}