@unchainedshop/api 2.0.0-beta8 → 2.0.0-beta9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/jest.config.js +9 -0
  2. package/lib/acl.d.ts +2 -0
  3. package/lib/acl.js +2 -2
  4. package/lib/acl.js.map +1 -1
  5. package/lib/api-index.d.ts +1 -0
  6. package/lib/api-index.js +1 -1
  7. package/lib/api-index.js.map +1 -1
  8. package/lib/createGraphQLServer.js +11 -17
  9. package/lib/createGraphQLServer.js.map +1 -1
  10. package/lib/errors.d.ts +20 -0
  11. package/lib/errors.js +20 -0
  12. package/lib/errors.js.map +1 -1
  13. package/lib/express/createBulkImportMiddleware.js +1 -1
  14. package/lib/express/createBulkImportMiddleware.js.map +1 -1
  15. package/lib/express/createERCMetadataMiddleware.js +2 -1
  16. package/lib/express/createERCMetadataMiddleware.js.map +1 -1
  17. package/lib/express/createSingleSignOnMiddleware.js.map +1 -1
  18. package/lib/loaders/index.js +5 -9
  19. package/lib/loaders/index.js.map +1 -1
  20. package/lib/resolvers/mutations/accounts/changePassword.js +12 -1
  21. package/lib/resolvers/mutations/accounts/changePassword.js.map +1 -1
  22. package/lib/resolvers/mutations/accounts/createUser.js +17 -3
  23. package/lib/resolvers/mutations/accounts/createUser.js.map +1 -1
  24. package/lib/resolvers/mutations/accounts/disableTOTP.js +15 -2
  25. package/lib/resolvers/mutations/accounts/disableTOTP.js.map +1 -1
  26. package/lib/resolvers/mutations/accounts/enableTOTP.js +12 -1
  27. package/lib/resolvers/mutations/accounts/enableTOTP.js.map +1 -1
  28. package/lib/resolvers/mutations/accounts/enrollUser.js +17 -4
  29. package/lib/resolvers/mutations/accounts/enrollUser.js.map +1 -1
  30. package/lib/resolvers/mutations/accounts/forgotPassword.js +11 -1
  31. package/lib/resolvers/mutations/accounts/forgotPassword.js.map +1 -1
  32. package/lib/resolvers/mutations/accounts/impersonate.js +1 -1
  33. package/lib/resolvers/mutations/accounts/impersonate.js.map +1 -1
  34. package/lib/resolvers/mutations/accounts/loginWithPassword.js +19 -1
  35. package/lib/resolvers/mutations/accounts/loginWithPassword.js.map +1 -1
  36. package/lib/resolvers/mutations/accounts/loginWithWebAuthn.js +13 -1
  37. package/lib/resolvers/mutations/accounts/loginWithWebAuthn.js.map +1 -1
  38. package/lib/resolvers/mutations/accounts/logout.d.ts +1 -1
  39. package/lib/resolvers/mutations/accounts/logout.js +6 -2
  40. package/lib/resolvers/mutations/accounts/logout.js.map +1 -1
  41. package/lib/resolvers/mutations/accounts/logoutAllSessions.js +4 -1
  42. package/lib/resolvers/mutations/accounts/logoutAllSessions.js.map +1 -1
  43. package/lib/resolvers/mutations/accounts/resetPassword.js +17 -2
  44. package/lib/resolvers/mutations/accounts/resetPassword.js.map +1 -1
  45. package/lib/resolvers/mutations/assortments/addAssortmentFilter.js +1 -2
  46. package/lib/resolvers/mutations/assortments/addAssortmentFilter.js.map +1 -1
  47. package/lib/resolvers/mutations/assortments/addAssortmentLink.js +16 -9
  48. package/lib/resolvers/mutations/assortments/addAssortmentLink.js.map +1 -1
  49. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js +2 -3
  50. package/lib/resolvers/mutations/assortments/addAssortmentMedia.js.map +1 -1
  51. package/lib/resolvers/mutations/assortments/addAssortmentProduct.js +1 -2
  52. package/lib/resolvers/mutations/assortments/addAssortmentProduct.js.map +1 -1
  53. package/lib/resolvers/mutations/assortments/createAssortment.js +1 -2
  54. package/lib/resolvers/mutations/assortments/createAssortment.js.map +1 -1
  55. package/lib/resolvers/mutations/assortments/prepareAssortmentMediaUpload.js +0 -1
  56. package/lib/resolvers/mutations/assortments/prepareAssortmentMediaUpload.js.map +1 -1
  57. package/lib/resolvers/mutations/assortments/removeAssortmentMedia.js +2 -2
  58. package/lib/resolvers/mutations/assortments/removeAssortmentMedia.js.map +1 -1
  59. package/lib/resolvers/mutations/assortments/reorderAssortmentFilters.js +1 -1
  60. package/lib/resolvers/mutations/assortments/reorderAssortmentFilters.js.map +1 -1
  61. package/lib/resolvers/mutations/assortments/reorderAssortmentLinks.js +1 -1
  62. package/lib/resolvers/mutations/assortments/reorderAssortmentLinks.js.map +1 -1
  63. package/lib/resolvers/mutations/assortments/reorderAssortmentMedia.js +1 -1
  64. package/lib/resolvers/mutations/assortments/reorderAssortmentMedia.js.map +1 -1
  65. package/lib/resolvers/mutations/assortments/reorderAssortmentProducts.js +1 -1
  66. package/lib/resolvers/mutations/assortments/reorderAssortmentProducts.js.map +1 -1
  67. package/lib/resolvers/mutations/assortments/setBaseAssortment.js +1 -1
  68. package/lib/resolvers/mutations/assortments/setBaseAssortment.js.map +1 -1
  69. package/lib/resolvers/mutations/assortments/updateAssortment.js +1 -1
  70. package/lib/resolvers/mutations/assortments/updateAssortment.js.map +1 -1
  71. package/lib/resolvers/mutations/assortments/updateAssortmentMediaTexts.js +1 -1
  72. package/lib/resolvers/mutations/assortments/updateAssortmentMediaTexts.js.map +1 -1
  73. package/lib/resolvers/mutations/assortments/updateAssortmentTexts.js +1 -1
  74. package/lib/resolvers/mutations/assortments/updateAssortmentTexts.js.map +1 -1
  75. package/lib/resolvers/mutations/bookmarks/bookmark.js +2 -2
  76. package/lib/resolvers/mutations/bookmarks/bookmark.js.map +1 -1
  77. package/lib/resolvers/mutations/bookmarks/createBookmark.js +1 -1
  78. package/lib/resolvers/mutations/bookmarks/createBookmark.js.map +1 -1
  79. package/lib/resolvers/mutations/countries/createCountry.js +1 -2
  80. package/lib/resolvers/mutations/countries/createCountry.js.map +1 -1
  81. package/lib/resolvers/mutations/countries/removeCountry.js +1 -1
  82. package/lib/resolvers/mutations/countries/removeCountry.js.map +1 -1
  83. package/lib/resolvers/mutations/countries/updateCountry.js +1 -1
  84. package/lib/resolvers/mutations/countries/updateCountry.js.map +1 -1
  85. package/lib/resolvers/mutations/currencies/createCurrency.js +1 -2
  86. package/lib/resolvers/mutations/currencies/createCurrency.js.map +1 -1
  87. package/lib/resolvers/mutations/currencies/removeCurrency.js +1 -1
  88. package/lib/resolvers/mutations/currencies/removeCurrency.js.map +1 -1
  89. package/lib/resolvers/mutations/currencies/updateCurrency.js +1 -1
  90. package/lib/resolvers/mutations/currencies/updateCurrency.js.map +1 -1
  91. package/lib/resolvers/mutations/delivery/createDeliveryProvider.js +1 -2
  92. package/lib/resolvers/mutations/delivery/createDeliveryProvider.js.map +1 -1
  93. package/lib/resolvers/mutations/delivery/removeDeliveryProvider.js +1 -1
  94. package/lib/resolvers/mutations/delivery/removeDeliveryProvider.js.map +1 -1
  95. package/lib/resolvers/mutations/delivery/updateDeliveryProvider.js +1 -1
  96. package/lib/resolvers/mutations/delivery/updateDeliveryProvider.js.map +1 -1
  97. package/lib/resolvers/mutations/enrollments/activateEnrollment.js +1 -1
  98. package/lib/resolvers/mutations/enrollments/activateEnrollment.js.map +1 -1
  99. package/lib/resolvers/mutations/enrollments/terminateEnrollment.js +1 -1
  100. package/lib/resolvers/mutations/enrollments/terminateEnrollment.js.map +1 -1
  101. package/lib/resolvers/mutations/enrollments/updateEnrollment.js +5 -5
  102. package/lib/resolvers/mutations/enrollments/updateEnrollment.js.map +1 -1
  103. package/lib/resolvers/mutations/filters/createFilter.js +1 -2
  104. package/lib/resolvers/mutations/filters/createFilter.js.map +1 -1
  105. package/lib/resolvers/mutations/filters/createFilterOption.js +1 -1
  106. package/lib/resolvers/mutations/filters/createFilterOption.js.map +1 -1
  107. package/lib/resolvers/mutations/filters/removeFilter.d.ts +1 -1
  108. package/lib/resolvers/mutations/filters/removeFilter.js +3 -3
  109. package/lib/resolvers/mutations/filters/removeFilter.js.map +1 -1
  110. package/lib/resolvers/mutations/filters/updateFilter.js +1 -1
  111. package/lib/resolvers/mutations/filters/updateFilter.js.map +1 -1
  112. package/lib/resolvers/mutations/filters/updateFilterTexts.js +1 -1
  113. package/lib/resolvers/mutations/filters/updateFilterTexts.js.map +1 -1
  114. package/lib/resolvers/mutations/index.d.ts +1 -0
  115. package/lib/resolvers/mutations/index.js +2 -0
  116. package/lib/resolvers/mutations/index.js.map +1 -1
  117. package/lib/resolvers/mutations/languages/createLanguage.js +1 -2
  118. package/lib/resolvers/mutations/languages/createLanguage.js.map +1 -1
  119. package/lib/resolvers/mutations/languages/removeLanguage.js +1 -1
  120. package/lib/resolvers/mutations/languages/removeLanguage.js.map +1 -1
  121. package/lib/resolvers/mutations/languages/updateLanguage.js +1 -1
  122. package/lib/resolvers/mutations/languages/updateLanguage.js.map +1 -1
  123. package/lib/resolvers/mutations/orders/createCart.js +1 -1
  124. package/lib/resolvers/mutations/orders/createCart.js.map +1 -1
  125. package/lib/resolvers/mutations/orders/payOrder.js +1 -1
  126. package/lib/resolvers/mutations/orders/payOrder.js.map +1 -1
  127. package/lib/resolvers/mutations/orders/removeOrder.js +1 -1
  128. package/lib/resolvers/mutations/orders/removeOrder.js.map +1 -1
  129. package/lib/resolvers/mutations/payment/createPaymentProvider.js +1 -2
  130. package/lib/resolvers/mutations/payment/createPaymentProvider.js.map +1 -1
  131. package/lib/resolvers/mutations/payment/registerPaymentCredentials.js +2 -2
  132. package/lib/resolvers/mutations/payment/registerPaymentCredentials.js.map +1 -1
  133. package/lib/resolvers/mutations/payment/removePaymentProvider.js +1 -1
  134. package/lib/resolvers/mutations/payment/removePaymentProvider.js.map +1 -1
  135. package/lib/resolvers/mutations/payment/updatePaymentProvider.js +1 -1
  136. package/lib/resolvers/mutations/payment/updatePaymentProvider.js.map +1 -1
  137. package/lib/resolvers/mutations/products/addProductAssignment.js +1 -1
  138. package/lib/resolvers/mutations/products/addProductAssignment.js.map +1 -1
  139. package/lib/resolvers/mutations/products/addProductMedia.js +1 -2
  140. package/lib/resolvers/mutations/products/addProductMedia.js.map +1 -1
  141. package/lib/resolvers/mutations/products/addProductReviewVote.js +1 -1
  142. package/lib/resolvers/mutations/products/addProductReviewVote.js.map +1 -1
  143. package/lib/resolvers/mutations/products/createProduct.js +1 -2
  144. package/lib/resolvers/mutations/products/createProduct.js.map +1 -1
  145. package/lib/resolvers/mutations/products/createProductBundleItem.js +1 -1
  146. package/lib/resolvers/mutations/products/createProductBundleItem.js.map +1 -1
  147. package/lib/resolvers/mutations/products/createProductReview.js +1 -1
  148. package/lib/resolvers/mutations/products/createProductReview.js.map +1 -1
  149. package/lib/resolvers/mutations/products/createProductVariation.js +1 -2
  150. package/lib/resolvers/mutations/products/createProductVariation.js.map +1 -1
  151. package/lib/resolvers/mutations/products/createProductVariationOption.js +4 -1
  152. package/lib/resolvers/mutations/products/createProductVariationOption.js.map +1 -1
  153. package/lib/resolvers/mutations/products/prepareProductMediaUpload.js +0 -1
  154. package/lib/resolvers/mutations/products/prepareProductMediaUpload.js.map +1 -1
  155. package/lib/resolvers/mutations/products/publishProduct.js +1 -1
  156. package/lib/resolvers/mutations/products/publishProduct.js.map +1 -1
  157. package/lib/resolvers/mutations/products/removeBundleItem.js +2 -2
  158. package/lib/resolvers/mutations/products/removeBundleItem.js.map +1 -1
  159. package/lib/resolvers/mutations/products/removeProduct.js +14 -2
  160. package/lib/resolvers/mutations/products/removeProduct.js.map +1 -1
  161. package/lib/resolvers/mutations/products/removeProductAssignment.js +1 -1
  162. package/lib/resolvers/mutations/products/removeProductAssignment.js.map +1 -1
  163. package/lib/resolvers/mutations/products/removeProductMedia.js +2 -2
  164. package/lib/resolvers/mutations/products/removeProductMedia.js.map +1 -1
  165. package/lib/resolvers/mutations/products/removeProductReview.js +1 -1
  166. package/lib/resolvers/mutations/products/removeProductReview.js.map +1 -1
  167. package/lib/resolvers/mutations/products/removeProductReviewVote.js +1 -1
  168. package/lib/resolvers/mutations/products/removeProductReviewVote.js.map +1 -1
  169. package/lib/resolvers/mutations/products/removeProductVariation.js +1 -1
  170. package/lib/resolvers/mutations/products/removeProductVariation.js.map +1 -1
  171. package/lib/resolvers/mutations/products/removeProductVariationOption.js +1 -1
  172. package/lib/resolvers/mutations/products/removeProductVariationOption.js.map +1 -1
  173. package/lib/resolvers/mutations/products/reorderProductMedia.js +1 -1
  174. package/lib/resolvers/mutations/products/reorderProductMedia.js.map +1 -1
  175. package/lib/resolvers/mutations/products/unpublishProduct.js +1 -1
  176. package/lib/resolvers/mutations/products/unpublishProduct.js.map +1 -1
  177. package/lib/resolvers/mutations/products/updateProduct.js +1 -1
  178. package/lib/resolvers/mutations/products/updateProduct.js.map +1 -1
  179. package/lib/resolvers/mutations/products/updateProductCommerce.js +1 -1
  180. package/lib/resolvers/mutations/products/updateProductCommerce.js.map +1 -1
  181. package/lib/resolvers/mutations/products/updateProductMediaTexts.js +1 -1
  182. package/lib/resolvers/mutations/products/updateProductMediaTexts.js.map +1 -1
  183. package/lib/resolvers/mutations/products/updateProductPlan.js +1 -1
  184. package/lib/resolvers/mutations/products/updateProductPlan.js.map +1 -1
  185. package/lib/resolvers/mutations/products/updateProductReview.js +1 -1
  186. package/lib/resolvers/mutations/products/updateProductReview.js.map +1 -1
  187. package/lib/resolvers/mutations/products/updateProductSupply.js +1 -1
  188. package/lib/resolvers/mutations/products/updateProductSupply.js.map +1 -1
  189. package/lib/resolvers/mutations/products/updateProductTexts.js +1 -1
  190. package/lib/resolvers/mutations/products/updateProductTexts.js.map +1 -1
  191. package/lib/resolvers/mutations/products/updateProductTokenization.js +1 -1
  192. package/lib/resolvers/mutations/products/updateProductTokenization.js.map +1 -1
  193. package/lib/resolvers/mutations/products/updateProductVariationTexts.js +1 -1
  194. package/lib/resolvers/mutations/products/updateProductVariationTexts.js.map +1 -1
  195. package/lib/resolvers/mutations/products/updateProductWarehousing.js +1 -1
  196. package/lib/resolvers/mutations/products/updateProductWarehousing.js.map +1 -1
  197. package/lib/resolvers/mutations/users/prepareUserAvatarUpload.js +0 -1
  198. package/lib/resolvers/mutations/users/prepareUserAvatarUpload.js.map +1 -1
  199. package/lib/resolvers/mutations/users/removeUser.d.ts +4 -0
  200. package/lib/resolvers/mutations/users/removeUser.js +11 -0
  201. package/lib/resolvers/mutations/users/removeUser.js.map +1 -0
  202. package/lib/resolvers/mutations/users/setRoles.js +1 -1
  203. package/lib/resolvers/mutations/users/setRoles.js.map +1 -1
  204. package/lib/resolvers/mutations/users/setUserTags.js +1 -1
  205. package/lib/resolvers/mutations/users/setUserTags.js.map +1 -1
  206. package/lib/resolvers/mutations/users/updateUserAvatar.js +1 -2
  207. package/lib/resolvers/mutations/users/updateUserAvatar.js.map +1 -1
  208. package/lib/resolvers/mutations/users/updateUserProfile.js +1 -1
  209. package/lib/resolvers/mutations/users/updateUserProfile.js.map +1 -1
  210. package/lib/resolvers/mutations/utils/getOrderCart.js +1 -1
  211. package/lib/resolvers/mutations/utils/getOrderCart.js.map +1 -1
  212. package/lib/resolvers/mutations/warehousing/createWarehousingProvider.js +1 -2
  213. package/lib/resolvers/mutations/warehousing/createWarehousingProvider.js.map +1 -1
  214. package/lib/resolvers/mutations/warehousing/removeWarehousingProvider.js +1 -1
  215. package/lib/resolvers/mutations/warehousing/removeWarehousingProvider.js.map +1 -1
  216. package/lib/resolvers/mutations/warehousing/updateWarehousingProvider.js +1 -1
  217. package/lib/resolvers/mutations/warehousing/updateWarehousingProvider.js.map +1 -1
  218. package/lib/resolvers/mutations/worker/addWork.js +1 -1
  219. package/lib/resolvers/mutations/worker/addWork.js.map +1 -1
  220. package/lib/resolvers/mutations/worker/finishWork.js +1 -1
  221. package/lib/resolvers/mutations/worker/finishWork.js.map +1 -1
  222. package/lib/resolvers/mutations/worker/removeWork.js +1 -1
  223. package/lib/resolvers/mutations/worker/removeWork.js.map +1 -1
  224. package/lib/resolvers/queries/products/productCatalogPrices.js +0 -1
  225. package/lib/resolvers/queries/products/productCatalogPrices.js.map +1 -1
  226. package/lib/resolvers/queries/users/users.d.ts +2 -1
  227. package/lib/resolvers/queries/users/users.js.map +1 -1
  228. package/lib/resolvers/queries/worker/workQueue.d.ts +1 -1
  229. package/lib/resolvers/queries/worker/workQueue.js +1 -1
  230. package/lib/resolvers/queries/worker/workQueue.js.map +1 -1
  231. package/lib/resolvers/type/assortment/assortment-filter-types.js +0 -1
  232. package/lib/resolvers/type/assortment/assortment-filter-types.js.map +1 -1
  233. package/lib/resolvers/type/assortment/assortment-link-types.js +0 -2
  234. package/lib/resolvers/type/assortment/assortment-link-types.js.map +1 -1
  235. package/lib/resolvers/type/assortment/assortment-media-types.js +2 -0
  236. package/lib/resolvers/type/assortment/assortment-media-types.js.map +1 -1
  237. package/lib/resolvers/type/assortment/assortment-path-link-types.js +1 -0
  238. package/lib/resolvers/type/assortment/assortment-path-link-types.js.map +1 -1
  239. package/lib/resolvers/type/assortment/assortment-product-types.js +0 -2
  240. package/lib/resolvers/type/assortment/assortment-product-types.js.map +1 -1
  241. package/lib/resolvers/type/assortment/assortment-types.js +8 -4
  242. package/lib/resolvers/type/assortment/assortment-types.js.map +1 -1
  243. package/lib/resolvers/type/bookmark-types.js +0 -1
  244. package/lib/resolvers/type/bookmark-types.js.map +1 -1
  245. package/lib/resolvers/type/enrollment/enrollment-plan-tyes.js +0 -1
  246. package/lib/resolvers/type/enrollment/enrollment-plan-tyes.js.map +1 -1
  247. package/lib/resolvers/type/index.d.ts +1 -0
  248. package/lib/resolvers/type/login-method-response-types.d.ts +1 -0
  249. package/lib/resolvers/type/order/order-item-types.js +0 -3
  250. package/lib/resolvers/type/order/order-item-types.js.map +1 -1
  251. package/lib/resolvers/type/product/product-assortment-path-types.js +1 -0
  252. package/lib/resolvers/type/product/product-assortment-path-types.js.map +1 -1
  253. package/lib/resolvers/type/product/product-bundle-item-types.js +0 -1
  254. package/lib/resolvers/type/product/product-bundle-item-types.js.map +1 -1
  255. package/lib/resolvers/type/product/product-configurable-types.js +1 -0
  256. package/lib/resolvers/type/product/product-configurable-types.js.map +1 -1
  257. package/lib/resolvers/type/product/product-media-types.js +2 -0
  258. package/lib/resolvers/type/product/product-media-types.js.map +1 -1
  259. package/lib/resolvers/type/product/product-plan-types.js +1 -12
  260. package/lib/resolvers/type/product/product-plan-types.js.map +1 -1
  261. package/lib/resolvers/type/product/product-review-types.js +0 -1
  262. package/lib/resolvers/type/product/product-review-types.js.map +1 -1
  263. package/lib/resolvers/type/product/product-variation-assignment-types.js +0 -1
  264. package/lib/resolvers/type/product/product-variation-assignment-types.js.map +1 -1
  265. package/lib/resolvers/type/quotation-types.js +0 -1
  266. package/lib/resolvers/type/quotation-types.js.map +1 -1
  267. package/lib/resolvers/type/token-types.js +2 -1
  268. package/lib/resolvers/type/token-types.js.map +1 -1
  269. package/lib/resolvers/type/user-types.d.ts +3 -0
  270. package/lib/resolvers/type/user-types.js +10 -9
  271. package/lib/resolvers/type/user-types.js.map +1 -1
  272. package/lib/roles/admin.js +3 -72
  273. package/lib/roles/admin.js.map +1 -1
  274. package/lib/schema/mutation.js +20 -15
  275. package/lib/schema/mutation.js.map +1 -1
  276. package/lib/schema/query.js +14 -12
  277. package/lib/schema/query.js.map +1 -1
  278. package/lib/schema/types/assortment.js +1 -0
  279. package/lib/schema/types/assortment.js.map +1 -1
  280. package/lib/schema/types/dispatch.js +0 -1
  281. package/lib/schema/types/dispatch.js.map +1 -1
  282. package/lib/schema/types/product/plan-product.js +0 -1
  283. package/lib/schema/types/product/plan-product.js.map +1 -1
  284. package/lib/schema/types/product/simple-product.js +0 -1
  285. package/lib/schema/types/product/simple-product.js.map +1 -1
  286. package/lib/schema/types/product/tokenized-product.js +0 -1
  287. package/lib/schema/types/product/tokenized-product.js.map +1 -1
  288. package/lib/schema/types/stock.js +0 -1
  289. package/lib/schema/types/stock.js.map +1 -1
  290. package/lib/schema/types/user.js +3 -0
  291. package/lib/schema/types/user.js.map +1 -1
  292. package/package.json +12 -11
  293. package/src/acl.ts +2 -2
  294. package/src/api-index.ts +1 -1
  295. package/src/createGraphQLServer.ts +13 -24
  296. package/src/errors.ts +85 -0
  297. package/src/express/createBulkImportMiddleware.ts +6 -9
  298. package/src/express/createERCMetadataMiddleware.ts +2 -1
  299. package/src/express/createSingleSignOnMiddleware.ts +3 -2
  300. package/src/loaders/index.ts +27 -35
  301. package/src/resolvers/mutations/accounts/changePassword.ts +9 -2
  302. package/src/resolvers/mutations/accounts/createUser.ts +19 -4
  303. package/src/resolvers/mutations/accounts/disableTOTP.ts +13 -3
  304. package/src/resolvers/mutations/accounts/enableTOTP.ts +9 -2
  305. package/src/resolvers/mutations/accounts/enrollUser.ts +19 -4
  306. package/src/resolvers/mutations/accounts/forgotPassword.ts +8 -1
  307. package/src/resolvers/mutations/accounts/impersonate.ts +1 -1
  308. package/src/resolvers/mutations/accounts/loginWithPassword.ts +24 -1
  309. package/src/resolvers/mutations/accounts/loginWithWebAuthn.ts +13 -2
  310. package/src/resolvers/mutations/accounts/logout.ts +9 -2
  311. package/src/resolvers/mutations/accounts/logoutAllSessions.ts +7 -1
  312. package/src/resolvers/mutations/accounts/resetPassword.ts +19 -3
  313. package/src/resolvers/mutations/assortments/addAssortmentFilter.ts +5 -9
  314. package/src/resolvers/mutations/assortments/addAssortmentLink.ts +22 -14
  315. package/src/resolvers/mutations/assortments/addAssortmentMedia.ts +2 -6
  316. package/src/resolvers/mutations/assortments/addAssortmentProduct.ts +0 -2
  317. package/src/resolvers/mutations/assortments/createAssortment.ts +4 -8
  318. package/src/resolvers/mutations/assortments/prepareAssortmentMediaUpload.ts +0 -1
  319. package/src/resolvers/mutations/assortments/removeAssortmentMedia.ts +2 -2
  320. package/src/resolvers/mutations/assortments/reorderAssortmentFilters.ts +3 -6
  321. package/src/resolvers/mutations/assortments/reorderAssortmentLinks.ts +0 -1
  322. package/src/resolvers/mutations/assortments/reorderAssortmentMedia.ts +3 -6
  323. package/src/resolvers/mutations/assortments/reorderAssortmentProducts.ts +0 -1
  324. package/src/resolvers/mutations/assortments/setBaseAssortment.ts +1 -1
  325. package/src/resolvers/mutations/assortments/updateAssortment.ts +1 -1
  326. package/src/resolvers/mutations/assortments/updateAssortmentMediaTexts.ts +1 -1
  327. package/src/resolvers/mutations/assortments/updateAssortmentTexts.ts +1 -1
  328. package/src/resolvers/mutations/bookmarks/bookmark.ts +4 -7
  329. package/src/resolvers/mutations/bookmarks/createBookmark.ts +4 -7
  330. package/src/resolvers/mutations/countries/createCountry.ts +3 -7
  331. package/src/resolvers/mutations/countries/removeCountry.ts +1 -1
  332. package/src/resolvers/mutations/countries/updateCountry.ts +1 -1
  333. package/src/resolvers/mutations/currencies/createCurrency.ts +3 -7
  334. package/src/resolvers/mutations/currencies/removeCurrency.ts +1 -1
  335. package/src/resolvers/mutations/currencies/updateCurrency.ts +1 -1
  336. package/src/resolvers/mutations/delivery/createDeliveryProvider.ts +3 -7
  337. package/src/resolvers/mutations/delivery/removeDeliveryProvider.ts +1 -1
  338. package/src/resolvers/mutations/delivery/updateDeliveryProvider.ts +1 -1
  339. package/src/resolvers/mutations/enrollments/activateEnrollment.ts +1 -1
  340. package/src/resolvers/mutations/enrollments/terminateEnrollment.ts +1 -1
  341. package/src/resolvers/mutations/enrollments/updateEnrollment.ts +5 -5
  342. package/src/resolvers/mutations/filters/createFilter.ts +0 -2
  343. package/src/resolvers/mutations/filters/createFilterOption.ts +5 -1
  344. package/src/resolvers/mutations/filters/removeFilter.ts +3 -3
  345. package/src/resolvers/mutations/filters/updateFilter.ts +1 -1
  346. package/src/resolvers/mutations/filters/updateFilterTexts.ts +1 -1
  347. package/src/resolvers/mutations/index.ts +2 -0
  348. package/src/resolvers/mutations/languages/createLanguage.ts +3 -7
  349. package/src/resolvers/mutations/languages/removeLanguage.ts +1 -1
  350. package/src/resolvers/mutations/languages/updateLanguage.ts +1 -1
  351. package/src/resolvers/mutations/orders/createCart.ts +4 -1
  352. package/src/resolvers/mutations/orders/payOrder.ts +1 -1
  353. package/src/resolvers/mutations/orders/removeOrder.ts +1 -1
  354. package/src/resolvers/mutations/payment/createPaymentProvider.ts +3 -7
  355. package/src/resolvers/mutations/payment/registerPaymentCredentials.ts +6 -2
  356. package/src/resolvers/mutations/payment/removePaymentProvider.ts +1 -1
  357. package/src/resolvers/mutations/payment/updatePaymentProvider.ts +1 -1
  358. package/src/resolvers/mutations/products/addProductAssignment.ts +4 -8
  359. package/src/resolvers/mutations/products/addProductMedia.ts +1 -2
  360. package/src/resolvers/mutations/products/addProductReviewVote.ts +1 -1
  361. package/src/resolvers/mutations/products/createProduct.ts +4 -8
  362. package/src/resolvers/mutations/products/createProductBundleItem.ts +1 -1
  363. package/src/resolvers/mutations/products/createProductReview.ts +5 -8
  364. package/src/resolvers/mutations/products/createProductVariation.ts +6 -10
  365. package/src/resolvers/mutations/products/createProductVariationOption.ts +4 -5
  366. package/src/resolvers/mutations/products/prepareProductMediaUpload.ts +0 -1
  367. package/src/resolvers/mutations/products/publishProduct.ts +1 -1
  368. package/src/resolvers/mutations/products/removeBundleItem.ts +2 -2
  369. package/src/resolvers/mutations/products/removeProduct.ts +23 -2
  370. package/src/resolvers/mutations/products/removeProductAssignment.ts +1 -1
  371. package/src/resolvers/mutations/products/removeProductMedia.ts +2 -2
  372. package/src/resolvers/mutations/products/removeProductReview.ts +1 -1
  373. package/src/resolvers/mutations/products/removeProductReviewVote.ts +1 -1
  374. package/src/resolvers/mutations/products/removeProductVariation.ts +1 -1
  375. package/src/resolvers/mutations/products/removeProductVariationOption.ts +0 -1
  376. package/src/resolvers/mutations/products/reorderProductMedia.ts +1 -1
  377. package/src/resolvers/mutations/products/unpublishProduct.ts +1 -1
  378. package/src/resolvers/mutations/products/updateProduct.ts +1 -1
  379. package/src/resolvers/mutations/products/updateProductCommerce.ts +1 -1
  380. package/src/resolvers/mutations/products/updateProductMediaTexts.ts +1 -1
  381. package/src/resolvers/mutations/products/updateProductPlan.ts +1 -1
  382. package/src/resolvers/mutations/products/updateProductReview.ts +1 -1
  383. package/src/resolvers/mutations/products/updateProductSupply.ts +1 -1
  384. package/src/resolvers/mutations/products/updateProductTexts.ts +1 -1
  385. package/src/resolvers/mutations/products/updateProductTokenization.ts +1 -1
  386. package/src/resolvers/mutations/products/updateProductVariationTexts.ts +0 -1
  387. package/src/resolvers/mutations/products/updateProductWarehousing.ts +1 -1
  388. package/src/resolvers/mutations/users/prepareUserAvatarUpload.ts +0 -1
  389. package/src/resolvers/mutations/users/removeUser.ts +19 -0
  390. package/src/resolvers/mutations/users/setRoles.ts +1 -1
  391. package/src/resolvers/mutations/users/setUserTags.ts +1 -1
  392. package/src/resolvers/mutations/users/updateUserAvatar.ts +1 -2
  393. package/src/resolvers/mutations/users/updateUserProfile.ts +1 -1
  394. package/src/resolvers/mutations/utils/getOrderCart.ts +1 -1
  395. package/src/resolvers/mutations/warehousing/createWarehousingProvider.ts +3 -7
  396. package/src/resolvers/mutations/warehousing/removeWarehousingProvider.ts +1 -1
  397. package/src/resolvers/mutations/warehousing/updateWarehousingProvider.ts +1 -1
  398. package/src/resolvers/mutations/worker/addWork.ts +1 -1
  399. package/src/resolvers/mutations/worker/finishWork.ts +8 -12
  400. package/src/resolvers/mutations/worker/removeWork.ts +1 -1
  401. package/src/resolvers/queries/products/productCatalogPrices.ts +0 -1
  402. package/src/resolvers/queries/users/users.ts +2 -1
  403. package/src/resolvers/queries/worker/workQueue.ts +1 -1
  404. package/src/resolvers/type/assortment/assortment-filter-types.ts +0 -1
  405. package/src/resolvers/type/assortment/assortment-link-types.ts +0 -2
  406. package/src/resolvers/type/assortment/assortment-media-types.ts +2 -0
  407. package/src/resolvers/type/assortment/assortment-path-link-types.ts +1 -0
  408. package/src/resolvers/type/assortment/assortment-product-types.ts +0 -2
  409. package/src/resolvers/type/assortment/assortment-types.ts +9 -4
  410. package/src/resolvers/type/bookmark-types.ts +0 -1
  411. package/src/resolvers/type/enrollment/enrollment-plan-tyes.ts +0 -1
  412. package/src/resolvers/type/order/order-item-types.ts +0 -3
  413. package/src/resolvers/type/product/product-assortment-path-types.ts +1 -0
  414. package/src/resolvers/type/product/product-bundle-item-types.ts +0 -1
  415. package/src/resolvers/type/product/product-configurable-types.ts +1 -0
  416. package/src/resolvers/type/product/product-media-types.ts +2 -0
  417. package/src/resolvers/type/product/product-plan-types.ts +2 -18
  418. package/src/resolvers/type/product/product-review-types.ts +0 -1
  419. package/src/resolvers/type/product/product-variation-assignment-types.ts +0 -1
  420. package/src/resolvers/type/quotation-types.ts +0 -1
  421. package/src/resolvers/type/token-types.ts +2 -1
  422. package/src/resolvers/type/user-types.ts +14 -10
  423. package/src/roles/admin.ts +3 -72
  424. package/src/schema/mutation.js +20 -15
  425. package/src/schema/query.js +14 -12
  426. package/src/schema/types/assortment.js +1 -0
  427. package/src/schema/types/dispatch.js +0 -1
  428. package/src/schema/types/product/plan-product.js +0 -1
  429. package/src/schema/types/product/simple-product.js +0 -1
  430. package/src/schema/types/product/tokenized-product.js +0 -1
  431. package/src/schema/types/stock.js +0 -1
  432. package/src/schema/types/user.js +3 -0
  433. package/tests/api-index.test.ts +78 -0
