@devx-commerce/plugin-gati 0.0.2-beta.5 → 0.0.2-beta.51

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 (214) 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/middleware.js +11 -0
  14. package/.medusa/server/src/lib/api-response.js +103 -0
  15. package/.medusa/server/src/modules/category-group-master/index.js +13 -0
  16. package/.medusa/server/src/modules/category-group-master/migrations/Migration20250531004725.js +15 -0
  17. package/.medusa/server/src/modules/category-group-master/models/category-group-master.js +12 -0
  18. package/.medusa/server/src/modules/category-group-master/service.js +10 -0
  19. package/.medusa/server/src/modules/category-master/index.js +13 -0
  20. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +15 -0
  21. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
  22. package/.medusa/server/src/modules/category-master/migrations/Migration20250531004724.js +14 -0
  23. package/.medusa/server/src/modules/category-master/models/category-master.js +15 -0
  24. package/.medusa/server/src/modules/category-master/service.js +10 -0
  25. package/.medusa/server/src/modules/collection-group-master/index.js +13 -0
  26. package/.medusa/server/src/modules/collection-group-master/migrations/Migration20250531022203.js +15 -0
  27. package/.medusa/server/src/modules/collection-group-master/models/collection-group-master.js +12 -0
  28. package/.medusa/server/src/modules/collection-group-master/service.js +10 -0
  29. package/.medusa/server/src/modules/collection-master/index.js +13 -0
  30. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +16 -0
  31. package/.medusa/server/src/modules/collection-master/migrations/Migration20250531025048.js +14 -0
  32. package/.medusa/server/src/modules/collection-master/models/collection-master.js +15 -0
  33. package/.medusa/server/src/modules/collection-master/service.js +10 -0
  34. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +16 -0
  35. package/.medusa/server/src/modules/erp/models/erp.js +10 -0
  36. package/.medusa/server/src/modules/erp/service.js +45 -1
  37. package/.medusa/server/src/modules/erp-event/index.js +13 -0
  38. package/.medusa/server/src/modules/erp-event/migrations/Migration20250608221239.js +15 -0
  39. package/.medusa/server/src/modules/erp-event/models/erp-event.js +11 -0
  40. package/.medusa/server/src/modules/erp-event/service.js +10 -0
  41. package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +36 -0
  42. package/.medusa/server/src/modules/extended-product/models/extended-product.js +54 -5
  43. package/.medusa/server/src/modules/extended-product/service.js +3 -1
  44. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +32 -0
  45. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +20 -0
  46. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629220100.js +42 -0
  47. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250629223425.js +14 -0
  48. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250704064831.js +14 -0
  49. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +250 -10
  50. package/.medusa/server/src/modules/extended-variant/service.js +24 -1
  51. package/.medusa/server/src/modules/party-master/index.js +13 -0
  52. package/.medusa/server/src/modules/party-master/migrations/Migration20250604104235.js +16 -0
  53. package/.medusa/server/src/modules/party-master/migrations/Migration20250604115453.js +16 -0
  54. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120348.js +16 -0
  55. package/.medusa/server/src/modules/party-master/migrations/Migration20250604120701.js +14 -0
  56. package/.medusa/server/src/modules/party-master/migrations/Migration20250608220924.js +16 -0
  57. package/.medusa/server/src/modules/party-master/migrations/Migration20250612225738.js +20 -0
  58. package/.medusa/server/src/modules/party-master/migrations/Migration20250612231031.js +16 -0
  59. package/.medusa/server/src/modules/party-master/models/party-master.js +60 -0
  60. package/.medusa/server/src/modules/party-master/service.js +10 -0
  61. package/.medusa/server/src/modules/raw-master/index.js +13 -0
  62. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +16 -0
  63. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +14 -0
  64. package/.medusa/server/src/modules/raw-master/models/raw-master.js +17 -0
  65. package/.medusa/server/src/modules/raw-master/service.js +10 -0
  66. package/.medusa/server/src/modules/shape-master/index.js +13 -0
  67. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +16 -0
  68. package/.medusa/server/src/modules/shape-master/models/shape-master.js +13 -0
  69. package/.medusa/server/src/modules/shape-master/service.js +10 -0
  70. package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
  71. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  72. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  73. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250531010409.js +14 -0
  74. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +15 -0
  75. package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
  76. package/.medusa/server/src/subscribers/capture-payment.js +34 -0
  77. package/.medusa/server/src/subscribers/category-group-master.js +115 -0
  78. package/.medusa/server/src/subscribers/category-master.js +125 -0
  79. package/.medusa/server/src/subscribers/collection-master.js +115 -0
  80. package/.medusa/server/src/subscribers/create-customer.js +34 -0
  81. package/.medusa/server/src/subscribers/party-master-location.js +126 -0
  82. package/.medusa/server/src/subscribers/party-master.js +244 -0
  83. package/.medusa/server/src/subscribers/product-update.js +58 -0
  84. package/.medusa/server/src/subscribers/sub-category-master.js +125 -0
  85. package/.medusa/server/src/utils/address-formatter.js +60 -0
  86. package/.medusa/server/src/utils/phone-mapper.js +28 -0
  87. package/.medusa/server/src/workflows/add-to-cart/index.js +19 -0
  88. package/.medusa/server/src/workflows/add-to-cart/steps/get-variant-prices.js +94 -0
  89. package/.medusa/server/src/workflows/add-to-cart/steps/index.js +18 -0
  90. package/.medusa/server/src/workflows/add-to-cart/workflows/add-custom-to-cart.js +68 -0
  91. package/.medusa/server/src/workflows/add-to-cart/workflows/index.js +18 -0
  92. package/.medusa/server/src/workflows/category-group-master/index.js +58 -0
  93. package/.medusa/server/src/workflows/category-group-master/steps/create-category-group.js +19 -0
  94. package/.medusa/server/src/workflows/category-group-master/steps/delete-category-group.js +23 -0
  95. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +70 -0
  96. package/.medusa/server/src/workflows/category-group-master/steps/update-category-group.js +27 -0
  97. package/.medusa/server/src/workflows/category-master/index.js +58 -0
  98. package/.medusa/server/src/workflows/category-master/steps/create-category.js +22 -0
  99. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
  100. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
  101. package/.medusa/server/src/workflows/category-master/steps/update-category.js +29 -0
  102. package/.medusa/server/src/workflows/collection-group-master/index.js +37 -0
  103. package/.medusa/server/src/workflows/collection-group-master/steps/create-category.js +49 -0
  104. package/.medusa/server/src/workflows/collection-group-master/steps/create-collection-group.js +19 -0
  105. package/.medusa/server/src/workflows/collection-group-master/steps/delete-collection-group.js +23 -0
  106. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +70 -0
  107. package/.medusa/server/src/workflows/collection-group-master/steps/update-collection-group.js +27 -0
  108. package/.medusa/server/src/workflows/collection-master/index.js +68 -0
  109. package/.medusa/server/src/workflows/collection-master/steps/create-category.js +59 -0
  110. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +23 -0
  111. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +22 -0
  112. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
  113. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +32 -0
  114. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +42 -12
  115. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
  116. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-collection-lines.js +25 -0
  117. package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +25 -0
  118. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +84 -0
  119. package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-extended-variant.js +18 -0
  120. package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-style-detail-lines.js +25 -0
  121. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +25 -0
  122. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +28 -0
  123. package/.medusa/server/src/workflows/erp-event/index.js +10 -0
  124. package/.medusa/server/src/workflows/erp-event/steps/create-erp-event.js +18 -0
  125. package/.medusa/server/src/workflows/helpers/product-helper.js +424 -16
  126. package/.medusa/server/src/workflows/hooks/variant-created.js +16 -0
  127. package/.medusa/server/src/workflows/index.js +18 -0
  128. package/.medusa/server/src/workflows/inward-master/helper/index.js +380 -0
  129. package/.medusa/server/src/workflows/inward-master/index.js +19 -0
  130. package/.medusa/server/src/workflows/inward-master/steps/create-inward-detail-lines.js +20 -0
  131. package/.medusa/server/src/workflows/inward-master/steps/create-inward-exploration-lines.js +20 -0
  132. package/.medusa/server/src/workflows/inward-master/steps/create-inward-extra-charges-lines.js +20 -0
  133. package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +22 -0
  134. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-detail-lines.js +16 -0
  135. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-exploration-lines.js +16 -0
  136. package/.medusa/server/src/workflows/inward-master/steps/delete-inward-extra-charges-lines.js +16 -0
  137. package/.medusa/server/src/workflows/inward-master/steps/delete-inward.js +20 -0
  138. package/.medusa/server/src/workflows/{create-or-update-style-master/steps/fetch-styles.js → inward-master/steps/fetch-inward-master.js} +5 -5
  139. package/.medusa/server/src/workflows/inward-master/steps/index.js +28 -0
  140. package/.medusa/server/src/workflows/inward-master/steps/update-instock.js +37 -0
  141. package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +44 -0
  142. package/.medusa/server/src/workflows/inward-master/types/index.js +3 -0
  143. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +133 -0
  144. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +102 -0
  145. package/.medusa/server/src/workflows/inward-master/workflows/index.js +21 -0
  146. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +102 -0
  147. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +37 -0
  148. package/.medusa/server/src/workflows/orders/index.js +18 -0
  149. package/.medusa/server/src/workflows/orders/steps/index.js +18 -0
  150. package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +27 -0
  151. package/.medusa/server/src/workflows/orders/utils/order-helper.js +79 -0
  152. package/.medusa/server/src/workflows/orders/workflows/index.js +18 -0
  153. package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +48 -0
  154. package/.medusa/server/src/workflows/party-master/helpers/index.js +9 -0
  155. package/.medusa/server/src/workflows/party-master/index.js +19 -0
  156. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +10 -0
  157. package/.medusa/server/src/workflows/party-master/steps/create-party.js +71 -0
  158. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +23 -0
  159. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +70 -0
  160. package/.medusa/server/src/workflows/party-master/steps/index.js +23 -0
  161. package/.medusa/server/src/workflows/party-master/steps/update-party-master-with-field.js +15 -0
  162. package/.medusa/server/src/workflows/party-master/steps/update-party.js +79 -0
  163. package/.medusa/server/src/workflows/party-master/workflows/create-customer-erp.js +11 -0
  164. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +156 -0
  165. package/.medusa/server/src/workflows/party-master/workflows/create-party-workflow.js +13 -0
  166. package/.medusa/server/src/workflows/party-master/workflows/index.js +21 -0
  167. package/.medusa/server/src/workflows/party-master/workflows/update-party-master-with-field.js +11 -0
  168. package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
  169. package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
  170. package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
  171. package/.medusa/server/src/workflows/party-style-master/steps/index.js +19 -0
  172. package/.medusa/server/src/workflows/party-style-master/steps/update-party-style-master.js +40 -0
  173. package/.medusa/server/src/workflows/party-style-master/types/index.js +3 -0
  174. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +228 -0
  175. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +13 -0
  176. package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
  177. package/.medusa/server/src/workflows/party-style-master/workflows/update-party-style-master.js +26 -0
  178. package/.medusa/server/src/workflows/raw-master/index.js +30 -0
  179. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +24 -0
  180. package/.medusa/server/src/workflows/raw-master/steps/delete-raw.js +23 -0
  181. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +70 -0
  182. package/.medusa/server/src/workflows/raw-master/steps/update-raw.js +34 -0
  183. package/.medusa/server/src/workflows/shape-master/index.js +30 -0
  184. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +20 -0
  185. package/.medusa/server/src/workflows/shape-master/steps/delete-shape.js +23 -0
  186. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +70 -0
  187. package/.medusa/server/src/workflows/shape-master/steps/update-shape.js +30 -0
  188. package/.medusa/server/src/workflows/style-master/index.js +19 -0
  189. package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
  190. package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
  191. package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
  192. package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +325 -0
  193. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
  194. package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
  195. package/.medusa/server/src/workflows/sub-category-master/index.js +58 -0
  196. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +22 -0
  197. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
  198. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
  199. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +31 -0
  200. package/.medusa/server/src/workflows/types/common.js +21 -0
  201. package/.medusa/server/src/workflows/types/index.js +1 -9
  202. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +18 -11
  203. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +26 -7
  204. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +43 -0
  205. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +54 -0
  206. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-with-field.js +15 -0
  207. package/package.json +6 -2
  208. package/.medusa/server/src/api/admin/plugin/route.js +0 -7
  209. package/.medusa/server/src/api/store/plugin/route.js +0 -7
  210. package/.medusa/server/src/modules/extended-product/migrations/Migration20250502124952.js +0 -27
  211. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250502124952.js +0 -27
  212. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +0 -37
  213. package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +0 -70
  214. 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.Migration20250502124952 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250502124952 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.Migration20250502124952 = Migration20250502124952;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDIxMjQ5NTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC1wcm9kdWN0L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MDIxMjQ5NTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDB5REFBMHlELENBQUMsQ0FBQztRQUN4ekQsSUFBSSxDQUFDLE1BQU0sQ0FBQywySEFBMkgsQ0FBQyxDQUFDO1FBRXpJLElBQUksQ0FBQyxNQUFNLENBQUMseXBEQUF5cEQsQ0FBQyxDQUFDO1FBQ3ZxRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlKQUFpSixDQUFDLENBQUM7UUFDL0osSUFBSSxDQUFDLE1BQU0sQ0FBQywrSEFBK0gsQ0FBQyxDQUFDO1FBRTdJLElBQUksQ0FBQyxNQUFNLENBQUMsZ1pBQWdaLENBQUMsQ0FBQztRQUM5WixJQUFJLENBQUMsTUFBTSxDQUFDLHlKQUF5SixDQUFDLENBQUM7UUFDdkssSUFBSSxDQUFDLE1BQU0sQ0FBQyx1SUFBdUksQ0FBQyxDQUFDO1FBRXJKLElBQUksQ0FBQyxNQUFNLENBQUMsd01BQXdNLENBQUMsQ0FBQztRQUV0TixJQUFJLENBQUMsTUFBTSxDQUFDLGdOQUFnTixDQUFDLENBQUM7SUFDaE8sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsd0hBQXdILENBQUMsQ0FBQztRQUV0SSxJQUFJLENBQUMsTUFBTSxDQUFDLGdJQUFnSSxDQUFDLENBQUM7UUFFOUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsTUFBTSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUVGO0FBL0JELDBEQStCQyJ9
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20250502124952 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250502124952 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.Migration20250502124952 = Migration20250502124952;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDIxMjQ5NTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC12YXJpYW50L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MDIxMjQ5NTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGc3REFBZzdELENBQUMsQ0FBQztRQUM5N0QsSUFBSSxDQUFDLE1BQU0sQ0FBQywySEFBMkgsQ0FBQyxDQUFDO1FBRXpJLElBQUksQ0FBQyxNQUFNLENBQUMsaXJEQUFpckQsQ0FBQyxDQUFDO1FBQy9yRCxJQUFJLENBQUMsTUFBTSxDQUFDLDZKQUE2SixDQUFDLENBQUM7UUFDM0ssSUFBSSxDQUFDLE1BQU0sQ0FBQywySUFBMkksQ0FBQyxDQUFDO1FBRXpKLElBQUksQ0FBQyxNQUFNLENBQUMsa2FBQWthLENBQUMsQ0FBQztRQUNoYixJQUFJLENBQUMsTUFBTSxDQUFDLHFLQUFxSyxDQUFDLENBQUM7UUFDbkwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtSkFBbUosQ0FBQyxDQUFDO1FBRWpLLElBQUksQ0FBQyxNQUFNLENBQUMsb05BQW9OLENBQUMsQ0FBQztRQUVsTyxJQUFJLENBQUMsTUFBTSxDQUFDLDROQUE0TixDQUFDLENBQUM7SUFDNU8sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsb0lBQW9JLENBQUMsQ0FBQztRQUVsSixJQUFJLENBQUMsTUFBTSxDQUFDLDRJQUE0SSxDQUFDLENBQUM7UUFFMUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsTUFBTSxDQUFDLDhEQUE4RCxDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUVGO0FBL0JELDBEQStCQyJ9
@@ -1,37 +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 fetch_party_styles_1 = require("./steps/fetch-party-styles");
6
- /**
7
- * Main workflow for handling StyleMst operations
8
- * This workflow:
9
- * 1. Fetches style data from ERP
10
- * 2. Gets required sales channels and shipping profiles
11
- * 3. Conditionally creates products based on operation type
12
- *
13
- * @param input - Contains operation type, datafor type, and transaction IDs
14
- */
15
- const partyStyleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("party-style-mst", (input) => {
16
- // Step 1: Fetch style data from ERP system
17
- const styleData = (0, fetch_party_styles_1.fetchPartyStyleData)(input);
18
- const externalIdsFilters = (0, workflows_sdk_1.transform)({
19
- styleData,
20
- }, (data) => {
21
- return [
22
- ...new Set(data.styleData.map((product) => `${product.StyleId}`)),
23
- ];
24
- });
25
- const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
26
- entity: "product",
27
- fields: ["id", "external_id", "variants.*"],
28
- filters: {
29
- external_id: externalIdsFilters,
30
- },
31
- }).config({ name: "existing-products" });
32
- return new workflows_sdk_1.WorkflowResponse({
33
- success: true,
34
- });
35
- });
36
- exports.default = partyStyleMstWorkflow;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtcGFydHktc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscUVBSTJDO0FBRTNDLDREQUFnRTtBQUVoRSxtRUFBaUU7QUFFakU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLElBQUEsOEJBQWMsRUFDMUMsaUJBQWlCLEVBQ2pCLENBQUMsS0FBeUIsRUFBRSxFQUFFO0lBQzVCLDJDQUEyQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLHdDQUFtQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSx5QkFBUyxFQUNsQztRQUNFLFNBQVM7S0FDVixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDUCxPQUFPO1lBQ0wsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNsRSxDQUFDO0lBQ0osQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuRCxNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztRQUMzQyxPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsa0JBQWtCO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFFekMsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUM7QUFFRixrQkFBZSxxQkFBcUIsQ0FBQyJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcGFydHktc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jcmVhdGUtb3ItdXBkYXRlLXBhcnR5LXN0eWxlLW1hc3Rlci9zdGVwcy9mZXRjaC1wYXJ0eS1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBSTdFLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QjtBQUNwRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsaUNBQWlDO0FBRTNELE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWhGLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFDeEIsVUFBNEIsRUFDNUIsT0FBZSxFQUNmLEtBQWUsRUFDZixVQUFVLEdBQUcsQ0FBQyxFQUNFLEVBQUU7SUFDbEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLGFBQWEsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBRXRFLDBFQUEwRTtRQUMxRSxJQUNFLE9BQU8sQ0FBQyxNQUFNLEtBQUssaUJBQWlCLENBQUMsTUFBTTtZQUMzQyxVQUFVLEdBQUcsV0FBVyxFQUN4QixDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsR0FBRyxDQUNULFlBQVksU0FBUyxDQUFDLE1BQU0sNkJBQzFCLFVBQVUsR0FBRyxDQUNmLEdBQUcsQ0FDSixDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekIsTUFBTSxZQUFZLEdBQUcsTUFBTSxZQUFZLENBQ3JDLFVBQVUsRUFDVixPQUFPLEVBQ1AsU0FBUyxFQUNULFVBQVUsR0FBRyxDQUFDLENBQ2YsQ0FBQztZQUNGLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksVUFBVSxHQUFHLFdBQVcsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDVSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0Msd0JBQXdCLEVBQ3hCLEtBQUssRUFBRSxLQUF5QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNqRCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBcUIsQ0FBQztJQUNoRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVoQywwQkFBMEI7SUFDMUIsTUFBTSxPQUFPLEdBQWUsRUFBRSxDQUFDO0lBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxDQUFDLE1BQU0sYUFBYSxPQUFPLENBQUMsTUFBTSxVQUFVLENBQUMsQ0FBQztJQUU1RSxrQ0FBa0M7SUFDbEMsTUFBTSxVQUFVLEdBQVUsRUFBRSxDQUFDO0lBQzdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzRCxNQUFNLFlBQVksR0FBRyxNQUFNLFlBQVksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsVUFBVSxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLDRCQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxFQUNELEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQ0YsQ0FBQyJ9
@@ -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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