@floxiz/medusa-plugin-meilisearch 0.1.3 → 0.1.5

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 (262) hide show
  1. package/.medusa/server/src/api/store/meilisearch/categories/route.d.ts.map +1 -1
  2. package/.medusa/server/src/api/store/meilisearch/categories/route.js +3 -2
  3. package/.medusa/server/src/api/store/meilisearch/products/route.js +2 -2
  4. package/.medusa/server/src/jobs/meilisearch-categories-index.d.ts.map +1 -1
  5. package/.medusa/server/src/jobs/meilisearch-categories-index.js +14 -4
  6. package/.medusa/server/src/jobs/meilisearch-products-index.d.ts.map +1 -1
  7. package/.medusa/server/src/jobs/meilisearch-products-index.js +14 -4
  8. package/.medusa/server/src/subscribers/meilisearch-category-delete.d.ts +6 -0
  9. package/.medusa/server/src/subscribers/meilisearch-category-delete.d.ts.map +1 -0
  10. package/.medusa/server/src/subscribers/meilisearch-category-delete.js +27 -0
  11. package/.medusa/server/src/subscribers/meilisearch-category-upsert.d.ts +6 -0
  12. package/.medusa/server/src/subscribers/meilisearch-category-upsert.d.ts.map +1 -0
  13. package/.medusa/server/src/subscribers/meilisearch-category-upsert.js +29 -0
  14. package/.medusa/server/src/subscribers/meilisearch-collection-delete.d.ts +6 -0
  15. package/.medusa/server/src/subscribers/meilisearch-collection-delete.d.ts.map +1 -0
  16. package/.medusa/server/src/subscribers/meilisearch-collection-delete.js +27 -0
  17. package/.medusa/server/src/subscribers/meilisearch-collection-upsert.d.ts +6 -0
  18. package/.medusa/server/src/subscribers/meilisearch-collection-upsert.d.ts.map +1 -0
  19. package/.medusa/server/src/subscribers/meilisearch-collection-upsert.js +33 -0
  20. package/.medusa/server/src/subscribers/meilisearch-image-upsert.d.ts +6 -0
  21. package/.medusa/server/src/subscribers/meilisearch-image-upsert.d.ts.map +1 -0
  22. package/.medusa/server/src/subscribers/meilisearch-image-upsert.js +29 -0
  23. package/.medusa/server/src/subscribers/meilisearch-inventory-delete.d.ts +6 -0
  24. package/.medusa/server/src/subscribers/meilisearch-inventory-delete.d.ts.map +1 -0
  25. package/.medusa/server/src/subscribers/meilisearch-inventory-delete.js +27 -0
  26. package/.medusa/server/src/subscribers/meilisearch-inventory-level-delete.d.ts +6 -0
  27. package/.medusa/server/src/subscribers/meilisearch-inventory-level-delete.d.ts.map +1 -0
  28. package/.medusa/server/src/subscribers/meilisearch-inventory-level-delete.js +27 -0
  29. package/.medusa/server/src/subscribers/meilisearch-inventory-level-upsert.d.ts +6 -0
  30. package/.medusa/server/src/subscribers/meilisearch-inventory-level-upsert.d.ts.map +1 -0
  31. package/.medusa/server/src/subscribers/meilisearch-inventory-level-upsert.js +29 -0
  32. package/.medusa/server/src/subscribers/meilisearch-inventory-upsert.d.ts +6 -0
  33. package/.medusa/server/src/subscribers/meilisearch-inventory-upsert.d.ts.map +1 -0
  34. package/.medusa/server/src/subscribers/meilisearch-inventory-upsert.js +29 -0
  35. package/.medusa/server/src/subscribers/meilisearch-option-delete.d.ts +6 -0
  36. package/.medusa/server/src/subscribers/meilisearch-option-delete.d.ts.map +1 -0
  37. package/.medusa/server/src/subscribers/meilisearch-option-delete.js +27 -0
  38. package/.medusa/server/src/subscribers/meilisearch-option-upsert.d.ts +6 -0
  39. package/.medusa/server/src/subscribers/meilisearch-option-upsert.d.ts.map +1 -0
  40. package/.medusa/server/src/subscribers/meilisearch-option-upsert.js +29 -0
  41. package/.medusa/server/src/subscribers/meilisearch-option-value-delete.d.ts +6 -0
  42. package/.medusa/server/src/subscribers/meilisearch-option-value-delete.d.ts.map +1 -0
  43. package/.medusa/server/src/subscribers/meilisearch-option-value-delete.js +27 -0
  44. package/.medusa/server/src/subscribers/meilisearch-option-value-upsert.d.ts +6 -0
  45. package/.medusa/server/src/subscribers/meilisearch-option-value-upsert.d.ts.map +1 -0
  46. package/.medusa/server/src/subscribers/meilisearch-option-value-upsert.js +29 -0
  47. package/.medusa/server/src/subscribers/meilisearch-price-delete.d.ts +6 -0
  48. package/.medusa/server/src/subscribers/meilisearch-price-delete.d.ts.map +1 -0
  49. package/.medusa/server/src/subscribers/meilisearch-price-delete.js +27 -0
  50. package/.medusa/server/src/subscribers/meilisearch-price-upsert.d.ts +6 -0
  51. package/.medusa/server/src/subscribers/meilisearch-price-upsert.d.ts.map +1 -0
  52. package/.medusa/server/src/subscribers/meilisearch-price-upsert.js +29 -0
  53. package/.medusa/server/src/subscribers/meilisearch-product-delete.d.ts +6 -0
  54. package/.medusa/server/src/subscribers/meilisearch-product-delete.d.ts.map +1 -0
  55. package/.medusa/server/src/subscribers/meilisearch-product-delete.js +27 -0
  56. package/.medusa/server/src/subscribers/meilisearch-product-upsert.d.ts +6 -0
  57. package/.medusa/server/src/subscribers/meilisearch-product-upsert.d.ts.map +1 -0
  58. package/.medusa/server/src/subscribers/meilisearch-product-upsert.js +29 -0
  59. package/.medusa/server/src/subscribers/meilisearch-sync.d.ts.map +1 -1
  60. package/.medusa/server/src/subscribers/meilisearch-sync.js +15 -9
  61. package/.medusa/server/src/subscribers/meilisearch-tag-delete.d.ts +6 -0
  62. package/.medusa/server/src/subscribers/meilisearch-tag-delete.d.ts.map +1 -0
  63. package/.medusa/server/src/subscribers/meilisearch-tag-delete.js +27 -0
  64. package/.medusa/server/src/subscribers/meilisearch-tag-upsert.d.ts +6 -0
  65. package/.medusa/server/src/subscribers/meilisearch-tag-upsert.d.ts.map +1 -0
  66. package/.medusa/server/src/subscribers/meilisearch-tag-upsert.js +33 -0
  67. package/.medusa/server/src/subscribers/meilisearch-type-delete.d.ts +6 -0
  68. package/.medusa/server/src/subscribers/meilisearch-type-delete.d.ts.map +1 -0
  69. package/.medusa/server/src/subscribers/meilisearch-type-delete.js +27 -0
  70. package/.medusa/server/src/subscribers/meilisearch-type-upsert.d.ts +6 -0
  71. package/.medusa/server/src/subscribers/meilisearch-type-upsert.d.ts.map +1 -0
  72. package/.medusa/server/src/subscribers/meilisearch-type-upsert.js +33 -0
  73. package/.medusa/server/src/subscribers/meilisearch-variant-delete.d.ts +6 -0
  74. package/.medusa/server/src/subscribers/meilisearch-variant-delete.d.ts.map +1 -0
  75. package/.medusa/server/src/subscribers/meilisearch-variant-delete.js +27 -0
  76. package/.medusa/server/src/subscribers/meilisearch-variant-upsert.d.ts +6 -0
  77. package/.medusa/server/src/subscribers/meilisearch-variant-upsert.d.ts.map +1 -0
  78. package/.medusa/server/src/subscribers/meilisearch-variant-upsert.js +29 -0
  79. package/.medusa/server/src/workflows/delete-category.d.ts +6 -0
  80. package/.medusa/server/src/workflows/delete-category.d.ts.map +1 -0
  81. package/.medusa/server/src/workflows/delete-category.js +10 -0
  82. package/.medusa/server/src/workflows/delete-collection.d.ts +8 -0
  83. package/.medusa/server/src/workflows/delete-collection.d.ts.map +1 -0
  84. package/.medusa/server/src/workflows/delete-collection.js +10 -0
  85. package/.medusa/server/src/workflows/delete-inventory-level.d.ts +8 -0
  86. package/.medusa/server/src/workflows/delete-inventory-level.d.ts.map +1 -0
  87. package/.medusa/server/src/workflows/delete-inventory-level.js +10 -0
  88. package/.medusa/server/src/workflows/delete-inventory.d.ts +8 -0
  89. package/.medusa/server/src/workflows/delete-inventory.d.ts.map +1 -0
  90. package/.medusa/server/src/workflows/delete-inventory.js +10 -0
  91. package/.medusa/server/src/workflows/delete-option-value.d.ts +8 -0
  92. package/.medusa/server/src/workflows/delete-option-value.d.ts.map +1 -0
  93. package/.medusa/server/src/workflows/delete-option-value.js +10 -0
  94. package/.medusa/server/src/workflows/delete-option.d.ts +8 -0
  95. package/.medusa/server/src/workflows/delete-option.d.ts.map +1 -0
  96. package/.medusa/server/src/workflows/delete-option.js +10 -0
  97. package/.medusa/server/src/workflows/delete-price.d.ts +8 -0
  98. package/.medusa/server/src/workflows/delete-price.d.ts.map +1 -0
  99. package/.medusa/server/src/workflows/delete-price.js +10 -0
  100. package/.medusa/server/src/workflows/delete-product.d.ts +6 -0
  101. package/.medusa/server/src/workflows/delete-product.d.ts.map +1 -0
  102. package/.medusa/server/src/workflows/delete-product.js +10 -0
  103. package/.medusa/server/src/workflows/delete-tag.d.ts +8 -0
  104. package/.medusa/server/src/workflows/delete-tag.d.ts.map +1 -0
  105. package/.medusa/server/src/workflows/delete-tag.js +10 -0
  106. package/.medusa/server/src/workflows/delete-type.d.ts +8 -0
  107. package/.medusa/server/src/workflows/delete-type.d.ts.map +1 -0
  108. package/.medusa/server/src/workflows/delete-type.js +10 -0
  109. package/.medusa/server/src/workflows/delete-variant.d.ts +8 -0
  110. package/.medusa/server/src/workflows/delete-variant.d.ts.map +1 -0
  111. package/.medusa/server/src/workflows/delete-variant.js +12 -0
  112. package/.medusa/server/src/workflows/steps/delete-category.d.ts +2 -2
  113. package/.medusa/server/src/workflows/steps/delete-category.d.ts.map +1 -1
  114. package/.medusa/server/src/workflows/steps/delete-category.js +4 -4
  115. package/.medusa/server/src/workflows/steps/delete-collection.d.ts +8 -0
  116. package/.medusa/server/src/workflows/steps/delete-collection.d.ts.map +1 -0
  117. package/.medusa/server/src/workflows/steps/delete-collection.js +86 -0
  118. package/.medusa/server/src/workflows/steps/delete-inventory-level.d.ts +8 -0
  119. package/.medusa/server/src/workflows/steps/delete-inventory-level.d.ts.map +1 -0
  120. package/.medusa/server/src/workflows/steps/delete-inventory-level.js +105 -0
  121. package/.medusa/server/src/workflows/steps/delete-inventory.d.ts +8 -0
  122. package/.medusa/server/src/workflows/steps/delete-inventory.d.ts.map +1 -0
  123. package/.medusa/server/src/workflows/steps/delete-inventory.js +76 -0
  124. package/.medusa/server/src/workflows/steps/delete-option-value.d.ts +8 -0
  125. package/.medusa/server/src/workflows/steps/delete-option-value.d.ts.map +1 -0
  126. package/.medusa/server/src/workflows/steps/delete-option-value.js +90 -0
  127. package/.medusa/server/src/workflows/steps/delete-option.d.ts +8 -0
  128. package/.medusa/server/src/workflows/steps/delete-option.d.ts.map +1 -0
  129. package/.medusa/server/src/workflows/steps/delete-option.js +87 -0
  130. package/.medusa/server/src/workflows/steps/delete-price.d.ts +8 -0
  131. package/.medusa/server/src/workflows/steps/delete-price.d.ts.map +1 -0
  132. package/.medusa/server/src/workflows/steps/delete-price.js +104 -0
  133. package/.medusa/server/src/workflows/steps/delete-product.d.ts +4 -2
  134. package/.medusa/server/src/workflows/steps/delete-product.d.ts.map +1 -1
  135. package/.medusa/server/src/workflows/steps/delete-product.js +6 -4
  136. package/.medusa/server/src/workflows/steps/delete-tag.d.ts +8 -0
  137. package/.medusa/server/src/workflows/steps/delete-tag.d.ts.map +1 -0
  138. package/.medusa/server/src/workflows/steps/delete-tag.js +86 -0
  139. package/.medusa/server/src/workflows/steps/delete-type.d.ts +8 -0
  140. package/.medusa/server/src/workflows/steps/delete-type.d.ts.map +1 -0
  141. package/.medusa/server/src/workflows/steps/delete-type.js +86 -0
  142. package/.medusa/server/src/workflows/steps/delete-variant.d.ts +8 -0
  143. package/.medusa/server/src/workflows/steps/delete-variant.d.ts.map +1 -0
  144. package/.medusa/server/src/workflows/steps/delete-variant.js +89 -0
  145. package/.medusa/server/src/workflows/steps/sync-categories.d.ts.map +1 -1
  146. package/.medusa/server/src/workflows/steps/sync-categories.js +3 -2
  147. package/.medusa/server/src/workflows/steps/sync-products.d.ts.map +1 -1
  148. package/.medusa/server/src/workflows/steps/sync-products.js +35 -3
  149. package/.medusa/server/src/workflows/steps/upsert-category.d.ts +1 -1
  150. package/.medusa/server/src/workflows/steps/upsert-category.d.ts.map +1 -1
  151. package/.medusa/server/src/workflows/steps/upsert-category.js +5 -4
  152. package/.medusa/server/src/workflows/steps/upsert-collection.d.ts +8 -0
  153. package/.medusa/server/src/workflows/steps/upsert-collection.d.ts.map +1 -0
  154. package/.medusa/server/src/workflows/steps/upsert-collection.js +69 -0
  155. package/.medusa/server/src/workflows/steps/upsert-image.d.ts +8 -0
  156. package/.medusa/server/src/workflows/steps/upsert-image.d.ts.map +1 -0
  157. package/.medusa/server/src/workflows/steps/upsert-image.js +70 -0
  158. package/.medusa/server/src/workflows/steps/upsert-inventory-level.d.ts +8 -0
  159. package/.medusa/server/src/workflows/steps/upsert-inventory-level.d.ts.map +1 -0
  160. package/.medusa/server/src/workflows/steps/upsert-inventory-level.js +86 -0
  161. package/.medusa/server/src/workflows/steps/upsert-inventory.d.ts +8 -0
  162. package/.medusa/server/src/workflows/steps/upsert-inventory.d.ts.map +1 -0
  163. package/.medusa/server/src/workflows/steps/upsert-inventory.js +77 -0
  164. package/.medusa/server/src/workflows/steps/upsert-option-value.d.ts +8 -0
  165. package/.medusa/server/src/workflows/steps/upsert-option-value.d.ts.map +1 -0
  166. package/.medusa/server/src/workflows/steps/upsert-option-value.js +75 -0
  167. package/.medusa/server/src/workflows/steps/upsert-option.d.ts +8 -0
  168. package/.medusa/server/src/workflows/steps/upsert-option.d.ts.map +1 -0
  169. package/.medusa/server/src/workflows/steps/upsert-option.js +67 -0
  170. package/.medusa/server/src/workflows/steps/upsert-price.d.ts +8 -0
  171. package/.medusa/server/src/workflows/steps/upsert-price.d.ts.map +1 -0
  172. package/.medusa/server/src/workflows/steps/upsert-price.js +84 -0
  173. package/.medusa/server/src/workflows/steps/upsert-product.d.ts +1 -1
  174. package/.medusa/server/src/workflows/steps/upsert-product.d.ts.map +1 -1
  175. package/.medusa/server/src/workflows/steps/upsert-product.js +37 -5
  176. package/.medusa/server/src/workflows/steps/upsert-tag.d.ts +8 -0
  177. package/.medusa/server/src/workflows/steps/upsert-tag.d.ts.map +1 -0
  178. package/.medusa/server/src/workflows/steps/upsert-tag.js +68 -0
  179. package/.medusa/server/src/workflows/steps/upsert-type.d.ts +8 -0
  180. package/.medusa/server/src/workflows/steps/upsert-type.d.ts.map +1 -0
  181. package/.medusa/server/src/workflows/steps/upsert-type.js +61 -0
  182. package/.medusa/server/src/workflows/steps/upsert-variant.d.ts +8 -0
  183. package/.medusa/server/src/workflows/steps/upsert-variant.d.ts.map +1 -0
  184. package/.medusa/server/src/workflows/steps/upsert-variant.js +70 -0
  185. package/.medusa/server/src/workflows/sync-categories.d.ts.map +1 -1
  186. package/.medusa/server/src/workflows/sync-categories.js +3 -3
  187. package/.medusa/server/src/workflows/sync-products.d.ts.map +1 -1
  188. package/.medusa/server/src/workflows/sync-products.js +1 -1
  189. package/.medusa/server/src/workflows/upsert-category.d.ts +8 -0
  190. package/.medusa/server/src/workflows/upsert-category.d.ts.map +1 -0
  191. package/.medusa/server/src/workflows/upsert-category.js +10 -0
  192. package/.medusa/server/src/workflows/upsert-collection.d.ts +8 -0
  193. package/.medusa/server/src/workflows/upsert-collection.d.ts.map +1 -0
  194. package/.medusa/server/src/workflows/upsert-collection.js +10 -0
  195. package/.medusa/server/src/workflows/upsert-image.d.ts +8 -0
  196. package/.medusa/server/src/workflows/upsert-image.d.ts.map +1 -0
  197. package/.medusa/server/src/workflows/upsert-image.js +10 -0
  198. package/.medusa/server/src/workflows/upsert-inventory-level.d.ts +8 -0
  199. package/.medusa/server/src/workflows/upsert-inventory-level.d.ts.map +1 -0
  200. package/.medusa/server/src/workflows/upsert-inventory-level.js +10 -0
  201. package/.medusa/server/src/workflows/upsert-inventory.d.ts +8 -0
  202. package/.medusa/server/src/workflows/upsert-inventory.d.ts.map +1 -0
  203. package/.medusa/server/src/workflows/upsert-inventory.js +10 -0
  204. package/.medusa/server/src/workflows/upsert-option-value.d.ts +8 -0
  205. package/.medusa/server/src/workflows/upsert-option-value.d.ts.map +1 -0
  206. package/.medusa/server/src/workflows/upsert-option-value.js +10 -0
  207. package/.medusa/server/src/workflows/upsert-option.d.ts +8 -0
  208. package/.medusa/server/src/workflows/upsert-option.d.ts.map +1 -0
  209. package/.medusa/server/src/workflows/upsert-option.js +10 -0
  210. package/.medusa/server/src/workflows/upsert-price.d.ts +8 -0
  211. package/.medusa/server/src/workflows/upsert-price.d.ts.map +1 -0
  212. package/.medusa/server/src/workflows/upsert-price.js +10 -0
  213. package/.medusa/server/src/workflows/upsert-product.d.ts +8 -0
  214. package/.medusa/server/src/workflows/upsert-product.d.ts.map +1 -0
  215. package/.medusa/server/src/workflows/upsert-product.js +12 -0
  216. package/.medusa/server/src/workflows/upsert-tag.d.ts +8 -0
  217. package/.medusa/server/src/workflows/upsert-tag.d.ts.map +1 -0
  218. package/.medusa/server/src/workflows/upsert-tag.js +10 -0
  219. package/.medusa/server/src/workflows/upsert-type.d.ts +8 -0
  220. package/.medusa/server/src/workflows/upsert-type.d.ts.map +1 -0
  221. package/.medusa/server/src/workflows/upsert-type.js +10 -0
  222. package/.medusa/server/src/workflows/upsert-variant.d.ts +8 -0
  223. package/.medusa/server/src/workflows/upsert-variant.d.ts.map +1 -0
  224. package/.medusa/server/src/workflows/upsert-variant.js +12 -0
  225. package/README.md +511 -511
  226. package/package.json +76 -76
  227. package/.medusa/server/src/subscribers/meilisearch-category-created.d.ts +0 -6
  228. package/.medusa/server/src/subscribers/meilisearch-category-created.d.ts.map +0 -1
  229. package/.medusa/server/src/subscribers/meilisearch-category-created.js +0 -14
  230. package/.medusa/server/src/subscribers/meilisearch-category-deleted.d.ts +0 -6
  231. package/.medusa/server/src/subscribers/meilisearch-category-deleted.d.ts.map +0 -1
  232. package/.medusa/server/src/subscribers/meilisearch-category-deleted.js +0 -14
  233. package/.medusa/server/src/subscribers/meilisearch-category-updated.d.ts +0 -6
  234. package/.medusa/server/src/subscribers/meilisearch-category-updated.d.ts.map +0 -1
  235. package/.medusa/server/src/subscribers/meilisearch-category-updated.js +0 -14
  236. package/.medusa/server/src/subscribers/meilisearch-product-created.d.ts +0 -6
  237. package/.medusa/server/src/subscribers/meilisearch-product-created.d.ts.map +0 -1
  238. package/.medusa/server/src/subscribers/meilisearch-product-created.js +0 -19
  239. package/.medusa/server/src/subscribers/meilisearch-product-deleted.d.ts +0 -6
  240. package/.medusa/server/src/subscribers/meilisearch-product-deleted.d.ts.map +0 -1
  241. package/.medusa/server/src/subscribers/meilisearch-product-deleted.js +0 -19
  242. package/.medusa/server/src/subscribers/meilisearch-product-updated.d.ts +0 -6
  243. package/.medusa/server/src/subscribers/meilisearch-product-updated.d.ts.map +0 -1
  244. package/.medusa/server/src/subscribers/meilisearch-product-updated.js +0 -19
  245. package/.medusa/server/src/workflows/category-created.d.ts +0 -7
  246. package/.medusa/server/src/workflows/category-created.d.ts.map +0 -1
  247. package/.medusa/server/src/workflows/category-created.js +0 -10
  248. package/.medusa/server/src/workflows/category-deleted.d.ts +0 -7
  249. package/.medusa/server/src/workflows/category-deleted.d.ts.map +0 -1
  250. package/.medusa/server/src/workflows/category-deleted.js +0 -10
  251. package/.medusa/server/src/workflows/category-updated.d.ts +0 -7
  252. package/.medusa/server/src/workflows/category-updated.d.ts.map +0 -1
  253. package/.medusa/server/src/workflows/category-updated.js +0 -10
  254. package/.medusa/server/src/workflows/product-created.d.ts +0 -8
  255. package/.medusa/server/src/workflows/product-created.d.ts.map +0 -1
  256. package/.medusa/server/src/workflows/product-created.js +0 -12
  257. package/.medusa/server/src/workflows/product-deleted.d.ts +0 -6
  258. package/.medusa/server/src/workflows/product-deleted.d.ts.map +0 -1
  259. package/.medusa/server/src/workflows/product-deleted.js +0 -10
  260. package/.medusa/server/src/workflows/product-updated.d.ts +0 -8
  261. package/.medusa/server/src/workflows/product-updated.d.ts.map +0 -1
  262. package/.medusa/server/src/workflows/product-updated.js +0 -12
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteInventoryStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const utils_1 = require("@medusajs/utils");
6
+ const meilisearch_1 = require("../../modules/meilisearch");
7
+ exports.deleteInventoryStep = (0, workflows_sdk_1.createStep)('delete-inventory', async ({ inventoryItemId }, { container }) => {
8
+ const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
10
+ const priceService = container.resolve(utils_1.Modules.PRICING);
11
+ const { data: links } = await queryService.graph({
12
+ entity: 'product_variant_inventory_item',
13
+ fields: ['variant_id'],
14
+ filters: { inventory_item_id: inventoryItemId },
15
+ });
16
+ const variantIds = links.map((l) => l.variant_id).filter(Boolean);
17
+ if (!variantIds.length) {
18
+ return new workflows_sdk_1.StepResponse({ products: [] });
19
+ }
20
+ const { data: variants } = await queryService.graph({
21
+ entity: 'product_variant',
22
+ fields: ['product_id'],
23
+ filters: { id: variantIds },
24
+ });
25
+ const productIds = [...new Set(variants.map((v) => v.product_id).filter(Boolean))];
26
+ if (!productIds.length) {
27
+ return new workflows_sdk_1.StepResponse({ products: [] });
28
+ }
29
+ const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
30
+ const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
31
+ const { data: products } = await queryService.graph({
32
+ entity: 'product',
33
+ fields: productFields,
34
+ filters: { id: productIds },
35
+ });
36
+ const productWithPrices = await Promise.all(products.map(async (product) => {
37
+ const priceSets = {};
38
+ for (const variant of product.variants) {
39
+ const variantPrices = variant;
40
+ if (Array.isArray(variantPrices?.prices)) {
41
+ for (const p of variantPrices.prices) {
42
+ if (!p.price_set_id)
43
+ continue;
44
+ const currency_code = p.currency_code?.toLowerCase();
45
+ const id = p.price_set_id;
46
+ if (!priceSets[currency_code])
47
+ priceSets[currency_code] = [];
48
+ if (!priceSets[currency_code].includes(id)) {
49
+ priceSets[currency_code].push(id);
50
+ }
51
+ }
52
+ }
53
+ }
54
+ const calculated_amount = {};
55
+ for (const [currency_code, ids] of Object.entries(priceSets)) {
56
+ const calculatedPrices = await priceService.calculatePrices({
57
+ id: ids,
58
+ }, { context: { currency_code: currency_code } });
59
+ const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
60
+ ? item.calculated_amount?.valueOf()
61
+ : parseFloat(item.calculated_amount?.valueOf())));
62
+ calculated_amount[currency_code] = lowestCalculatedAmount;
63
+ }
64
+ return { ...product, calculated_amount };
65
+ }));
66
+ await Promise.all(productWithPrices.map(async (product) => {
67
+ if (!product.status || product.status === 'published') {
68
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
69
+ }
70
+ else {
71
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
72
+ }
73
+ }));
74
+ return new workflows_sdk_1.StepResponse({ products });
75
+ });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWludmVudG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLWludmVudG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0Msa0JBQWtCLEVBQ2xCLEtBQUssRUFBRSxFQUFFLGVBQWUsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUNwRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN2RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLEVBQUUsZ0NBQWdDO1FBQ3hDLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN0QixPQUFPLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUU7S0FDaEQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUVqRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDM0MsQ0FB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
@@ -0,0 +1,8 @@
1
+ type StepInput = {
2
+ optionValueId: string;
3
+ };
4
+ export declare const deleteOptionValueStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, {
5
+ products: any[];
6
+ }>;
7
+ export {};
8
+ //# sourceMappingURL=delete-option-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-option-value.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-option-value.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,qBAAqB;;EA+GhC,CAAA"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteOptionValueStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const utils_1 = require("@medusajs/utils");
6
+ const meilisearch_1 = require("../../modules/meilisearch");
7
+ exports.deleteOptionValueStep = (0, workflows_sdk_1.createStep)('delete-value', async ({ optionValueId }, { container }) => {
8
+ const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ const productModuleService = container.resolve(utils_1.Modules.PRODUCT);
10
+ const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
11
+ const priceService = container.resolve(utils_1.Modules.PRICING);
12
+ let productId = null;
13
+ try {
14
+ const { data: optionValues } = await queryService.graph({
15
+ entity: 'product_option_value',
16
+ fields: ['option.product_id'],
17
+ filters: { id: optionValueId },
18
+ });
19
+ if (optionValues.length && optionValues[0].option?.product_id) {
20
+ productId = optionValues[0].option.product_id;
21
+ }
22
+ }
23
+ catch {
24
+ // Option value might be deleted
25
+ }
26
+ if (!productId) {
27
+ try {
28
+ const [optionValue] = await productModuleService.listProductOptionValues({ id: optionValueId }, { withDeleted: true, select: ['option_id'] });
29
+ if (optionValue?.option_id) {
30
+ const [option] = await productModuleService.listProductOptions({ id: optionValue.option_id }, { withDeleted: true, select: ['product_id'] });
31
+ if (option?.product_id) {
32
+ productId = option.product_id;
33
+ }
34
+ }
35
+ }
36
+ catch {
37
+ // Option value not found
38
+ }
39
+ }
40
+ if (!productId) {
41
+ return new workflows_sdk_1.StepResponse({ products: [] });
42
+ }
43
+ const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
44
+ const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
45
+ const { data: products } = await queryService.graph({
46
+ entity: 'product',
47
+ fields: productFields,
48
+ filters: { id: productId },
49
+ });
50
+ const productWithPrices = await Promise.all(products.map(async (product) => {
51
+ const priceSets = {};
52
+ for (const variant of product.variants) {
53
+ const variantPrices = variant;
54
+ if (Array.isArray(variantPrices?.prices)) {
55
+ for (const p of variantPrices.prices) {
56
+ if (!p.price_set_id)
57
+ continue;
58
+ const currency_code = p.currency_code?.toLowerCase();
59
+ const id = p.price_set_id;
60
+ if (!priceSets[currency_code])
61
+ priceSets[currency_code] = [];
62
+ if (!priceSets[currency_code].includes(id)) {
63
+ priceSets[currency_code].push(id);
64
+ }
65
+ }
66
+ }
67
+ }
68
+ const calculated_amount = {};
69
+ for (const [currency_code, ids] of Object.entries(priceSets)) {
70
+ const calculatedPrices = await priceService.calculatePrices({
71
+ id: ids,
72
+ }, { context: { currency_code: currency_code } });
73
+ const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
74
+ ? item.calculated_amount?.valueOf()
75
+ : parseFloat(item.calculated_amount?.valueOf())));
76
+ calculated_amount[currency_code] = lowestCalculatedAmount;
77
+ }
78
+ return { ...product, calculated_amount };
79
+ }));
80
+ await Promise.all(productWithPrices.map(async (product) => {
81
+ if (!product.status || product.status === 'published') {
82
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
83
+ }
84
+ else {
85
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
86
+ }
87
+ }));
88
+ return new workflows_sdk_1.StepResponse({ products });
89
+ });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLW9wdGlvbi12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLW9wdGlvbi12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BILE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvRCxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdkQsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQTtJQUVuQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztZQUN0RCxNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLE1BQU0sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQzdCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUU7U0FDL0IsQ0FBQyxDQUFBO1FBRUYsSUFBSSxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDOUQsU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFD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
@@ -0,0 +1,8 @@
1
+ type StepInput = {
2
+ optionId: string;
3
+ };
4
+ export declare const deleteOptionStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, {
5
+ products: any[];
6
+ }>;
7
+ export {};
8
+ //# sourceMappingURL=delete-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-option.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-option.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,gBAAgB;;EA2G3B,CAAA"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteOptionStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const utils_1 = require("@medusajs/utils");
6
+ const meilisearch_1 = require("../../modules/meilisearch");
7
+ exports.deleteOptionStep = (0, workflows_sdk_1.createStep)('delete-option', async ({ optionId }, { container }) => {
8
+ const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ const productModuleService = container.resolve(utils_1.Modules.PRODUCT);
10
+ const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
11
+ const priceService = container.resolve(utils_1.Modules.PRICING);
12
+ let productId = null;
13
+ try {
14
+ const { data: options } = await queryService.graph({
15
+ entity: 'product_option',
16
+ fields: ['product_id'],
17
+ filters: { id: optionId },
18
+ });
19
+ if (options.length && options[0].product_id) {
20
+ productId = options[0].product_id;
21
+ }
22
+ }
23
+ catch {
24
+ // Option might be deleted
25
+ }
26
+ if (!productId) {
27
+ try {
28
+ const [option] = await productModuleService.listProductOptions({ id: optionId }, { withDeleted: true, select: ['product_id'] });
29
+ if (option?.product_id) {
30
+ productId = option.product_id;
31
+ }
32
+ }
33
+ catch {
34
+ // Option not found
35
+ }
36
+ }
37
+ if (!productId) {
38
+ return new workflows_sdk_1.StepResponse({ products: [] });
39
+ }
40
+ const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
41
+ const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
42
+ const { data: products } = await queryService.graph({
43
+ entity: 'product',
44
+ fields: productFields,
45
+ filters: { id: productId },
46
+ });
47
+ const productWithPrices = await Promise.all(products.map(async (product) => {
48
+ const priceSets = {};
49
+ for (const variant of product.variants) {
50
+ const variantPrices = variant;
51
+ if (Array.isArray(variantPrices?.prices)) {
52
+ for (const p of variantPrices.prices) {
53
+ if (!p.price_set_id)
54
+ continue;
55
+ const currency_code = p.currency_code?.toLowerCase();
56
+ const id = p.price_set_id;
57
+ if (!priceSets[currency_code])
58
+ priceSets[currency_code] = [];
59
+ if (!priceSets[currency_code].includes(id)) {
60
+ priceSets[currency_code].push(id);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ const calculated_amount = {};
66
+ for (const [currency_code, ids] of Object.entries(priceSets)) {
67
+ const calculatedPrices = await priceService.calculatePrices({
68
+ id: ids,
69
+ }, { context: { currency_code: currency_code } });
70
+ const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
71
+ ? item.calculated_amount?.valueOf()
72
+ : parseFloat(item.calculated_amount?.valueOf())));
73
+ calculated_amount[currency_code] = lowestCalculatedAmount;
74
+ }
75
+ return { ...product, calculated_amount };
76
+ }));
77
+ await Promise.all(productWithPrices.map(async (product) => {
78
+ if (!product.status || product.status === 'published') {
79
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
80
+ }
81
+ else {
82
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
83
+ }
84
+ }));
85
+ return new workflows_sdk_1.StepResponse({ products });
86
+ });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLW9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLW9wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzNHLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvRCxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdkQsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQTtJQUVuQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNqRCxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO1NBQzFCLENBQUMsQ0FBQTtRQUVGLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7UUFD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
@@ -0,0 +1,8 @@
1
+ type StepInput = {
2
+ priceId: string;
3
+ };
4
+ export declare const deletePriceStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, {
5
+ products: any[];
6
+ }>;
7
+ export {};
8
+ //# sourceMappingURL=delete-price.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-price.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-price.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,eAAe;;EAiI1B,CAAA"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deletePriceStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const utils_1 = require("@medusajs/utils");
6
+ const meilisearch_1 = require("../../modules/meilisearch");
7
+ exports.deletePriceStep = (0, workflows_sdk_1.createStep)('delete-price', async ({ priceId }, { container }) => {
8
+ const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ const pricingModuleService = container.resolve(utils_1.Modules.PRICING);
10
+ const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
11
+ let priceSetId = null;
12
+ try {
13
+ const { data: prices } = await queryService.graph({
14
+ entity: 'price',
15
+ fields: ['price_set_id'],
16
+ filters: { id: priceId },
17
+ });
18
+ if (prices.length && prices[0].price_set_id) {
19
+ priceSetId = prices[0].price_set_id;
20
+ }
21
+ }
22
+ catch {
23
+ // Price might be deleted
24
+ }
25
+ if (!priceSetId) {
26
+ try {
27
+ const [price] = await pricingModuleService.listPrices({ id: [priceId] }, { withDeleted: true, select: ['price_set_id'] });
28
+ if (price?.price_set_id) {
29
+ priceSetId = price.price_set_id;
30
+ }
31
+ }
32
+ catch {
33
+ // Price not found
34
+ }
35
+ }
36
+ if (!priceSetId) {
37
+ return new workflows_sdk_1.StepResponse({ products: [] });
38
+ }
39
+ const { data: links } = await queryService.graph({
40
+ entity: 'product_variant_price_set',
41
+ fields: ['variant_id'],
42
+ filters: { price_set_id: priceSetId },
43
+ });
44
+ const variantIds = links.map((l) => l.variant_id).filter(Boolean);
45
+ if (!variantIds.length) {
46
+ return new workflows_sdk_1.StepResponse({ products: [] });
47
+ }
48
+ const { data: variants } = await queryService.graph({
49
+ entity: 'product_variant',
50
+ fields: ['product_id'],
51
+ filters: { id: variantIds },
52
+ });
53
+ const productIds = [...new Set(variants.map((v) => v.product_id).filter(Boolean))];
54
+ if (!productIds.length) {
55
+ return new workflows_sdk_1.StepResponse({ products: [] });
56
+ }
57
+ const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
58
+ const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
59
+ const { data: products } = await queryService.graph({
60
+ entity: 'product',
61
+ fields: productFields,
62
+ filters: { id: productIds },
63
+ });
64
+ const productWithPrices = await Promise.all(products.map(async (product) => {
65
+ const priceSets = {};
66
+ for (const variant of product.variants) {
67
+ const variantPrices = variant;
68
+ if (Array.isArray(variantPrices?.prices)) {
69
+ for (const p of variantPrices.prices) {
70
+ if (!p.price_set_id)
71
+ continue;
72
+ const currency_code = p.currency_code?.toLowerCase();
73
+ const id = p.price_set_id;
74
+ if (!priceSets[currency_code])
75
+ priceSets[currency_code] = [];
76
+ if (!priceSets[currency_code].includes(id)) {
77
+ priceSets[currency_code].push(id);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ const calculated_amount = {};
83
+ for (const [currency_code, ids] of Object.entries(priceSets)) {
84
+ const calculatedPrices = await pricingModuleService.calculatePrices({
85
+ id: ids,
86
+ }, { context: { currency_code: currency_code } });
87
+ const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
88
+ ? item.calculated_amount?.valueOf()
89
+ : parseFloat(item.calculated_amount?.valueOf())));
90
+ calculated_amount[currency_code] = lowestCalculatedAmount;
91
+ }
92
+ return { ...product, calculated_amount };
93
+ }));
94
+ await Promise.all(productWithPrices.map(async (product) => {
95
+ if (!product.status || product.status === 'published') {
96
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
97
+ }
98
+ else {
99
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
100
+ }
101
+ }));
102
+ return new workflows_sdk_1.StepResponse({ products });
103
+ });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9kZWxldGUtcHJpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWtFO0FBQ2xFLDJDQUFpRjtBQUNqRiwyREFBa0Y7QUFNckUsUUFBQSxlQUFlLEdBQUcsSUFBQSwwQkFBVSxFQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEcsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQy9ELE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUVwRixJQUFJLFVBQVUsR0FBa0IsSUFBSSxDQUFBO0lBRXBDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ2hELE1BQU0sRUFBRSxPQUFPO1lBQ2YsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDekIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QyxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLHlCQUF5QjtJQUMzQixDQUFDO0lBRUQsSUFBSSxDQUFDLFVB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
@@ -1,6 +1,8 @@
1
1
  type StepInput = {
2
- id: string;
2
+ productId: string;
3
3
  };
4
- export declare const deleteProductStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, unknown>;
4
+ export declare const deleteProductStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, {
5
+ productId: string;
6
+ }>;
5
7
  export {};
6
8
  //# sourceMappingURL=delete-product.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-product.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-product.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,eAAO,MAAM,iBAAiB,oEAO5B,CAAA"}
1
+ {"version":3,"file":"delete-product.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-product.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB;;EAS5B,CAAA"}
@@ -4,10 +4,12 @@ exports.deleteProductStep = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
5
  const utils_1 = require("@medusajs/utils");
6
6
  const meilisearch_1 = require("../../modules/meilisearch");
7
- exports.deleteProductStep = (0, workflows_sdk_1.createStep)('delete-product', async ({ id }, { container }) => {
7
+ exports.deleteProductStep = (0, workflows_sdk_1.createStep)('delete-product', async ({ productId }, { container }) => {
8
8
  const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
9
9
  const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
10
- await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, id)));
11
- return new workflows_sdk_1.StepResponse();
10
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, productId)));
11
+ return new workflows_sdk_1.StepResponse({
12
+ productId,
13
+ });
12
14
  });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2RlbGV0ZS1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFrRTtBQUNsRSwyQ0FBNkM7QUFDN0MsMkRBQWtGO0FBTXJFLFFBQUEsaUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2RyxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxjQUFjLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUVqRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFcEcsT0FBTyxJQUFJLDRCQUFZLEVBQUUsQ0FBQTtBQUMzQixDQUFDLENBQUMsQ0FBQSJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2RlbGV0ZS1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFrRTtBQUNsRSwyQ0FBNkM7QUFDN0MsMkRBQWtGO0FBTXJFLFFBQUEsaUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM5RyxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxjQUFjLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUVqRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0csT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsU0FBUztLQUNWLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,8 @@