@@ -7,7 +7,7 @@ export default async function registerPaymentCredentials(
7
7
  params: { paymentProviderId: string; transactionContext: any },
8
8
  context: Context,
9
9
  ) {
10
- const { modules, services, userId } = context;
10
+ const { modules, userId } = context;
11
11
  const { paymentProviderId, transactionContext } = params;
12
12
  log(`mutation registerPaymentCredentials for ${paymentProviderId}`, {
13
13
  userId,
@@ -18,5 +18,9 @@ export default async function registerPaymentCredentials(
18
18
  const paymentProvider = await modules.payment.paymentProviders.findProvider({ paymentProviderId });
19
19
  if (!paymentProvider) throw new PaymentProviderNotFoundError({ paymentProviderId });
20
20
 
21
- return services.payment.registerPaymentCredentials(paymentProviderId, { transactionContext }, context);
21
+ return modules.payment.registerCredentials(
22
+ paymentProviderId,
23
+ { transactionContext, userId: context.userId },
24
+ context,
25
+ );
22
26
  }
@@ -17,5 +17,5 @@ export default async (
17
17
  )
18
18
  throw new PaymentProviderNotFoundError({ paymentProviderId });
19
19
 
20
- return modules.payment.paymentProviders.delete(paymentProviderId, userId);
20
+ return modules.payment.paymentProviders.delete(paymentProviderId);
21
21
  };
@@ -21,5 +21,5 @@ export default async (
21
21
  )
22
22
  throw new PaymentProviderNotFoundError({ paymentProviderId });
23
23
 
24
- return modules.payment.paymentProviders.update(paymentProviderId, paymentProvider, userId);
24
+ return modules.payment.paymentProviders.update(paymentProviderId, paymentProvider);
25
25
  };
@@ -36,14 +36,10 @@ export default async function addProductAssignment(
36
36
  required: ProductTypes.ConfigurableProduct,
37
37
  });
