@devx-commerce/plugin-gati 0.0.2-beta.6 → 0.0.2-beta.61

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 (241) hide show
  1. package/.medusa/server/src/api/admin/erp-event/middlewares.js +17 -0
  2. package/.medusa/server/src/api/admin/erp-event/query-config.js +23 -0
  3. package/.medusa/server/src/api/admin/erp-event/route.js +22 -0
  4. package/.medusa/server/src/api/admin/erp-event/utils.js +20 -0
  5. package/.medusa/server/src/api/admin/erp-event/validators.js +9 -0
  6. package/.medusa/server/src/api/admin/middlewares.js +11 -0
  7. package/.medusa/server/src/api/erp/webhook/config.js +95 -0
  8. package/.medusa/server/src/api/erp/webhook/route.js +39 -45
  9. package/.medusa/server/src/api/erp/webhook/utils.js +61 -0
  10. package/.medusa/server/src/api/middlewares.js +15 -0
  11. package/.medusa/server/src/api/store/carts/[id]/custom-add-line-items/route.js +17 -0
  12. package/.medusa/server/src/api/store/carts/middleware.js +14 -0
  13. package/.medusa/server/src/api/store/custom-price/[variant_id]/route.js +25 -0
  14. package/.medusa/server/src/api/store/custom-price/middleware.js +13 -0
  15. package/.medusa/server/src/api/store/custom-price/query-config.js +11 -0
  16. package/.medusa/server/src/api/store/custom-price/validators.js +16 -0
  17. package/.medusa/server/src/api/store/middleware.js +15 -0
  18. package/.medusa/server/src/lib/api-response.js +103 -0
  19. package/.medusa/server/src/modules/category-group-master/index.js +13 -0
  20. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250531004725.js +15 -0
  21. package/.medusa/server/src/modules/category-group-master/models/category-group-master.js +12 -0
  22. package/.medusa/server/src/modules/category-group-master/service.js +10 -0
  23. package/.medusa/server/src/modules/category-master/index.js +13 -0
  24. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +15 -0
  25. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
  26. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +14 -0
  27. package/.medusa/server/src/modules/category-master/models/category-master.js +15 -0
  28. package/.medusa/server/src/modules/category-master/service.js +10 -0
  29. package/.medusa/server/src/modules/collection-group-master/index.js +13 -0
  30. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +15 -0
  31. package/.medusa/server/src/modules/collection-group-master/models/collection-group-master.js +12 -0
  32. package/.medusa/server/src/modules/collection-group-master/service.js +10 -0
  33. package/.medusa/server/src/modules/collection-master/index.js +13 -0
  34. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +16 -0
  35. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +14 -0
  36. package/.medusa/server/src/modules/collection-master/models/collection-master.js +15 -0
  37. package/.medusa/server/src/modules/collection-master/service.js +10 -0
  38. package/.medusa/server/src/modules/discount-master/index.js +13 -0
  39. package/.medusa/server/src/modules/discount-master/migrations/Migration20250707232514.js +21 -0
  40. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051709.js +16 -0
  41. package/.medusa/server/src/modules/discount-master/migrations/Migration20250708051737.js +14 -0
  42. package/.medusa/server/src/modules/discount-master/models/discount-master.js +62 -0
  43. package/.medusa/server/src/modules/discount-master/service.js +84 -0
  44. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +16 -0
  45. package/.medusa/server/src/modules/erp/models/erp.js +10 -0
  46. package/.medusa/server/src/modules/erp/service.js +45 -1
  47. package/.medusa/server/src/modules/erp-event/index.js +13 -0
  48. package/.medusa/server/src/modules/erp-event/migrations/Migration20250608221239.js +15 -0
  49. package/.medusa/server/src/modules/erp-event/models/erp-event.js +11 -0
  50. package/.medusa/server/src/modules/erp-event/service.js +10 -0
  51. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +36 -0
  52. package/.medusa/server/src/modules/extended-product/models/extended-product.js +54 -5
  53. package/.medusa/server/src/modules/extended-product/service.js +3 -1
  54. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +32 -0
  55. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +20 -0
  56. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +42 -0
  57. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +14 -0
  58. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +14 -0
  59. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +250 -11
  60. package/.medusa/server/src/modules/extended-variant/service.js +24 -1
  61. package/.medusa/server/src/modules/party-master/index.js +13 -0
  62. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +16 -0
  63. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +16 -0
  64. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +16 -0
  65. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +14 -0
  66. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +16 -0
  67. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +20 -0
  68. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +16 -0
  69. package/.medusa/server/src/modules/party-master/migrations/Migration20250708123734.js +14 -0
  70. package/.medusa/server/src/modules/party-master/models/party-master.js +61 -0
  71. package/.medusa/server/src/modules/party-master/service.js +10 -0
  72. package/.medusa/server/src/modules/raw-master/index.js +13 -0
  73. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +16 -0
  74. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +14 -0
  75. package/.medusa/server/src/modules/raw-master/models/raw-master.js +17 -0
  76. package/.medusa/server/src/modules/raw-master/service.js +10 -0
  77. package/.medusa/server/src/modules/shape-master/index.js +13 -0
  78. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +16 -0
  79. package/.medusa/server/src/modules/shape-master/models/shape-master.js +13 -0
  80. package/.medusa/server/src/modules/shape-master/service.js +10 -0
  81. package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
  82. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  83. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  84. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
  85. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +15 -0
  86. package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
  87. package/.medusa/server/src/subscribers/capture-payment.js +34 -0
  88. package/.medusa/server/src/subscribers/category-group-master.js +115 -0
  89. package/.medusa/server/src/subscribers/category-master.js +129 -0
  90. package/.medusa/server/src/subscribers/collection-master.js +119 -0
  91. package/.medusa/server/src/subscribers/create-customer.js +34 -0
  92. package/.medusa/server/src/subscribers/party-master-location.js +126 -0
  93. package/.medusa/server/src/subscribers/party-master.js +249 -0
  94. package/.medusa/server/src/subscribers/product-update.js +58 -0
  95. package/.medusa/server/src/subscribers/sub-category-master.js +129 -0
  96. package/.medusa/server/src/utils/address-formatter.js +60 -0
  97. package/.medusa/server/src/utils/phone-mapper.js +28 -0
  98. package/.medusa/server/src/workflows/add-to-cart/index.js +19 -0
  99. package/.medusa/server/src/workflows/add-to-cart/steps/get-variant-prices.js +103 -0
  100. package/.medusa/server/src/workflows/add-to-cart/steps/index.js +18 -0
  101. package/.medusa/server/src/workflows/add-to-cart/workflows/add-custom-to-cart.js +68 -0
  102. package/.medusa/server/src/workflows/add-to-cart/workflows/index.js +18 -0
  103. package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
  104. package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +19 -0
  105. package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
  106. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
  107. package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +27 -0
  108. package/.medusa/server/src/workflows/category-master/index.js +58 -0
  109. package/.medusa/server/src/workflows/category-master/steps/create-category.js +22 -0
  110. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
  111. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
  112. package/.medusa/server/src/workflows/category-master/steps/update-category.js +29 -0
  113. package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
  114. package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +49 -0
  115. package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +19 -0
  116. package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
  117. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
  118. package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +27 -0
  119. package/.medusa/server/src/workflows/collection-master/index.js +68 -0
  120. package/.medusa/server/src/workflows/collection-master/steps/create-category.js +59 -0
  121. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +23 -0
  122. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +22 -0
  123. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
  124. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +32 -0
  125. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +42 -12
  126. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
  127. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
  128. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +25 -0
  129. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +31 -13
  130. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +7 -8
  131. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +10 -2
  132. package/.medusa/server/src/workflows/custom-prices/index.js +19 -0
  133. package/.medusa/server/src/workflows/custom-prices/steps/get-variant-prices.js +97 -0
  134. package/.medusa/server/src/workflows/custom-prices/steps/index.js +18 -0
  135. package/.medusa/server/src/workflows/custom-prices/workflows/fetch-custom-price.js +40 -0
  136. package/.medusa/server/src/workflows/custom-prices/workflows/index.js +18 -0
  137. package/.medusa/server/src/workflows/discount-master/index.js +19 -0
  138. package/.medusa/server/src/workflows/discount-master/steps/create-discount-detail.js +17 -0
  139. package/.medusa/server/src/workflows/discount-master/steps/create-discount.js +17 -0
  140. package/.medusa/server/src/workflows/discount-master/steps/index.js +20 -0
  141. package/.medusa/server/src/workflows/discount-master/steps/update-discount-with-details.js +14 -0
  142. package/.medusa/server/src/workflows/discount-master/steps/update-discount.js +40 -0
  143. package/.medusa/server/src/workflows/discount-master/types/index.js +3 -0
  144. package/.medusa/server/src/workflows/discount-master/workflows/create-discount.js +47 -0
  145. package/.medusa/server/src/workflows/discount-master/workflows/index.js +19 -0
  146. package/.medusa/server/src/workflows/discount-master/workflows/update-discount.js +23 -0
  147. package/.medusa/server/src/workflows/erp-event/index.js +10 -0
  148. package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +18 -0
  149. package/.medusa/server/src/workflows/helpers/product-helper.js +265 -62
  150. package/.medusa/server/src/workflows/hooks/variant-created.js +1 -2
  151. package/.medusa/server/src/workflows/index.js +18 -0
  152. package/.medusa/server/src/workflows/inward-master/helper/index.js +373 -0
  153. package/.medusa/server/src/workflows/inward-master/index.js +19 -0
  154. package/.medusa/server/src/workflows/inward-master/steps/create-inward-detail-lines.js +19 -0
  155. package/.medusa/server/src/workflows/inward-master/steps/create-inward-exploration-lines.js +20 -0
  156. package/.medusa/server/src/workflows/inward-master/steps/create-inward-extra-charges-lines.js +20 -0
  157. package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +21 -0
  158. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-detail-lines.js +16 -0
  159. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-exploration-lines.js +16 -0
  160. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-extra-charges-lines.js +16 -0
  161. package/.medusa/server/src/workflows/inward-master/steps/delete-inward.js +20 -0
  162. package/.medusa/server/src/workflows/{create-or-update-style-master/steps/fetch-styles.js → inward-master/steps/fetch-inward-master.js} +5 -5
  163. package/.medusa/server/src/workflows/inward-master/steps/index.js +29 -0
  164. package/.medusa/server/src/workflows/inward-master/steps/update-instock.js +37 -0
  165. package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +44 -0
  166. package/.medusa/server/src/workflows/inward-master/steps/update-variant-manage-inventory.js +35 -0
  167. package/.medusa/server/src/workflows/inward-master/types/index.js +3 -0
  168. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +175 -0
  169. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +102 -0
  170. package/.medusa/server/src/workflows/inward-master/workflows/index.js +21 -0
  171. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +102 -0
  172. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +37 -0
  173. package/.medusa/server/src/workflows/orders/index.js +18 -0
  174. package/.medusa/server/src/workflows/orders/steps/index.js +18 -0
  175. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +27 -0
  176. package/.medusa/server/src/workflows/orders/utils/order-helper.js +79 -0
  177. package/.medusa/server/src/workflows/orders/workflows/index.js +18 -0
  178. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +48 -0
  179. package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
  180. package/.medusa/server/src/workflows/party-master/index.js +19 -0
  181. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +10 -0
  182. package/.medusa/server/src/workflows/party-master/steps/create-party.js +72 -0
  183. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
  184. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +70 -0
  185. package/.medusa/server/src/workflows/party-master/steps/index.js +23 -0
  186. package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
  187. package/.medusa/server/src/workflows/party-master/steps/update-party.js +80 -0
  188. package/.medusa/server/src/workflows/party-master/workflows/create-customer-erp.js +11 -0
  189. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +155 -0
  190. package/.medusa/server/src/workflows/party-master/workflows/create-party-workflow.js +13 -0
  191. package/.medusa/server/src/workflows/party-master/workflows/index.js +21 -0
  192. package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
  193. package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
  194. package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
  195. package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
  196. package/.medusa/server/src/workflows/party-style-master/steps/index.js +19 -0
  197. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-master.js +40 -0
  198. package/.medusa/server/src/workflows/party-style-master/types/index.js +3 -0
  199. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +226 -0
  200. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +13 -0
  201. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
  202. package/.medusa/server/src/workflows/party-style-master/workflows/update-party-style-master.js +26 -0
  203. package/.medusa/server/src/workflows/raw-master/index.js +30 -0
  204. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +24 -0
  205. package/.medusa/server/src/workflows/raw-master/steps/delete-raw.js +23 -0
  206. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +70 -0
  207. package/.medusa/server/src/workflows/raw-master/steps/update-raw.js +34 -0
  208. package/.medusa/server/src/workflows/shape-master/index.js +30 -0
  209. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +20 -0
  210. package/.medusa/server/src/workflows/shape-master/steps/delete-shape.js +23 -0
  211. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +70 -0
  212. package/.medusa/server/src/workflows/shape-master/steps/update-shape.js +30 -0
  213. package/.medusa/server/src/workflows/style-master/index.js +19 -0
  214. package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
  215. package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
  216. package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
  217. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +325 -0
  218. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
  219. package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
  220. package/.medusa/server/src/workflows/sub-category-master/index.js +58 -0
  221. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +22 -0
  222. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
  223. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
  224. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +31 -0
  225. package/.medusa/server/src/workflows/types/common.js +21 -0
  226. package/.medusa/server/src/workflows/types/index.js +1 -9
  227. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +18 -11
  228. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
  229. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +12 -10
  230. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +19 -2
  231. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-batch.js +21 -0
  232. package/package.json +6 -2
  233. package/.medusa/server/src/api/admin/plugin/route.js +0 -7
  234. package/.medusa/server/src/api/store/plugin/route.js +0 -7
  235. package/.medusa/server/src/modules/extended-product/migrations/Migration20250507055326.js +0 -27
  236. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +0 -27
  237. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +0 -14
  238. package/.medusa/server/src/modules/extended-variant/types/party-style.js +0 -3
  239. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +0 -123
  240. package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +0 -70
  241. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +0 -160
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20250507055326 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250507055326 extends migrations_1.Migration {
6
- async up() {
7
- this.addSql(`create table if not exists "extended_product" ("id" text not null, "style_id" integer not null, "style_date" timestamptz not null, "style_code" text not null, "style_alias_no" text not null, "category" text not null, "sub_category" text not null, "manufacturer" text not null, "manufacturer_no" text not null, "make_type" text not null, "stock_type" text not null, "item_size" text not null, "brand" text not null, "gender" text check ("gender" in ('Men', 'Women', 'Unisex', 'Kids')) not null, "shape_code" text not null, "is_complete" boolean not null, "restricted" boolean not null, "currency" text not null, "rate_chart" text not null, "discount_markup" text not null, "cost" real not null, "mrp" real not null, "hsn_code" text not null, "gross_weight" real not null, "net_weight" real not null, "wax_weight" real not null, "model_weight" real not null, "metal" text not null, "metal_purity" text not null, "metal_color" text not null, "total_diamond_pcs" integer not null, "total_diamond_weight" real not null, "total_client_diamond_pcs" integer not null, "total_client_diamond_weight" real not null, "total_stone_pcs" integer not null, "total_stone_weight" real not null, "total_cz_pcs" integer not null, "total_cz_weight" real not null, "web_description" text not null, "remarks" text not null, "customer_remarks" text not null, "special_remarks" text not null, "metal_total_cost" real not null, "diamond_total_cost" real not null, "stone_total_cost" real not null, "cpf_total_cost" real not null, "metal_total_amount" real not null, "diamond_total_amount" real not null, "stone_total_amount" real not null, "cpf_total_amount" real not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "extended_product_pkey" primary key ("id"));`);
8
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_extended_product_deleted_at" ON "extended_product" (deleted_at) WHERE deleted_at IS NULL;`);
9
- this.addSql(`create table if not exists "style_details_line" ("id" text not null, "style_id" integer not null, "style_mst_detail_id" integer not null, "item_code" text not null, "raw_type" text not null, "material_group" text not null, "raw_code" text not null, "shape_code" text not null, "qly_code" text not null, "tone_code" text not null, "description" text not null, "size" text not null, "accessories" text not null, "setting" text not null, "is_base" boolean not null, "is_center_stone" boolean not null, "pieces" integer not null, "weight" real not null, "min_weight" real not null, "max_weight" real not null, "stone_wt" real not null, "default_wt" real not null, "raw_formula" text not null, "cost_rate" real not null, "cost_amount" real not null, "hand_cost_rate" real not null, "hand_cost_amount" real not null, "set_cost_rate" real not null, "set_cost_amount" real not null, "loss_cost_per" real not null, "loss_cost_per_is_fix" boolean not null, "loss_cost_weight" real not null, "loss_cost_amt" real not null, "cpf_cost_rate" real not null, "cpf_cost_is_fix" boolean not null, "cpf_cost_amt" real not null, "rate" real not null, "amount" real not null, "hand_rate" real not null, "hand_amount" real not null, "set_rate" real not null, "set_amount" real not null, "loss_per" real not null, "loss_per_is_fix" boolean not null, "loss_weight" real not null, "loss_amt" real not null, "cpf_rate" real not null, "cpf_is_fix" boolean not null, "cpf_amt" real not null, "extended_product_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "style_details_line_pkey" primary key ("id"));`);
10
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_details_line_extended_product_id" ON "style_details_line" (extended_product_id) WHERE deleted_at IS NULL;`);
11
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_details_line_deleted_at" ON "style_details_line" (deleted_at) WHERE deleted_at IS NULL;`);
12
- this.addSql(`create table if not exists "style_exploration_line" ("id" text not null, "style_id" integer not null, "exploration_code" text not null, "exploration_value" text not null, "extended_product_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "style_exploration_line_pkey" primary key ("id"));`);
13
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_exploration_line_extended_product_id" ON "style_exploration_line" (extended_product_id) WHERE deleted_at IS NULL;`);
14
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_exploration_line_deleted_at" ON "style_exploration_line" (deleted_at) WHERE deleted_at IS NULL;`);
15
- this.addSql(`alter table if exists "style_details_line" add constraint "style_details_line_extended_product_id_foreign" foreign key ("extended_product_id") references "extended_product" ("id") on update cascade;`);
16
- this.addSql(`alter table if exists "style_exploration_line" add constraint "style_exploration_line_extended_product_id_foreign" foreign key ("extended_product_id") references "extended_product" ("id") on update cascade;`);
17
- }
18
- async down() {
19
- this.addSql(`alter table if exists "style_details_line" drop constraint if exists "style_details_line_extended_product_id_foreign";`);
20
- this.addSql(`alter table if exists "style_exploration_line" drop constraint if exists "style_exploration_line_extended_product_id_foreign";`);
21
- this.addSql(`drop table if exists "extended_product" cascade;`);
22
- this.addSql(`drop table if exists "style_details_line" cascade;`);
23
- this.addSql(`drop table if exists "style_exploration_line" cascade;`);
24
- }
25
- }
26
- exports.Migration20250507055326 = Migration20250507055326;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDcwNTUzMjYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC1wcm9kdWN0L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MDcwNTUzMjYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDB5REFBMHlELENBQUMsQ0FBQztRQUN4ekQsSUFBSSxDQUFDLE1BQU0sQ0FBQywySEFBMkgsQ0FBQyxDQUFDO1FBRXpJLElBQUksQ0FBQyxNQUFNLENBQUMseXBEQUF5cEQsQ0FBQyxDQUFDO1FBQ3ZxRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlKQUFpSixDQUFDLENBQUM7UUFDL0osSUFBSSxDQUFDLE1BQU0sQ0FBQywrSEFBK0gsQ0FBQyxDQUFDO1FBRTdJLElBQUksQ0FBQyxNQUFNLENBQUMsZ1pBQWdaLENBQUMsQ0FBQztRQUM5WixJQUFJLENBQUMsTUFBTSxDQUFDLHlKQUF5SixDQUFDLENBQUM7UUFDdkssSUFBSSxDQUFDLE1BQU0sQ0FBQyx1SUFBdUksQ0FBQyxDQUFDO1FBRXJKLElBQUksQ0FBQyxNQUFNLENBQUMsd01BQXdNLENBQUMsQ0FBQztRQUV0TixJQUFJLENBQUMsTUFBTSxDQUFDLGdOQUFnTixDQUFDLENBQUM7SUFDaE8sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsd0hBQXdILENBQUMsQ0FBQztRQUV0SSxJQUFJLENBQUMsTUFBTSxDQUFDLGdJQUFnSSxDQUFDLENBQUM7UUFFOUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsTUFBTSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUVGO0FBL0JELDBEQStCQyJ9
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20250507055941 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250507055941 extends migrations_1.Migration {
6
- async up() {
7
- this.addSql(`create table if not exists "extended_variant" ("id" text not null, "thumbnail" text not null, "images" text[] not null, "party_style_id" integer not null, "party_style_date" timestamptz not null, "party_style_code" text not null, "party_style_alias_no" text not null, "style_id" integer not null, "style_code" text not null, "category" text not null, "sub_category" text not null, "manufacturer" text not null, "manufacturer_no" text not null, "make_type" text not null, "stock_type" text not null, "item_size" text not null, "brand" text not null, "gender" text check ("gender" in ('Men', 'Women', 'Unisex', 'Kids')) not null, "shape_code" text not null, "is_complete" boolean not null, "restricted" boolean not null, "currency" text not null, "rate_chart" text not null, "discount_markup" text not null, "cost" real not null, "mrp" real not null, "hsn_code" text not null, "gross_weight" real not null, "net_weight" real not null, "wax_weight" real not null, "model_weight" real not null, "metal" text not null, "metal_purity" text not null, "metal_color" text not null, "total_diamond_pcs" integer not null, "total_diamond_weight" real not null, "total_client_diamond_pcs" integer not null, "total_client_diamond_weight" real not null, "total_stone_pcs" integer not null, "total_stone_weight" real not null, "total_cz_pcs" integer not null, "total_cz_weight" real not null, "web_description" text not null, "remarks" text not null, "customer_remarks" text not null, "special_remarks" text not null, "metal_total_cost" real not null, "diamond_total_cost" real not null, "stone_total_cost" real not null, "cpf_total_cost" real not null, "metal_total_amount" real not null, "diamond_total_amount" real not null, "stone_total_amount" real not null, "cpf_total_amount" real not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "extended_variant_pkey" primary key ("id"));`);
8
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_extended_variant_deleted_at" ON "extended_variant" (deleted_at) WHERE deleted_at IS NULL;`);
9
- this.addSql(`create table if not exists "party_style_details_line" ("id" text not null, "party_style_id" integer not null, "party_style_mst_detail_id" integer not null, "item_code" text not null, "raw_type" text not null, "material_group" text not null, "raw_code" text not null, "shape_code" text not null, "qly_code" text not null, "tone_code" text not null, "description" text not null, "size" text not null, "accessories" text not null, "setting" text not null, "is_base" boolean not null, "is_center_stone" boolean not null, "pieces" integer not null, "weight" real not null, "min_weight" real not null, "max_weight" real not null, "stone_wt" real not null, "default_wt" real not null, "raw_formula" text not null, "cost_rate" real not null, "cost_amount" real not null, "hand_cost_rate" real not null, "hand_cost_amount" real not null, "set_cost_rate" real not null, "set_cost_amount" real not null, "loss_cost_per" real not null, "loss_cost_per_is_fix" boolean not null, "loss_cost_weight" real not null, "loss_cost_amt" real not null, "cpf_cost_rate" real not null, "cpf_cost_is_fix" boolean not null, "cpf_cost_amt" real not null, "rate" real not null, "amount" real not null, "hand_rate" real not null, "hand_amount" real not null, "set_rate" real not null, "set_amount" real not null, "loss_per" real not null, "loss_per_is_fix" boolean not null, "loss_weight" real not null, "loss_amt" real not null, "cpf_rate" real not null, "cpf_is_fix" boolean not null, "cpf_amt" real not null, "extended_variant_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "party_style_details_line_pkey" primary key ("id"));`);
10
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_details_line_extended_variant_id" ON "party_style_details_line" (extended_variant_id) WHERE deleted_at IS NULL;`);
11
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_details_line_deleted_at" ON "party_style_details_line" (deleted_at) WHERE deleted_at IS NULL;`);
12
- this.addSql(`create table if not exists "party_style_exploration_line" ("id" text not null, "party_style_id" integer not null, "exploration_code" text not null, "exploration_value" text not null, "extended_variant_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "party_style_exploration_line_pkey" primary key ("id"));`);
13
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_exploration_line_extended_variant_id" ON "party_style_exploration_line" (extended_variant_id) WHERE deleted_at IS NULL;`);
14
- this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_party_style_exploration_line_deleted_at" ON "party_style_exploration_line" (deleted_at) WHERE deleted_at IS NULL;`);
15
- this.addSql(`alter table if exists "party_style_details_line" add constraint "party_style_details_line_extended_variant_id_foreign" foreign key ("extended_variant_id") references "extended_variant" ("id") on update cascade;`);
16
- this.addSql(`alter table if exists "party_style_exploration_line" add constraint "party_style_exploration_line_extended_variant_id_foreign" foreign key ("extended_variant_id") references "extended_variant" ("id") on update cascade;`);
17
- }
18
- async down() {
19
- this.addSql(`alter table if exists "party_style_details_line" drop constraint if exists "party_style_details_line_extended_variant_id_foreign";`);
20
- this.addSql(`alter table if exists "party_style_exploration_line" drop constraint if exists "party_style_exploration_line_extended_variant_id_foreign";`);
21
- this.addSql(`drop table if exists "extended_variant" cascade;`);
22
- this.addSql(`drop table if exists "party_style_details_line" cascade;`);
23
- this.addSql(`drop table if exists "party_style_exploration_line" cascade;`);
24
- }
25
- }
26
- exports.Migration20250507055941 = Migration20250507055941;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDcwNTU5NDEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC12YXJpYW50L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MDcwNTU5NDEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGc3REFBZzdELENBQUMsQ0FBQztRQUM5N0QsSUFBSSxDQUFDLE1BQU0sQ0FBQywySEFBMkgsQ0FBQyxDQUFDO1FBRXpJLElBQUksQ0FBQyxNQUFNLENBQUMsaXJEQUFpckQsQ0FBQyxDQUFDO1FBQy9yRCxJQUFJLENBQUMsTUFBTSxDQUFDLDZKQUE2SixDQUFDLENBQUM7UUFDM0ssSUFBSSxDQUFDLE1BQU0sQ0FBQywySUFBMkksQ0FBQyxDQUFDO1FBRXpKLElBQUksQ0FBQyxNQUFNLENBQUMsa2FBQWthLENBQUMsQ0FBQztRQUNoYixJQUFJLENBQUMsTUFBTSxDQUFDLHFLQUFxSyxDQUFDLENBQUM7UUFDbkwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtSkFBbUosQ0FBQyxDQUFDO1FBRWpLLElBQUksQ0FBQyxNQUFNLENBQUMsb05BQW9OLENBQUMsQ0FBQztRQUVsTyxJQUFJLENBQUMsTUFBTSxDQUFDLDROQUE0TixDQUFDLENBQUM7SUFDNU8sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsb0lBQW9JLENBQUMsQ0FBQztRQUVsSixJQUFJLENBQUMsTUFBTSxDQUFDLDRJQUE0SSxDQUFDLENBQUM7UUFFMUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsTUFBTSxDQUFDLDhEQUE4RCxDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUVGO0FBL0JELDBEQStCQyJ9
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20250508025507 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250508025507 extends migrations_1.Migration {
6
- async up() {
7
- this.addSql(`alter table if exists "extended_variant" add column if not exists "party_style_sku_no" text not null;`);
8
- }
9
- async down() {
10
- this.addSql(`alter table if exists "extended_variant" drop column if exists "party_style_sku_no";`);
11
- }
12
- }
13
- exports.Migration20250508025507 = Migration20250508025507;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDgwMjU1MDcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC12YXJpYW50L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MDgwMjU1MDcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLHVHQUF1RyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsc0ZBQXNGLENBQUMsQ0FBQztJQUN0RyxDQUFDO0NBRUY7QUFWRCwwREFVQyJ9
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydHktc3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC12YXJpYW50L3R5cGVzL3BhcnR5LXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,123 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
7
- const core_flows_1 = require("@medusajs/medusa/core-flows");
8
- const create_or_update_product_options_1 = __importDefault(require("../create-or-update-product-options"));
9
- const product_helper_1 = require("../helpers/product-helper");
10
- const fetch_party_styles_1 = require("./steps/fetch-party-styles");
11
- /**
12
- * Main workflow for handling PartyStyleMst operations
13
- * This workflow:
14
- * 1. Fetches PartyStyle data from ERP
15
- * 2. Conditionally creates variants based on operation type
16
- *
17
- * @param input - Contains operation type, datafor type, and transaction IDs
18
- */
19
- const partyStyleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("party-style-mst", (input) => {
20
- // Step 1: Fetch style data from ERP system
21
- const partyStyleData = (0, fetch_party_styles_1.fetchPartyStyleData)(input);
22
- const externalIdsFilters = (0, workflows_sdk_1.transform)({
23
- partyStyleData,
24
- }, (data) => {
25
- return [
26
- ...new Set(data.partyStyleData.map((product) => `${product.StyleId}`)),
27
- ];
28
- });
29
- const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
30
- entity: "product",
31
- fields: ["id", "external_id", "variants.*"],
32
- filters: {
33
- external_id: externalIdsFilters,
34
- },
35
- }).config({ name: "existing-products" });
36
- (0, workflows_sdk_1.when)(input, (input) => {
37
- return input.operation === "add";
38
- }).then(() => {
39
- // Create product options
40
- create_or_update_product_options_1.default.runAsStep({
41
- input: {
42
- existingProducts,
43
- partyStyleData,
44
- },
45
- });
46
- const { variantsToCreate } = (0, workflows_sdk_1.transform)({
47
- partyStyleData,
48
- existingProducts,
49
- }, (data) => {
50
- const variantsToCreate = [];
51
- const existingProductIds = data.existingProducts.map((product) => product.external_id);
52
- data.partyStyleData
53
- .filter((styleData) => existingProductIds.includes(String(styleData.StyleId)))
54
- .forEach((styleData) => {
55
- // Calculate costs based on raw codes
56
- const { metal_total_cost, diamond_total_cost, stone_total_cost, cpf_total_cost, metal_total_amount, diamond_total_amount, stone_total_amount, cpf_total_amount, } = (0, product_helper_1.calculateStyleCostsAndAmounts)(styleData.PartyStyleMstDetail);
57
- const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.PartyStyleMstDetail);
58
- const existingProduct = data.existingProducts.find((p) => p.external_id === String(styleData.StyleId));
59
- const productOptions = (0, product_helper_1.createProductOptionsForPartyStyleId)(styleData);
60
- const variant = {
61
- product_id: existingProduct.id,
62
- title: styleData.PartyStyleCode,
63
- sku: styleData.PartyStyleSKUNo || undefined,
64
- prices: [
65
- {
66
- amount: styleData.Mrp,
67
- currency_code: "inr",
68
- },
69
- ],
70
- options: {
71
- ...productOptions,
72
- },
73
- manage_inventory: false,
74
- metadata: {
75
- external_id: `${styleData.PartyStyleId}`,
76
- },
77
- };
78
- const extendedVariantData = (0, product_helper_1.getExtendedVariantData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
79
- metal_total_cost,
80
- diamond_total_cost,
81
- stone_total_cost,
82
- cpf_total_cost,
83
- metal_total_amount,
84
- diamond_total_amount,
85
- stone_total_amount,
86
- cpf_total_amount,
87
- });
88
- const styleDetails = (0, product_helper_1.getPartyStyleDetailLines)(styleData?.PartyStyleMstDetail);
89
- const explorationDetails = (0, product_helper_1.getPartyStyleExplorationLines)(styleData?.PartyStyleMstExploration);
90
- variantsToCreate.push({
91
- variant: variant,
92
- additional_data: {
93
- extendedVariantData,
94
- styleDetails,
95
- explorationDetails,
96
- },
97
- });
98
- });
99
- return {
100
- variantsToCreate: {
101
- product_variants: variantsToCreate.map((p) => p.variant),
102
- additional_data: variantsToCreate.reduce((acc, p) => {
103
- const externalId = p?.variant?.metadata?.external_id;
104
- if (externalId) {
105
- acc[externalId] = p.additional_data;
106
- }
107
- return acc;
108
- }, {}),
109
- },
110
- };
111
- });
112
- core_flows_1.createProductVariantsWorkflow.runAsStep({
113
- input: {
114
- ...variantsToCreate,
115
- },
116
- });
117
- });
118
- return new workflows_sdk_1.WorkflowResponse({
119
- success: true,
120
- });
121
- });
122
- exports.default = partyStyleMstWorkflow;
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtcGFydHktc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscUVBSzJDO0FBQzNDLDREQUdxQztBQUdyQywyR0FBdUY7QUFDdkYsOERBT21DO0FBRW5DLG1FQUFpRTtBQUVqRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFjLEVBQzFDLGlCQUFpQixFQUNqQixDQUFDLEtBQXlCLEVBQUUsRUFBRTtJQUM1QiwyQ0FBMkM7SUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBQSx3Q0FBbUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxjQUFjO0tBQ2YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTztZQUNMLEdBQUcsSUFBSSxHQUFHLENBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQzNEO1NBQ0YsQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7UUFDM0MsT0FBTyxFQUFFO1lBQ1AsV0FBVyxFQUFFLGtCQUFrQjtTQUNoQztLQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLElBQUEsb0JBQUksRUFBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVB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
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchPartyStyleData = void 0;
4
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const BATCH_SIZE = 50; // Process 50 items at a time
6
- const MAX_RETRIES = 3;
7
- const RETRY_DELAY = 1000; // 1 second delay between retries
8
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
9
- const processBatch = async (erpService, datafor, batch, retryCount = 0) => {
10
- try {
11
- const results = await Promise.all(batch.map(async (transactionId) => {
12
- try {
13
- return await erpService.getMasterData(datafor, transactionId);
14
- }
15
- catch (error) {
16
- console.error(`Error fetching data for ID ${transactionId}:`, error);
17
- return null;
18
- }
19
- }));
20
- // Filter out failed requests
21
- const successfulResults = results.filter((result) => result !== null);
22
- // If we have failed requests and haven't exceeded max retries, retry them
23
- if (results.length !== successfulResults.length &&
24
- retryCount < MAX_RETRIES) {
25
- const failedIds = batch.filter((_, index) => results[index] === null);
26
- console.log(`Retrying ${failedIds.length} failed requests (attempt ${retryCount + 1})`);
27
- await sleep(RETRY_DELAY);
28
- const retryResults = await processBatch(erpService, datafor, failedIds, retryCount + 1);
29
- return [...successfulResults, ...retryResults];
30
- }
31
- return successfulResults;
32
- }
33
- catch (error) {
34
- console.error("Batch processing error:", error);
35
- if (retryCount < MAX_RETRIES) {
36
- console.log(`Retrying entire batch (attempt ${retryCount + 1})`);
37
- await sleep(RETRY_DELAY);
38
- return processBatch(erpService, datafor, batch, retryCount + 1);
39
- }
40
- throw error;
41
- }
42
- };
43
- /**
44
- * Step to fetch style data from ERP system
45
- * This step processes data in batches to avoid timeouts and handle large datasets
46
- * @param input - Contains datafor type and array of transaction IDs
47
- * @param container - Dependency injection container to resolve services
48
- */
49
- exports.fetchPartyStyleData = (0, workflows_sdk_1.createStep)("fetch-party-style-data", async (input, { container }) => {
50
- const erpService = container.resolve("erp");
51
- const { datafor, data } = input;
52
- // Split data into batches
53
- const batches = [];
54
- for (let i = 0; i < data.length; i += BATCH_SIZE) {
55
- batches.push(data.slice(i, i + BATCH_SIZE));
56
- }
57
- console.log(`Processing ${data.length} items in ${batches.length} batches`);
58
- // Process each batch sequentially
59
- const allResults = [];
60
- for (let i = 0; i < batches.length; i++) {
61
- console.log(`Processing batch ${i + 1}/${batches.length}`);
62
- const batchResults = await processBatch(erpService, datafor, batches[i]);
63
- allResults.push(...batchResults);
64
- }
65
- console.log(`Successfully processed ${allResults.length} items`);
66
- return new workflows_sdk_1.StepResponse(allResults);
67
- }, async (result, { container }) => {
68
- console.log("Something went wrong in fetch-style-data");
69
- });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcGFydHktc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtb3ItdXBkYXRlLXBhcnR5LXN0eWxlLW1hc3Rlci9zdGVwcy9mZXRjaC1wYXJ0eS1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBSTdFLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QjtBQUNwRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsaUNBQWlDO0FBRTNELE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWhGLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFDeEIsVUFBNEIsRUFDNUIsT0FBZSxFQUNmLEtBQWUsRUFDZixVQUFVLEdBQUcsQ0FBQyxFQUNFLEVBQUU7SUFDbEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLGFBQWEsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLE1B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
@@ -1,160 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
4
- const core_flows_1 = require("@medusajs/medusa/core-flows");
5
- const product_helper_1 = require("../helpers/product-helper");
6
- const fetch_styles_1 = require("./steps/fetch-styles");
7
- /**
8
- * Main workflow for handling StyleMst operations
9
- * This workflow:
10
- * 1. Fetches style data from ERP
11
- * 2. Gets required sales channels and shipping profiles
12
- * 3. Conditionally creates products based on operation type
13
- *
14
- * @param input - Contains operation type, datafor type, and transaction IDs
15
- */
16
- const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input) => {
17
- // Step 1: Fetch style data from ERP system
18
- const styleData = (0, fetch_styles_1.fetchStyleData)(input);
19
- // Step 2: Get all sales channels for product creation
20
- const { data: stores } = (0, core_flows_1.useQueryGraphStep)({
21
- entity: "store",
22
- fields: ["default_sales_channel_id"],
23
- });
24
- // Step 3: Get shipping profile for product creation
25
- const { data: shippingProfiles } = (0, core_flows_1.useQueryGraphStep)({
26
- entity: "shipping_profile",
27
- fields: ["id"],
28
- pagination: {
29
- take: 1,
30
- },
31
- }).config({ name: "shipping-profile" });
32
- const externalIdsFilters = (0, workflows_sdk_1.transform)({
33
- styleData,
34
- }, (data) => {
35
- return data.styleData.map((product) => `${product.StyleId}`);
36
- });
37
- // @ts-ignore
38
- const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
39
- entity: "product",
40
- fields: ["id", "external_id", "variants.*"],
41
- filters: {
42
- // @ts-ignore
43
- external_id: externalIdsFilters,
44
- },
45
- }).config({ name: "existing-products" });
46
- (0, workflows_sdk_1.when)(input, (input) => {
47
- return input.operation === "add" || input.operation === "update";
48
- }).then(() => {
49
- const { productsToCreate, productsToUpdate } = (0, workflows_sdk_1.transform)({
50
- styleData,
51
- shippingProfiles,
52
- stores,
53
- existingProducts,
54
- }, (data) => {
55
- const productsToCreate = [];
56
- const productsToUpdate = [];
57
- data.styleData.forEach((styleData) => {
58
- // Calculate costs based on raw codes
59
- const { metal_total_cost, diamond_total_cost, stone_total_cost, cpf_total_cost, metal_total_amount, diamond_total_amount, stone_total_amount, cpf_total_amount, } = (0, product_helper_1.calculateStyleCostsAndAmounts)(styleData.StyleMstDetail);
60
- const productTitle = styleData.StyleMstExploration.find((exploration) => exploration.ExplorationCode === "Product Name")?.ExplorationValue || `Style ${styleData.StyleCode}`;
61
- const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.StyleMstDetail);
62
- const product = {
63
- external_id: `${styleData.StyleId}`,
64
- title: productTitle || "",
65
- description: styleData.WebDescription || "",
66
- status: "draft",
67
- options: [
68
- {
69
- title: "Default",
70
- values: ["Default"],
71
- },
72
- ],
73
- hs_code: styleData.HSN || "",
74
- handle: (0, product_helper_1.toKebabCase)([productTitle, styleData.StyleCode]),
75
- variants: [],
76
- shipping_profile_id: data.shippingProfiles[0].id,
77
- sales_channels: [
78
- {
79
- id: data.stores[0].default_sales_channel_id || "",
80
- },
81
- ],
82
- };
83
- const existingProduct = data.existingProducts.find((p) => p.external_id === product.external_id);
84
- if (existingProduct) {
85
- product.id = existingProduct.id;
86
- product.status = existingProduct.status;
87
- product.title = existingProduct.title;
88
- product.description = existingProduct.description;
89
- product.handle = existingProduct.handle;
90
- }
91
- const extendedProductData = (0, product_helper_1.getExtendedProductData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
92
- metal_total_cost,
93
- diamond_total_cost,
94
- stone_total_cost,
95
- cpf_total_cost,
96
- metal_total_amount,
97
- diamond_total_amount,
98
- stone_total_amount,
99
- cpf_total_amount,
100
- });
101
- const styleDetails = (0, product_helper_1.getStyleDetailLines)(styleData?.StyleMstDetail);
102
- if (existingProduct) {
103
- productsToUpdate.push({
104
- product: product,
105
- additional_data: {
106
- extendedProductData,
107
- styleDetails,
108
- },
109
- });
110
- }
111
- else {
112
- productsToCreate.push({
113
- product: product,
114
- additional_data: {
115
- extendedProductData,
116
- styleDetails,
117
- },
118
- });
119
- }
120
- });
121
- return {
122
- productsToCreate: {
123
- products: productsToCreate.map((p) => p.product),
124
- additional_data: productsToCreate.reduce((acc, p) => {
125
- const externalId = p?.product?.external_id;
126
- if (externalId) {
127
- acc[externalId] = p.additional_data;
128
- }
129
- return acc;
130
- }, {}),
131
- },
132
- productsToUpdate: {
133
- products: productsToUpdate.map((p) => p.product),
134
- additional_data: productsToUpdate.reduce((acc, p) => {
135
- const externalId = p?.product?.external_id;
136
- if (externalId) {
137
- acc[externalId] = p.additional_data;
138
- }
139
- return acc;
140
- }, {}),
141
- },
142
- };
143
- });
144
- core_flows_1.createProductsWorkflow.runAsStep({
145
- input: {
146
- ...productsToCreate,
147
- },
148
- });
149
- core_flows_1.updateProductsWorkflow.runAsStep({
150
- input: {
151
- ...productsToUpdate,
152
- },
153
- });
154
- });
155
- return new workflows_sdk_1.WorkflowResponse({
156
- success: true,
157
- });
158
- });
159
- exports.default = styleMstWorkflow;
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEscUVBSzJDO0FBQzNDLDREQUlxQztBQUdyQyw4REFNbUM7QUFFbkMsdURBQXNEO0FBRXREOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFjLEVBQUMsV0FBVyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQzVFLDJDQUEyQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLDZCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEMsc0RBQXNEO0lBQ3RELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3JDLENBQUMsQ0FBQztJQUVILG9EQUFvRDtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuRCxNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxDQUFDO1NBQ1I7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUV4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMs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