@unchainedshop/api 4.3.5 → 4.3.6

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 (192) hide show
  1. package/lib/chat/generateImageHandler.js +1 -1
  2. package/lib/chat/generateImageHandler.js.map +1 -1
  3. package/lib/chat/utils.js +1 -1
  4. package/lib/chat/utils.js.map +1 -1
  5. package/lib/express/chatHandler.d.ts.map +1 -1
  6. package/lib/express/chatHandler.js +7 -3
  7. package/lib/express/chatHandler.js.map +1 -1
  8. package/lib/express/createMCPMiddleware.d.ts +1 -1
  9. package/lib/express/createMCPMiddleware.d.ts.map +1 -1
  10. package/lib/express/createMCPMiddleware.js +21 -4
  11. package/lib/express/createMCPMiddleware.js.map +1 -1
  12. package/lib/fastify/chatHandler.d.ts.map +1 -1
  13. package/lib/fastify/chatHandler.js +7 -3
  14. package/lib/fastify/chatHandler.js.map +1 -1
  15. package/lib/fastify/index.d.ts.map +1 -1
  16. package/lib/fastify/index.js +1 -4
  17. package/lib/fastify/index.js.map +1 -1
  18. package/lib/fastify/mcpHandler.d.ts +1 -1
  19. package/lib/fastify/mcpHandler.d.ts.map +1 -1
  20. package/lib/fastify/mcpHandler.js +20 -5
  21. package/lib/fastify/mcpHandler.js.map +1 -1
  22. package/lib/mcp/index.d.ts +2 -2
  23. package/lib/mcp/index.d.ts.map +1 -1
  24. package/lib/mcp/index.js +1 -6
  25. package/lib/mcp/index.js.map +1 -1
  26. package/lib/mcp/resources/localization.d.ts +2 -2
  27. package/lib/mcp/resources/localization.d.ts.map +1 -1
  28. package/lib/mcp/tools/assortment/index.d.ts +2 -2
  29. package/lib/mcp/tools/assortment/index.d.ts.map +1 -1
  30. package/lib/mcp/tools/assortment/schemas.d.ts +167 -724
  31. package/lib/mcp/tools/assortment/schemas.d.ts.map +1 -1
  32. package/lib/mcp/tools/assortment/schemas.js +1 -1
  33. package/lib/mcp/tools/assortment/schemas.js.map +1 -1
  34. package/lib/mcp/tools/filter/index.d.ts +2 -2
  35. package/lib/mcp/tools/filter/index.d.ts.map +1 -1
  36. package/lib/mcp/tools/filter/schemas.d.ts +100 -413
  37. package/lib/mcp/tools/filter/schemas.d.ts.map +1 -1
  38. package/lib/mcp/tools/localization/index.d.ts +2 -2
  39. package/lib/mcp/tools/localization/index.d.ts.map +1 -1
  40. package/lib/mcp/tools/localization/schemas.d.ts +85 -224
  41. package/lib/mcp/tools/localization/schemas.d.ts.map +1 -1
  42. package/lib/mcp/tools/localization/schemas.js +3 -3
  43. package/lib/mcp/tools/localization/schemas.js.map +1 -1
  44. package/lib/mcp/tools/order/index.d.ts +1 -1
  45. package/lib/mcp/tools/order/index.d.ts.map +1 -1
  46. package/lib/mcp/tools/order/schemas.d.ts +160 -290
  47. package/lib/mcp/tools/order/schemas.d.ts.map +1 -1
  48. package/lib/mcp/tools/order/schemas.js +16 -10
  49. package/lib/mcp/tools/order/schemas.js.map +1 -1
  50. package/lib/mcp/tools/product/index.d.ts +1 -1
  51. package/lib/mcp/tools/product/index.d.ts.map +1 -1
  52. package/lib/mcp/tools/product/schemas.d.ts +373 -2153
  53. package/lib/mcp/tools/product/schemas.d.ts.map +1 -1
  54. package/lib/mcp/tools/product/schemas.js +5 -2
  55. package/lib/mcp/tools/product/schemas.js.map +1 -1
  56. package/lib/mcp/tools/provider/index.d.ts +1 -1
  57. package/lib/mcp/tools/provider/index.d.ts.map +1 -1
  58. package/lib/mcp/tools/provider/schemas.d.ts +193 -194
  59. package/lib/mcp/tools/provider/schemas.d.ts.map +1 -1
  60. package/lib/mcp/tools/provider/schemas.js +4 -4
  61. package/lib/mcp/tools/provider/schemas.js.map +1 -1
  62. package/lib/mcp/tools/quotation/index.d.ts +1 -1
  63. package/lib/mcp/tools/quotation/index.d.ts.map +1 -1
  64. package/lib/mcp/tools/quotation/schemas.d.ts +78 -172
  65. package/lib/mcp/tools/quotation/schemas.d.ts.map +1 -1
  66. package/lib/mcp/tools/quotation/schemas.js +4 -4
  67. package/lib/mcp/tools/quotation/schemas.js.map +1 -1
  68. package/lib/mcp/tools/system/index.d.ts +1 -1
  69. package/lib/mcp/tools/system/index.d.ts.map +1 -1
  70. package/lib/mcp/tools/system/schemas.d.ts +96 -346
  71. package/lib/mcp/tools/system/schemas.d.ts.map +1 -1
  72. package/lib/mcp/tools/users/index.d.ts +1 -1
  73. package/lib/mcp/tools/users/index.d.ts.map +1 -1
  74. package/lib/mcp/tools/users/schemas.d.ts +125 -789
  75. package/lib/mcp/tools/users/schemas.d.ts.map +1 -1
  76. package/lib/mcp/utils/sharedSchemas.d.ts +21 -29
  77. package/lib/mcp/utils/sharedSchemas.d.ts.map +1 -1
  78. package/lib/resolvers/mutations/accounts/verifyWeb3Address.js.map +1 -1
  79. package/package.json +6 -6
  80. package/src/chat/generateImageHandler.ts +1 -1
  81. package/src/chat/utils.ts +1 -1
  82. package/src/express/chatHandler.ts +12 -3
  83. package/src/express/createMCPMiddleware.ts +36 -8
  84. package/src/fastify/chatHandler.ts +10 -3
  85. package/src/fastify/index.ts +2 -4
  86. package/src/fastify/mcpHandler.ts +33 -9
  87. package/src/mcp/index.ts +3 -9
  88. package/src/mcp/resources/localization.ts +2 -2
  89. package/src/mcp/tools/assortment/index.ts +2 -2
  90. package/src/mcp/tools/assortment/schemas.ts +1 -1
  91. package/src/mcp/tools/filter/index.ts +2 -2
  92. package/src/mcp/tools/localization/index.ts +2 -2
  93. package/src/mcp/tools/localization/schemas.ts +4 -3
  94. package/src/mcp/tools/order/index.ts +1 -1
  95. package/src/mcp/tools/order/schemas.ts +18 -10
  96. package/src/mcp/tools/product/index.ts +1 -1
  97. package/src/mcp/tools/product/schemas.ts +5 -2
  98. package/src/mcp/tools/provider/index.ts +1 -1
  99. package/src/mcp/tools/provider/schemas.ts +5 -4
  100. package/src/mcp/tools/quotation/index.ts +1 -1
  101. package/src/mcp/tools/quotation/schemas.ts +4 -4
  102. package/src/mcp/tools/system/index.ts +1 -1
  103. package/src/mcp/tools/users/index.ts +1 -1
  104. package/src/resolvers/mutations/accounts/verifyWeb3Address.ts +3 -3
  105. package/lib/express/createApolloMiddleware.d.ts +0 -4
  106. package/lib/express/createApolloMiddleware.d.ts.map +0 -1
  107. package/lib/express/createApolloMiddleware.js +0 -36
  108. package/lib/express/createApolloMiddleware.js.map +0 -1
  109. package/lib/express/createSingleSignOnMiddleware.d.ts +0 -5
  110. package/lib/express/createSingleSignOnMiddleware.d.ts.map +0 -1
  111. package/lib/express/createSingleSignOnMiddleware.js +0 -71
  112. package/lib/express/createSingleSignOnMiddleware.js.map +0 -1
  113. package/lib/hashPassword.d.ts +0 -2
  114. package/lib/hashPassword.d.ts.map +0 -1
  115. package/lib/hashPassword.js +0 -5
  116. package/lib/hashPassword.js.map +0 -1
  117. package/lib/loaders/productLoaderBySKU.d.ts +0 -10
  118. package/lib/loaders/productLoaderBySKU.d.ts.map +0 -1
  119. package/lib/loaders/productLoaderBySKU.js +0 -16
  120. package/lib/loaders/productLoaderBySKU.js.map +0 -1
  121. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts +0 -3
  122. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts.map +0 -1
  123. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js +0 -6
  124. package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js.map +0 -1
  125. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts +0 -6
  126. package/lib/resolvers/mutations/accounts/disableTOTP.d.ts.map +0 -1
  127. package/lib/resolvers/mutations/accounts/disableTOTP.js +0 -27
  128. package/lib/resolvers/mutations/accounts/disableTOTP.js.map +0 -1
  129. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts +0 -6
  130. package/lib/resolvers/mutations/accounts/enableTOTP.d.ts.map +0 -1
  131. package/lib/resolvers/mutations/accounts/enableTOTP.js +0 -20
  132. package/lib/resolvers/mutations/accounts/enableTOTP.js.map +0 -1
  133. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts +0 -7
  134. package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts.map +0 -1
  135. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js +0 -30
  136. package/lib/resolvers/mutations/accounts/linkOAuthAccount.js.map +0 -1
  137. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts +0 -8
  138. package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts.map +0 -1
  139. package/lib/resolvers/mutations/accounts/loginWithOAuth.js +0 -25
  140. package/lib/resolvers/mutations/accounts/loginWithOAuth.js.map +0 -1
  141. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts +0 -5
  142. package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts.map +0 -1
  143. package/lib/resolvers/mutations/accounts/logoutAllSessions.js +0 -20
  144. package/lib/resolvers/mutations/accounts/logoutAllSessions.js.map +0 -1
  145. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts +0 -6
  146. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts.map +0 -1
  147. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js +0 -13
  148. package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js.map +0 -1
  149. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts +0 -6
  150. package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts.map +0 -1
  151. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js +0 -18
  152. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js.map +0 -1
  153. package/lib/resolvers/mutations/orders/updateOrderPaymentCard.d.ts +0 -6
  154. package/lib/resolvers/mutations/orders/updateOrderPaymentCard.d.ts.map +0 -1
  155. package/lib/resolvers/mutations/orders/updateOrderPaymentCard.js +0 -26
  156. package/lib/resolvers/mutations/orders/updateOrderPaymentCard.js.map +0 -1
  157. package/lib/resolvers/mutations/products/addProductMedia.d.ts +0 -6
  158. package/lib/resolvers/mutations/products/addProductMedia.d.ts.map +0 -1
  159. package/lib/resolvers/mutations/products/addProductMedia.js +0 -18
  160. package/lib/resolvers/mutations/products/addProductMedia.js.map +0 -1
  161. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts +0 -6
  162. package/lib/resolvers/mutations/users/updateUserAvatar.d.ts.map +0 -1
  163. package/lib/resolvers/mutations/users/updateUserAvatar.js +0 -22
  164. package/lib/resolvers/mutations/users/updateUserAvatar.js.map +0 -1
  165. package/lib/resolvers/mutations/utils/getOrderCart.d.ts +0 -7
  166. package/lib/resolvers/mutations/utils/getOrderCart.d.ts.map +0 -1
  167. package/lib/resolvers/mutations/utils/getOrderCart.js +0 -13
  168. package/lib/resolvers/mutations/utils/getOrderCart.js.map +0 -1
  169. package/lib/resolvers/type/color-types.d.ts +0 -18
  170. package/lib/resolvers/type/color-types.d.ts.map +0 -1
  171. package/lib/resolvers/type/color-types.js +0 -31
  172. package/lib/resolvers/type/color-types.js.map +0 -1
  173. package/lib/resolvers/type/dispatch-types.d.ts +0 -15
  174. package/lib/resolvers/type/dispatch-types.d.ts.map +0 -1
  175. package/lib/resolvers/type/dispatch-types.js +0 -16
  176. package/lib/resolvers/type/dispatch-types.js.map +0 -1
  177. package/lib/resolvers/type/oauth-account.d.ts +0 -6
  178. package/lib/resolvers/type/oauth-account.d.ts.map +0 -1
  179. package/lib/resolvers/type/oauth-account.js +0 -7
  180. package/lib/resolvers/type/oauth-account.js.map +0 -1
  181. package/lib/resolvers/type/oauth-provider.d.ts +0 -6
  182. package/lib/resolvers/type/oauth-provider.d.ts.map +0 -1
  183. package/lib/resolvers/type/oauth-provider.js +0 -6
  184. package/lib/resolvers/type/oauth-provider.js.map +0 -1
  185. package/lib/resolvers/type/stock-types.d.ts +0 -14
  186. package/lib/resolvers/type/stock-types.d.ts.map +0 -1
  187. package/lib/resolvers/type/stock-types.js +0 -15
  188. package/lib/resolvers/type/stock-types.js.map +0 -1
  189. package/lib/user-context.d.ts +0 -7
  190. package/lib/user-context.d.ts.map +0 -1
  191. package/lib/user-context.js +0 -76
  192. package/lib/user-context.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateOrderPaymentCard.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/orders/updateOrderPaymentCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEtG,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,sBAAsB,CAClD,IAAU,EACV,EAAE,cAAc,EAAE,IAAI,EAA0C,EAChE,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpC,GAAG,CAAC,mCAAmC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7F,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClE,cAAc;KACf,CAAC,CAAC;IACH,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,yBAAyB,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IAErF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;QACnE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;KAClD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,CAAC;IAEpC,IAAI,YAAY,KAAK,mBAAmB,CAAC,IAAI;QAC3C,MAAM,IAAI,qBAAqB,CAAC;YAC9B,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,mBAAmB,CAAC,IAAI;SACnC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AACpF,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Context, Root } from '@unchainedshop/types/api.js';