38
38
 
39
- await modules.products.assignments.addProxyAssignment(
40
- productId,
41
- {
42
- proxyId,
43
- vectors,
44
- },
45
- userId,
46
- );
39
+ await modules.products.assignments.addProxyAssignment(productId, {
40
+ proxyId,
41
+ vectors,
42
+ });
47
43
 
48
44
  return modules.products.findProduct({ productId: proxyId });
49
45
  }
@@ -16,10 +16,9 @@ export default async function addProductMedia(root: Root, { media, productId },
16
16
  directoryName: 'product-media',
17
17
  rawFile: media,
18
18
  meta: { productId },
19
- userId,
20
19
  },
21
20
  context,
22
21
  );
23
22
 
24
- return modules.products.media.create({ productId, mediaId: file._id }, userId);
23
+ return modules.products.media.create({ productId, mediaId: file._id });
25
24
  }
@@ -18,5 +18,5 @@ export default async function addProductReviewVote(
18
18
  });
19
19
  if (!productReview) throw new ProductReviewNotFoundError({ productReviewId });
20
20
 
21
- return modules.products.reviews.votes.addVote(productReview, { meta, type }, userId);
21
+ return modules.products.reviews.votes.addVote(productReview, { meta, type, userId });
22
22
  }
@@ -9,12 +9,8 @@ export default async function createProduct(
9
9
  ) {
10
10
  log('mutation createProduct', { userId });
11
11
 
12
- return modules.products.create(
13
- {
14
- ...product,
15
- authorId: userId,
16
- locale: localeContext.language,
17
- },
18
- userId,
19
- );
12
+ return modules.products.create({
13
+ ...product,
14
+ locale: localeContext.language,
15
+ });
20
16
  }