1
+ type StepInput = {
2
+ tagId: string;
3
+ };
4
+ export declare const deleteTagStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, {
5
+ products: any[];
6
+ }>;
7
+ export {};
8
+ //# sourceMappingURL=delete-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-tag.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-tag.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa;;EAqGxB,CAAA"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteTagStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const utils_1 = require("@medusajs/utils");
6
+ const meilisearch_1 = require("../../modules/meilisearch");
7
+ exports.deleteTagStep = (0, workflows_sdk_1.createStep)('delete-tag', async ({ tagId }, { container }) => {
8
+ const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
10
+ const priceService = container.resolve(utils_1.Modules.PRICING);
11
+ let productIds = [];
12
+ try {
13
+ const { data: tags } = await queryService.graph({
14
+ entity: 'product_tag',
15
+ fields: ['products.id'],
16
+ filters: { id: tagId },
17
+ });
18
+ productIds = tags.flatMap((tag) => tag.products?.map((p) => p.id) || []).filter(Boolean);
19
+ }
20
+ catch {
21
+ // Tag might be deleted
22
+ }
23
+ if (!productIds.length) {
24
+ try {
25
+ const { data: products } = await queryService.graph({
26
+ entity: 'product',
27
+ fields: ['id'],
28
+ filters: { tags: { id: [tagId] } },
29
+ });
30
+ productIds = products.map((p) => p.id).filter(Boolean);
31
+ }
32
+ catch {
33
+ // Products not found
34
+ }
35
+ }
36
+ if (!productIds.length) {
37
+ return new workflows_sdk_1.StepResponse({ products: [] });
38
+ }
39
+ const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
40
+ const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
41
+ const { data: products } = await queryService.graph({
42
+ entity: 'product',
43
+ fields: productFields,
44
+ filters: { id: [...new Set(productIds)] },
45
+ });
46
+ const productWithPrices = await Promise.all(products.map(async (product) => {
47
+ const priceSets = {};
48
+ for (const variant of product.variants) {
49
+ const variantPrices = variant;
50
+ if (Array.isArray(variantPrices?.prices)) {
51
+ for (const p of variantPrices.prices) {
52
+ if (!p.price_set_id)
53
+ continue;
54
+ const currency_code = p.currency_code?.toLowerCase();
55
+ const id = p.price_set_id;
56
+ if (!priceSets[currency_code])
57
+ priceSets[currency_code] = [];
58
+ if (!priceSets[currency_code].includes(id)) {
59
+ priceSets[currency_code].push(id);
60
+ }
61
+ }
62
+ }
63
+ }
64
+ const calculated_amount = {};
65
+ for (const [currency_code, ids] of Object.entries(priceSets)) {
66
+ const calculatedPrices = await priceService.calculatePrices({
67
+ id: ids,
68
+ }, { context: { currency_code: currency_code } });
69
+ const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
70
+ ? item.calculated_amount?.valueOf()
71
+ : parseFloat(item.calculated_amount?.valueOf())));
72
+ calculated_amount[currency_code] = lowestCalculatedAmount;
73
+ }
74
+ return { ...product, calculated_amount };
75
+ }));
76
+ await Promise.all(productWithPrices.map(async (product) => {
77
+ if (!product.status || product.status === 'published') {
78
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
79
+ }
80
+ else {
81
+ await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
82
+ }
83
+ }));
84
+ return new workflows_sdk_1.StepResponse({ products });
85
+ });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXRhZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLXRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLGFBQWEsR0FBRyxJQUFBLDBCQUFVLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNsRyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUNwRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN2RCxJQUFJLFVBQVUsR0FBYSxFQUFFLENBQUE7SUFFN0IsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDOUMsTUFBTSxFQUFFLGFBQWE7WUFDckIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUU7U0FDdkIsQ0FBQyxDQUFBO1FBRUYsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxRyxDQUFDO0lBQUMsTUFBTSxD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
@@ -0,0 +1,8 @@
1
+ type StepInput = {
2
+ typeId: string;
3
+ };
4
+ export declare const deleteTypeStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, {
5
+ products: any[];
6
+ }>;
7
+ export {};
8
+ //# sourceMappingURL=delete-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-type.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-type.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,cAAc;;EAqGzB,CAAA"}