2
- export default function addProductMedia(root: Root, { media, productId }: {
3
- media: any;
4
- productId: any;
5
- }, context: Context): Promise<import("@unchainedshop/types/products.media.js").ProductMedia>;
6
- //# sourceMappingURL=addProductMedia.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addProductMedia.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/products/addProductMedia.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;;;CAAA,EAAE,OAAO,EAAE,OAAO,0EAmB/F"}
@@ -1,18 +0,0 @@
1
- import { log } from '@unchainedshop/logger';
2
- import { ProductNotFoundError, InvalidIdError } from '../../../errors.js';
3
- export default async function addProductMedia(root, { media, productId }, context) {
4
- const { modules, services, userId } = context;
5
- log(`mutation addProductMedia ${productId}`, { userId });
6
- if (!productId)
7
- throw new InvalidIdError({ productId });
8
- const product = await modules.products.findProduct({ productId });
9
- if (!product)
10
- throw new ProductNotFoundError({ productId });
11
- const file = await services.files.uploadFileFromStream({
12
- directoryName: 'product-media',
13
- rawFile: media,
14
- meta: { productId },
15
- }, context);
16
- return modules.products.media.create({ productId, mediaId: file._id });
17
- }
18
- //# sourceMappingURL=addProductMedia.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addProductMedia.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/products/addProductMedia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAgB;IAC9F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,GAAG,CAAC,4BAA4B,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CACpD;QACE,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,EAAE,SAAS,EAAE;KACpB,EACD,OAAO,CACR,CAAC;IAEF,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACzE,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Context, Root } from '@unchainedshop/types/api.js';
2
- export default function updateUserAvatar(root: Root, params: {
3
- avatar: any;
4
- userId: string;
5
- }, context: Context): Promise<import("@unchainedshop/types/user.js").User>;
6
- //# sourceMappingURL=updateUserAvatar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateUserAvatar.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/users/updateUserAvatar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,gBAAgB,CAC5C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvC,OAAO,EAAE,OAAO,wDA+BjB"}
@@ -1,22 +0,0 @@
1
- import { log } from '@unchainedshop/logger';
2
- import { UserNotFoundError } from '../../../errors.js';
3
- export default async function updateUserAvatar(root, params, context) {
4
- const { modules, services, userId } = context;
5
- const normalizedUserId = params.userId || userId;
6
- log(`mutation updateUserAvatar ${normalizedUserId}`, { userId });
7
- if (!(await modules.users.userExists({ userId: normalizedUserId })))
8
- throw new UserNotFoundError({ userId: normalizedUserId });
9
- const user = await modules.users.findUserById(normalizedUserId);
10
- const file = await services.files.uploadFileFromStream({
11
- directoryName: 'user-avatars',
12
- rawFile: params.avatar,
13
- meta: { userId: normalizedUserId },
14
- }, context);
15
- if (user?.avatarId) {
16
- await services.files.removeFiles({
17
- fileIds: [user.avatarId],
18
- }, context);
19
- }
20
- return modules.users.updateAvatar(normalizedUserId, file._id);
21
- }
22
- //# sourceMappingURL=updateUserAvatar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateUserAvatar.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/users/updateUserAvatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAC5C,IAAU,EACV,MAAuC,EACvC,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IAEjD,GAAG,CAAC,6BAA6B,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CACpD;QACE,aAAa,EAAE,cAAc;QAC7B,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;KACnC,EACD,OAAO,CACR,CAAC;IAEF,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnB,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAC9B;YACE,OAAO,EAAE,CAAC,IAAI,CAAC,QAAkB,CAAC;SACnC,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE,CAAC"}
@@ -1,7 +0,0 @@
1
- import { Context } from '@unchainedshop/types/api.js';
2
- import { User } from '@unchainedshop/types/user.js';
3
- export declare const getOrderCart: (params: {
4
- orderId?: string;
5
- user: User;
6
- }, context: Context) => Promise<import("@unchainedshop/types/orders.js").Order>;
7
- //# sourceMappingURL=getOrderCart.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getOrderCart.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/utils/getOrderCart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAGpD,eAAO,MAAM,YAAY,WAAkB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,WAAW,OAAO,4DAc5F,CAAC"}
@@ -1,13 +0,0 @@
1
- import { OrderNotFoundError } from '../../../errors.js';
2
- export const getOrderCart = async (params, context) => {
3
- const { modules, services } = context;
4
- const { orderId, user } = params;
5
- if (orderId) {
6
- const order = await modules.orders.findOrder({ orderId });
7
- if (!order)
8
- throw new OrderNotFoundError({ orderId });
9
- return order;
10
- }
11
- return services.orders.nextUserCart({ user, countryCode: context.countryContext, forceCartCreation: true }, context);
12
- };
13
- //# sourceMappingURL=getOrderCart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getOrderCart.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/utils/getOrderCart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,MAAwC,EAAE,OAAgB,EAAE,EAAE;IAC/F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CACjC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,iBAAiB,EAAE,IAAI,EAAE,EACtE,OAAO,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- export declare const Color: {
2
- name({ colorName }: {
3
- colorName: any;
4
- }): any;
5
- hex({ colorHex }: {
6
- colorHex: any;
7
- }): any;
8
- red({ colorHex }: {
9
- colorHex: any;
10
- }): number;
11
- green({ colorHex }: {
12
- colorHex: any;
13
- }): number;
14
- blue({ colorHex }: {
15
- colorHex: any;
16
- }): number;
17
- };
18
- //# sourceMappingURL=color-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-types.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/color-types.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;CAmBjB,CAAC"}
@@ -1,31 +0,0 @@
1
- function hexToRgb(hex) {
2
- const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
3
- return result
4
- ? {
5
- r: parseInt(result[1], 16),
6
- g: parseInt(result[2], 16),
7
- b: parseInt(result[3], 16),
8
- }
9
- : null;
10
- }
11
- export const Color = {
12
- name({ colorName }) {
13
- return colorName;
14
- },
15
- hex({ colorHex }) {
16
- return colorHex;
17
- },
18
- red({ colorHex }) {
19
- const result = hexToRgb(colorHex);
20
- return result.r || 0;
21
- },
22
- green({ colorHex }) {
23
- const result = hexToRgb(colorHex);
24
- return result.g || 0;
25
- },
26
- blue({ colorHex }) {
27
- const result = hexToRgb(colorHex);
28
- return result.b || 0;
29
- },
30
- };
31
- //# sourceMappingURL=color-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/color-types.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,CAAC,GAAG;IACnB,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,MAAM;QACX,CAAC,CAAC;YACE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC3B;QACH,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,CAAC,EAAE,SAAS,EAAE;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,EAAE,QAAQ,EAAE;QACd,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,GAAG,CAAC,EAAE,QAAQ,EAAE;QACd,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,KAAK,CAAC,EAAE,QAAQ,EAAE;QAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,EAAE,QAAQ,EAAE;QACf,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;CACF,CAAC"}
@@ -1,15 +0,0 @@
1
- import { DeliveryProvider } from '@unchainedshop/types/delivery.js';
2
- import { Product } from '@unchainedshop/types/products.js';
3
- import { WarehousingProvider } from '@unchainedshop/types/warehousing.js';
4
- export declare const Dispatch: {
5
- _id: (params: {
6
- product: Product;
7
- deliveryProvider: DeliveryProvider;
8
- warehousingProvider: WarehousingProvider;
9
- referenceDate: Date;
10
- quantity: number;
11
- country: string;
12
- userId?: string;
13
- }) => string;
14
- };
15
- //# sourceMappingURL=dispatch-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatch-types.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/dispatch-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,eAAO,MAAM,QAAQ;kBACL;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,aAAa,EAAE,IAAI,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAeF,CAAC"}
@@ -1,16 +0,0 @@
1
- import crypto from 'crypto';
2
- export const Dispatch = {
3
- _id: (params) => crypto
4
- .createHash('sha256')
5
- .update([
6
- params.product._id,
7
- params.deliveryProvider._id,
8
- params.warehousingProvider._id,
9
- params.referenceDate,
10
- params.quantity,
11
- params.country,
12
- params.userId || 'ANONYMOUS',
13
- ].join(''))
14
- .digest('hex'),
15
- };
16
- //# sourceMappingURL=dispatch-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatch-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/dispatch-types.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,CAAC,MAQL,EAAE,EAAE,CACH,MAAM;SACH,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CACL;QACE,MAAM,CAAC,OAAO,CAAC,GAAG;QAClB,MAAM,CAAC,gBAAgB,CAAC,GAAG;QAC3B,MAAM,CAAC,mBAAmB,CAAC,GAAG;QAC9B,MAAM,CAAC,aAAa;QACpB,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM,IAAI,WAAW;KAC7B,CAAC,IAAI,CAAC,EAAE,CAAC,CACX;SACA,MAAM,CAAC,KAAK,CAAC;CACnB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Context } from '@unchainedshop/types/api.js';
2
- export declare const OAuthAccount: {
3
- _id: (account: any) => any;
4
- provider: (account: any, _: never, { modules }: Context) => Promise<import("@unchainedshop/types/accounts.js").IOAuth2Adapter>;
5
- };
6
- //# sourceMappingURL=oauth-account.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-account.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/oauth-account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,eAAO,MAAM,YAAY;;gCAEM,KAAK,eAAe,OAAO;CAGzD,CAAC"}
@@ -1,7 +0,0 @@
1
- export const OAuthAccount = {
2
- _id: (account) => account.id,
3
- provider: async (account, _, { modules }) => {
4
- return modules.accounts.oAuth2.getProvider(account.provider);
5
- },
6
- };
7
- //# sourceMappingURL=oauth-account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-account.js","sourceRoot":"","sources":["../../../src/resolvers/type/oauth-account.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;IAC5B,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAQ,EAAE,EAAE,OAAO,EAAW,EAAE,EAAE;QAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACF,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare const OAuthProvider: {
2
- _id: (adapter: any) => any;
3
- clientId: (adapter: any) => any;
4
- scopes: (adapter: any) => any;
5
- };
6
- //# sourceMappingURL=oauth-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-provider.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/oauth-provider.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;CAIzB,CAAC"}
@@ -1,6 +0,0 @@
1
- export const OAuthProvider = {
2
- _id: (adapter) => adapter.provider,
3
- clientId: (adapter) => adapter.config?.clientId,
4
- scopes: (adapter) => adapter.config?.scopes || [],
5
- };
6
- //# sourceMappingURL=oauth-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-provider.js","sourceRoot":"","sources":["../../../src/resolvers/type/oauth-provider.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ;IAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ;IAC/C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE;CAClD,CAAC"}
@@ -1,14 +0,0 @@
1
- import { DeliveryProvider } from '@unchainedshop/types/delivery.js';
2
- import { Product } from '@unchainedshop/types/products.js';
3
- import { WarehousingProvider } from '@unchainedshop/types/warehousing.js';
4
- export declare const Stock: {
5
- _id: (params: {
6
- product: Product;
7
- deliveryProvider: DeliveryProvider;
8
- warehousingProvider: WarehousingProvider;
9
- referenceDate: Date;
10
- country: string;
11
- userId?: string;
12
- }) => string;
13
- };
14
- //# sourceMappingURL=stock-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stock-types.d.ts","sourceRoot":"","sources":["../../../src/resolvers/type/stock-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,eAAO,MAAM,KAAK;kBACF;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,aAAa,EAAE,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAcF,CAAC"}
@@ -1,15 +0,0 @@
1
- import crypto from 'crypto';
2
- export const Stock = {
3
- _id: (params) => crypto
4
- .createHash('sha256')
5
- .update([
6
- params.product._id,
7
- params.deliveryProvider._id,
8
- params.warehousingProvider._id,
9
- params.referenceDate,
10
- params.country,
11
- params.userId || 'ANONYMOUS',
12
- ].join(''))
13
- .digest('hex'),
14
- };
15
- //# sourceMappingURL=stock-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stock-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/stock-types.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE,CAAC,MAOL,EAAE,EAAE,CACH,MAAM;SACH,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CACL;QACE,MAAM,CAAC,OAAO,CAAC,GAAG;QAClB,MAAM,CAAC,gBAAgB,CAAC,GAAG;QAC3B,MAAM,CAAC,mBAAmB,CAAC,GAAG;QAC9B,MAAM,CAAC,aAAa;QACpB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM,IAAI,WAAW;KAC7B,CAAC,IAAI,CAAC,EAAE,CAAC,CACX;SACA,MAAM,CAAC,KAAK,CAAC;CACnB,CAAC"}
@@ -1,7 +0,0 @@
1
- import { IncomingMessage, OutgoingMessage } from 'http';
2
- import { UnchainedUserContext } from '@unchainedshop/types/api.js';
3
- import { UnchainedCore } from '@unchainedshop/types/core.js';
4
- export declare const getUserContext: (req: IncomingMessage & {
5
- cookies?: any;
6
- }, res: OutgoingMessage, unchainedAPI: UnchainedCore) => Promise<UnchainedUserContext>;
7
- //# sourceMappingURL=user-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-context.d.ts","sourceRoot":"","sources":["../src/user-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AA0C7D,eAAO,MAAM,cAAc,QACpB,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,OACnC,eAAe,gBACN,aAAa,KAC1B,OAAO,CAAC,oBAAoB,CAsD9B,CAAC"}
@@ -1,76 +0,0 @@
1
- import cookie from 'cookie';
2
- function isString(input) {
3
- return typeof input === 'string' && Object.prototype.toString.call(input) === '[object String]';
4
- }
5
- const { UNCHAINED_COOKIE_NAME = 'unchained_token', UNCHAINED_COOKIE_PATH = '/', UNCHAINED_COOKIE_DOMAIN, UNCHAINED_COOKIE_SAMESITE, UNCHAINED_COOKIE_INSECURE, } = process.env;
6
- function setLoginToken(res, token, expires) {
7
- const cookieName = UNCHAINED_COOKIE_NAME;
8
- const domain = UNCHAINED_COOKIE_DOMAIN;
9
- const path = UNCHAINED_COOKIE_PATH;
10
- const secure = UNCHAINED_COOKIE_INSECURE ? false : true;
11
- const sameSite = ({
12
- none: 'none',
13
- lax: 'lax',
14
- strict: 'strict',
15
- '1': true,
16
- '0': false,
17
- }[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || false);
18
- if (!cookieName)
19
- return;
20
- const authCookie = cookie.serialize(cookieName, token || null, {
21
- domain,
22
- httpOnly: true,
23
- path,
24
- expires: token && expires ? expires : undefined,
25
- maxAge: token ? undefined : -1,
26
- sameSite,
27
- secure,
28
- });
29
- res.setHeader('Set-Cookie', authCookie);
30
- }
31
- export const getUserContext = async (req, res, unchainedAPI) => {
32
- // there is a possible current user connected!
33
- const cookieName = UNCHAINED_COOKIE_NAME;
34
- let loginToken = req.cookies?.[cookieName];
35
- if (req.headers.authorization) {
36
- const [type, token] = req.headers.authorization.split(' ');
37
- if (type === 'Bearer') {
38
- loginToken = token;
39
- }
40
- }
41
- if (loginToken) {
42
- // throw an error if the token is not a string
43
- if (!isString(loginToken))
44
- throw new Error('Access Token is not a string');
45
- // the hashed token is the key to find the possible current user in the db
46
- const hashedToken = unchainedAPI.modules.accounts.createHashLoginToken(loginToken);
47
- const currentUser = await unchainedAPI.modules.users.findUserByToken({
48
- hashedToken,
49
- });
50
- // the current user exists
51
- if (currentUser) {
52
- // find the right login token corresponding, the current user may have
53
- // several sessions logged on different browsers / computers
54
- const tokenInformation = currentUser.services.resume.loginTokens.find((tokenInfo) => tokenInfo.hashedToken === hashedToken); // eslint-disable-line
55
- // true if the token is expired
56
- const isExpired = new Date(tokenInformation.when) < new Date();
57
- // if the token is still valid, give access to the current user
58
- // information in the resolvers context
59
- if (!isExpired) {
60
- // return a new context object with the current user & her id
61
- return {
62
- user: currentUser,
63
- userId: currentUser._id,
64
- loginToken: loginToken,
65
- setLoginToken,
66
- };
67
- }
68
- }
69
- // If there is no user with this token or the token is expires/invalid,
70
- // we should remove that cookie from the client
71
- setLoginToken(res, null);
72
- return { loginToken: loginToken, setLoginToken };
73
- }
74
- return { setLoginToken };
75
- };
76
- //# sourceMappingURL=user-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-context.js","sourceRoot":"","sources":["../src/user-context.ts"],"names":[],"mappings":"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"}