@@ -27,7 +27,7 @@ export default async function createProductBundleItem(
27
27
  if (!(await modules.products.productExists({ productId: item.productId })))
28
28
  throw new ProductNotFoundError({ productId: item.productId });
29
29
 
30
- await modules.products.bundleItems.addBundleItem(productId, item, userId);
30
+ await modules.products.bundleItems.addBundleItem(productId, item);
31
31
 
32
32
  return modules.products.findProduct({ productId });
33
33
  }
@@ -16,12 +16,9 @@ export default async function createProductReview(
16
16
  if (!(await modules.products.productExists({ productId })))
17
17
  throw new ProductNotFoundError({ productId });
18
18
 
19
- return modules.products.reviews.create(
20
- {
21
- productId,
22
- authorId: userId,
23
- ...productReview,
24
- },
25
- userId,
26
- );
19
+ return modules.products.reviews.create({
20
+ productId,
21
+ authorId: userId,
22
+ ...productReview,
23
+ });
27
24
  }
@@ -32,14 +32,10 @@ export default async function F(
32
32
  required: ProductTypes.ConfigurableProduct,
33
33
  });
34
34
 
35
- return modules.products.variations.create(
36
- {
37
- authorId: userId,
38
- locale: localeContext.language,
39
- options: [],
40
- productId,
41
- ...variation,
42
- },
43
- userId,
44
- );
35
+ return modules.products.variations.create({
36
+ locale: localeContext.language,
37
+ options: [],
38
+ productId,
39
+ ...variation,
40
+ });
45
41
  }
@@ -23,9 +23,8 @@ export default async function createProductVariationOption(
23
23
  });
24
24
  if (!variation) throw new ProductVariationNotFoundError({ productVariationId });
25
25
 
26
- return modules.products.variations.addVariationOption(
27
- productVariationId,
28
- { inputData, localeContext },
29
- userId,
30
- );
26
+ return modules.products.variations.addVariationOption(productVariationId, {
27
+ ...inputData,
28
+ locale: localeContext.language,
29
+ });
31
30
  }
@@ -14,7 +14,6 @@ export default async function prepareProductMediaUpload(
14
14
  directoryName: 'product-media',
15
15
  fileName: mediaName,
16
16
  meta: { productId },
17
- userId,
18
17
  },
19
18
  context,
20
19
  );
@@ -14,7 +14,7 @@ export default async function publishProduct(
14
14
  const product = await modules.products.findProduct({ productId });
15
15
  if (!product) throw new ProductNotFoundError({ productId });
16
16
 
17
- if (!(await modules.products.publish(product, userId))) {
17
+ if (!(await modules.products.publish(product))) {
18
18
  throw new ProductWrongStatusError({ status: product.status });
19
19
  }
20
20
 
@@ -8,7 +8,7 @@ export default async function removeBundleItem(
8
8
  { productId, index }: { productId: string; index: number },
9
9
  { modules, userId }: Context,
10
10
  ) {
11
- log(`mutation removeBundleItem ${productId}`, { index });
11
+ log(`mutation removeBundleItem ${productId} ${index}`, { userId });
12
12
 
13
13
  if (!productId) throw new InvalidIdError({ productId });
14
14
 
@@ -22,7 +22,7 @@ export default async function removeBundleItem(
22
22
  required: ProductTypes.BundleProduct,
23
23
  });
24
24
 
25
- await modules.products.bundleItems.removeBundleItem(productId, index, userId);
25
+ await modules.products.bundleItems.removeBundleItem(productId, index);
26
26
 
27
27
  return modules.products.findProduct({ productId });
28
28
  }
@@ -1,6 +1,13 @@
1
1
  import { log } from '@unchainedshop/logger';
2
2
  import { Context, Root } from '@unchainedshop/types/api';
3
- import { ProductNotFoundError, InvalidIdError } from '../../../errors';
3
+ import {
4
+ ProductNotFoundError,
5
+ InvalidIdError,
6
+ ProductLinkedToActiveVariationError,
7
+ ProductLinkedToActiveBundleError,
8
+ ProductLinkedToEnrollmentError,
9
+ ProductLinkedToQuotationError,
10
+ } from '../../../errors';
4
11
 
5
12
  export default async function removeProduct(
6
13
  root: Root,
@@ -15,7 +22,21 @@ export default async function removeProduct(
15
22
  if (!(await modules.products.productExists({ productId })))
16
23
  throw new ProductNotFoundError({ productId });
17
24
 
18
- await services.products.removeProduct({ productId, userId: context.userId }, context);
25
+ const activeBundle = await modules.products.firstActiveProductBundle(productId);
26
+ if (activeBundle)
27
+ throw new ProductLinkedToActiveBundleError({ productId, bundleId: activeBundle._id });
28
+ const activeProxy = await modules.products.firstActiveProductProxy(productId);
29
+ if (activeProxy)
30
+ throw new ProductLinkedToActiveVariationError({ productId, proxyId: activeProxy._id });
31
+
32
+ const openQuotation = await modules.quotations.openQuotationWithProduct({ productId });
33
+ if (openQuotation)
34
+ throw new ProductLinkedToQuotationError({ productId, quotationId: openQuotation?._id });
35
+ const openEnrollment = await modules.enrollments.openEnrollmentWithProduct({ productId });
36
+ if (openEnrollment)
37
+ throw new ProductLinkedToEnrollmentError({ productId, enrollmentId: openEnrollment?._id });
38
+
39
+ await services.products.removeProduct({ productId }, context);
19
40
 
20
41
  return modules.products.findProduct({ productId });
21
42
  }
@@ -24,7 +24,7 @@ export default async function removeProductAssignment(
24
24
  required: ProductTypes.ConfigurableProduct,
25
25
  });
26
26
 
27
- await modules.products.assignments.removeAssignment(proxyId, { vectors }, userId);
27
+ await modules.products.assignments.removeAssignment(proxyId, { vectors });
28
28
 
29
29
  return modules.products.findProduct({ productId: proxyId });
30
30
  }
@@ -16,8 +16,8 @@ export default async function removeProductMedia(
16
16
  });
17
17
  if (!productMedia) throw new ProductMediaNotFoundError({ productMediaId });
18
18
 
19
- await modules.files.delete(productMedia.mediaId, userId);
20
- await modules.products.media.delete(productMediaId, userId);
19
+ await modules.files.delete(productMedia.mediaId);
20
+ await modules.products.media.delete(productMediaId);
21
21
 
22
22
  return productMedia;
23
23
  }
@@ -14,7 +14,7 @@ export default async function removeProductReview(
14
14
  if (!(await modules.products.reviews.reviewExists({ productReviewId })))
15
15
  throw new ProductReviewNotFoundError({ productReviewId });
16
16
 
17
- await modules.products.reviews.delete(productReviewId, userId);
17
+ await modules.products.reviews.delete(productReviewId);
18
18
 
19
19
  return modules.products.reviews.findProductReview({
20
20
  productReviewId,
@@ -19,5 +19,5 @@ export default async function removeProductReviewVote(
19
19
  });
20
20
  if (!productReview) throw new ProductReviewNotFoundError({ productReviewId });
21
21
 
22
- return modules.products.reviews.votes.removeVote(productReviewId, { type, userId }, userId);
22
+ return modules.products.reviews.votes.removeVote(productReviewId, { type, userId });
23
23
  }
@@ -16,7 +16,7 @@ export default async function removeProductVariation(
16
16
  });
17
17
  if (!productVariation) throw new ProductVariationNotFoundError({ productVariationId });
18
18
 
19
- await modules.products.variations.delete(productVariationId, userId);
19
+ await modules.products.variations.delete(productVariationId);
20
20
 
21
21
  return productVariation;
22
22
  }
@@ -23,7 +23,6 @@ export default async function removeProductVariationOption(
23
23
  await modules.products.variations.removeVariationOption(
24
24
  productVariationId,
25
25
  productVariationOptionValue,
26
- userId,
27
26
  );
28
27
 
29
28
  return modules.products.variations.findProductVariation({
@@ -10,5 +10,5 @@ export default async function reorderProductMedia(
10
10
 
11
11
  log('mutation reorderProductMedia', { userId });
12
12
 
13
- return modules.products.media.updateManualOrder({ sortKeys }, userId);
13
+ return modules.products.media.updateManualOrder({ sortKeys });
14
14
  }
@@ -14,7 +14,7 @@ export default async function unpublishProduct(
14
14
  const product = await modules.products.findProduct({ productId });
15
15
  if (!product) throw new ProductNotFoundError({ productId });
16
16
 
17
- if (!(await modules.products.unpublish(product, userId))) {
17
+ if (!(await modules.products.unpublish(product))) {
18
18
  throw new ProductWrongStatusError({ status: product.status });
19
19
  }
20
20
 
@@ -15,7 +15,7 @@ export default async function updateProduct(
15
15
  if (!(await modules.products.productExists({ productId })))
16
16
  throw new ProductNotFoundError({ productId });
17
17
 
18
- await modules.products.update(productId, product, userId);
18
+ await modules.products.update(productId, product);
19
19
 
20
20
  return modules.products.findProduct({ productId });
21
21
  }
@@ -15,7 +15,7 @@ export default async function updateProductCommerce(
15
15
  if (!(await modules.products.productExists({ productId })))
16
16
  throw new ProductNotFoundError({ productId });
17
17
 
18
- await modules.products.update(productId, { commerce }, userId);
18
+ await modules.products.update(productId, { commerce });
19
19
 
20
20
  return modules.products.findProduct({ productId });
21
21
  }
@@ -17,5 +17,5 @@ export default async function updateProductMediaTexts(
17
17
  });
18
18
  if (!productMedia) throw new ProductMediaNotFoundError({ productMediaId });
19
19
 
20
- return modules.products.media.texts.updateMediaTexts(productMediaId, texts, userId);
20
+ return modules.products.media.texts.updateMediaTexts(productMediaId, texts);
21
21
  }
@@ -22,7 +22,7 @@ export default async function updateProductPlan(
22
22
  required: ProductTypes.PlanProduct,
23
23
  });
24
24
 
25
- await modules.products.update(productId, { plan }, userId);
25
+ await modules.products.update(productId, { plan });
26
26
 
27
27
  return modules.products.findProduct({ productId });
28
28
  }
@@ -17,5 +17,5 @@ export default async function updateProductReview(
17
17
  if (!(await modules.products.reviews.reviewExists({ productReviewId })))
18
18
  throw new ProductReviewNotFoundError({ productReviewId });
19
19
 
20
- return modules.products.reviews.update(productReviewId, productReview, userId);
20
+ return modules.products.reviews.update(productReviewId, productReview);
21
21
  }
@@ -24,7 +24,7 @@ export default async function updateProductSupply(
24
24
  required: ProductTypes.SimpleProduct,
25
25
  });
26
26
 
27
- await modules.products.update(productId, { supply }, userId);
27
+ await modules.products.update(productId, { supply });
28
28
 
29
29
  return modules.products.findProduct({ productId });
30
30
  }
@@ -14,7 +14,7 @@ export default async function updateProductTexts(
14
14
  const product = await modules.products.findProduct({ productId });
15
15
  if (!product) throw new ProductNotFoundError({ productId });
16
16
 
17
- const productTexts = await modules.products.texts.updateTexts(productId, texts, userId);
17
+ const productTexts = await modules.products.texts.updateTexts(productId, texts);
18
18
 
19
19
  return productTexts;
20
20
  }
@@ -22,7 +22,7 @@ export default async function updateProductTokenization(
22
22
  required: ProductTypes.TokenizedProduct,
23
23
  });
24
24
 
25
- await modules.products.update(productId, { tokenization }, userId);
25
+ await modules.products.update(productId, { tokenization });
26
26
 
27
27
  return modules.products.findProduct({ productId });
28
28
  }
@@ -27,6 +27,5 @@ export default async function F(
27
27
  productVariationId,
28
28
  texts,
29
29
  productVariationOptionValue,
30
- userId,
31
30
  );
32
31
  }
@@ -24,7 +24,7 @@ export default async function updateProductWarehousing(
24
24
  required: ProductTypes.SimpleProduct,
25
25
  });
26
26
 
27
- await modules.products.update(productId, { warehousing }, userId);
27
+ await modules.products.update(productId, { warehousing });
28
28
 
29
29
  return modules.products.findProduct({ productId });
30
30
  }
@@ -19,7 +19,6 @@ export default async function prepareUserAvatarUpload(
19
19
  directoryName: 'user-avatars',
20
20
  fileName: params.mediaName,
21
21
  meta: { userId: normalizedUserId },
22
- userId,
23
22
  },
24
23
  context,
25
24
  );
@@ -0,0 +1,19 @@
1
+ import { log } from '@unchainedshop/logger';
2
+ import { Context, Root } from '@unchainedshop/types/api';
3
+ import { UserNotFoundError } from '../../../errors';
4
+
5
+ export default async function removeUser(
6
+ root: Root,
7
+ params: { userId: string },
8
+ { modules, userId }: Context,
9
+ ) {
10
+ const { userId: paramUserId } = params;
11
+ const normalizedUserId = paramUserId || userId;
12
+
13
+ log(`mutation removeUser ${normalizedUserId}`, { userId });
14
+
15
+ if (!(await modules.users.userExists({ userId: normalizedUserId })))
16
+ throw UserNotFoundError({ id: normalizedUserId });
17
+
18
+ return modules.users.delete(normalizedUserId);
19
+ }
@@ -15,5 +15,5 @@ export default async function updateUserProfile(
15
15
  if (!(await modules.users.userExists({ userId: foreignUserId })))
16
16
  throw new UserNotFoundError({ userId: foreignUserId });
17
17
 
18
- return modules.users.updateRoles(foreignUserId, params.roles, userId);
18
+ return modules.users.updateRoles(foreignUserId, params.roles);
19
19
  }
@@ -15,5 +15,5 @@ export default async function updateUserProfile(
15
15
  if (!(await modules.users.userExists({ userId: normalizedUserId })))
16
16
  throw new UserNotFoundError({ userId: normalizedUserId });
17
17
 
18
- return modules.users.updateTags(normalizedUserId, params.tags, userId);
18
+ return modules.users.updateTags(normalizedUserId, params.tags);
19
19
  }
@@ -22,7 +22,6 @@ export default async function updateUserAvatar(
22
22
  directoryName: 'user-avatars',
23
23
  rawFile: params.avatar,
24
24
  meta: { userId: normalizedUserId },
25
- userId,
26
25
  },
27
26
  context,
28
27
  );
@@ -36,5 +35,5 @@ export default async function updateUserAvatar(
36
35
  );
37
36
  }
38
37
 
39
- return modules.users.updateAvatar(normalizedUserId, file._id, userId);
38
+ return modules.users.updateAvatar(normalizedUserId, file._id);
40
39
  }
@@ -16,5 +16,5 @@ export default async function updateUserProfile(
16
16
  if (!(await modules.users.userExists({ userId: normalizedUserId })))
17
17
  throw UserNotFoundError({ id: normalizedUserId });
18
18
 
19
- return modules.users.updateProfile(normalizedUserId, profile, userId);
19
+ return modules.users.updateProfile(normalizedUserId, profile);
20
20
  }
@@ -17,5 +17,5 @@ export const getOrderCart = async (params: { orderId?: string; user: User }, con
17
17
  const cart = await modules.orders.cart({ countryContext }, user);
18
18
  if (cart) return cart;
19
19
 
20
- return services.orders.createUserCart({ user }, context);
20
+ return services.orders.createUserCart({ user, countryCode: context.countryContext }, context);
21
21
  };
@@ -10,13 +10,9 @@ export default async function createWarehousingProvider(
10
10
  ) {
11
11
  log('mutation createWarehousingProvider', { userId });
12
12
 
13
- const warehousingProviderId = await modules.warehousing.create(
14
- {
15
- ...params.warehousingProvider,
16
- authorId: userId,
17
- },
18
- userId,
19
- );
13
+ const warehousingProviderId = await modules.warehousing.create({
14
+ ...params.warehousingProvider,
15
+ });
20
16
 
21
17
  if (!warehousingProviderId) throw new ProviderConfigurationInvalid(params.warehousingProvider);
22
18
 
@@ -18,5 +18,5 @@ export default async function removeWarehousingProvider(
18
18
  });
19
19
  if (!provider) throw new WarehousingProviderNotFoundError({ warehousingProviderId });
20
20
 
21
- return modules.warehousing.delete(warehousingProviderId, userId);
21
+ return modules.warehousing.delete(warehousingProviderId);
22
22
  }
@@ -22,7 +22,7 @@ export default async function updateWarehousingProvider(
22
22
  if (!(await modules.warehousing.providerExists({ warehousingProviderId })))
23
23
  throw new WarehousingProviderNotFoundError({ warehousingProviderId });
24
24
 
25
- await modules.warehousing.update(warehousingProviderId, warehousingProvider, userId);
25
+ await modules.warehousing.update(warehousingProviderId, warehousingProvider);
26
26
 
27
27
  return modules.warehousing.findProvider({ warehousingProviderId });
28
28
  }
@@ -7,5 +7,5 @@ export default async function addWork(root: Root, workData: WorkData, { modules,
7
7
 
8
8
  log(`mutation addWork ${type} ${JSON.stringify(input)}`, { userId });
9
9
 
10
- return modules.worker.addWork(workData, userId);
10
+ return modules.worker.addWork(workData);
11
11
  }
@@ -23,18 +23,14 @@ export default async function finishWork(
23
23
 
24
24
  if (!workId) throw new InvalidIdError({ workId });
25
25
 
26
- const work = await modules.worker.finishWork(
27
- workId,
28
- {
29
- result,
30
- error,
31
- success,
32
- worker,
33
- started,
34
- finished,
35
- },
36
- userId,
37
- );
26
+ const work = await modules.worker.finishWork(workId, {
27
+ result,
28
+ error,
29
+ success,
30
+ worker,
31
+ started,
32
+ finished,
33
+ });
38
34
 
39
35
  if (!work) throw new WorkNotFoundOrWrongStatus({ workId });
40
36
 
@@ -13,7 +13,7 @@ export default async function removeWork(
13
13
 
14
14
  if (!workId) throw new InvalidIdError({ workId });
15
15
 
16
- const work = await modules.worker.deleteWork(workId, userId);
16
+ const work = await modules.worker.deleteWork(workId);
17
17
 
18
18
  if (!work) throw new WorkNotFoundOrWrongStatus({ workId });
19
19
 
@@ -13,7 +13,6 @@ export default async function productCatalogPrices(
13
13
 
14
14
  const product = await loaders.productLoader.load({
15
15
  productId,
16
- includeDrafts: true,
17
16
  });
18
17
  if (!product) return null;
19
18
 
@@ -1,5 +1,5 @@
1
1
  import { log } from '@unchainedshop/logger';
2
- import { Context, Root } from '@unchainedshop/types/api';
2
+ import { Context, Root, SortOption } from '@unchainedshop/types/api';
3
3
  import { UserQuery } from '@unchainedshop/types/user';
4
4
 
5
5
  export default async function users(
@@ -7,6 +7,7 @@ export default async function users(
7
7
  params: UserQuery & {
8
8
  limit?: number;
9
9
  offset?: number;
10
+ sort?: Array<SortOption>;
10
11
  },
11
12
  { modules, userId }: Context,
12
13
  ) {
@@ -2,7 +2,7 @@ import { log } from '@unchainedshop/logger';
2
2
  import { Root, Context, SortOption } from '@unchainedshop/types/api';
3
3
  import { WorkStatus } from '@unchainedshop/types/worker';
4
4
 
5
- export default async function workers(
5
+ export default async function workQueue(
6
6
  root: Root,
7
7
  {
8
8
  limit,
@@ -13,7 +13,6 @@ export const AssortmentFilter: AssortmentFilterHelperTypes = {
13
13
  assortment: async (obj, _, { loaders }) => {
14
14
  const assortment = await loaders.assortmentLoader.load({
15
15
  assortmentId: obj.assortmentId,
16
- includeInactive: true,
17
16
  });
18
17
  return assortment;
19
18
  },
@@ -12,7 +12,6 @@ export const AssortmentLink: AssortmentLinkHelperTypes = {
12
12
  child: async (obj, _, { loaders }) => {
13
13
  const assortment = await loaders.assortmentLoader.load({
14
14
  assortmentId: obj.childAssortmentId,
15
- includeInactive: true,
16
15
  });
17
16
  return assortment;
18
17
  },
@@ -20,7 +19,6 @@ export const AssortmentLink: AssortmentLinkHelperTypes = {
20
19
  parent: async (obj, _, { loaders }) => {
21
20
  const assortment = await loaders.assortmentLoader.load({
22
21
  assortmentId: obj.parentAssortmentId,
23
- includeInactive: true,
24
22
  });
25
23
  return assortment;
26
24
  },