@devx-commerce/plugin-gati 0.0.2-beta.2 → 0.0.2-beta.21

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 (80) hide show
  1. package/.medusa/server/src/api/erp/webhook/route.js +61 -14
  2. package/.medusa/server/src/links/extended-variant.js +10 -0
  3. package/.medusa/server/src/modules/category-master/index.js +13 -0
  4. package/.medusa/server/src/modules/category-master/migrations/Migration20250513122212.js +15 -0
  5. package/.medusa/server/src/modules/category-master/migrations/Migration20250519180539.js +14 -0
  6. package/.medusa/server/src/modules/category-master/models/category-master.js +12 -0
  7. package/.medusa/server/src/modules/category-master/service.js +10 -0
  8. package/.medusa/server/src/modules/collection-master/index.js +13 -0
  9. package/.medusa/server/src/modules/collection-master/migrations/Migration20250513122211.js +16 -0
  10. package/.medusa/server/src/modules/collection-master/models/collection-master.js +12 -0
  11. package/.medusa/server/src/modules/collection-master/service.js +10 -0
  12. package/.medusa/server/src/modules/erp/migrations/Migration20250513121436.js +16 -0
  13. package/.medusa/server/src/modules/erp/models/erp.js +10 -0
  14. package/.medusa/server/src/modules/extended-product/migrations/{Migration20250426103546.js → Migration20250519043358.js} +11 -5
  15. package/.medusa/server/src/modules/extended-product/models/extended-product.js +15 -2
  16. package/.medusa/server/src/modules/extended-variant/index.js +13 -0
  17. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +27 -0
  18. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +14 -0
  19. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +131 -0
  20. package/.medusa/server/src/modules/extended-variant/service.js +12 -0
  21. package/.medusa/server/src/modules/raw-master/index.js +13 -0
  22. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190057.js +16 -0
  23. package/.medusa/server/src/modules/raw-master/migrations/Migration20250509190322.js +14 -0
  24. package/.medusa/server/src/modules/raw-master/models/raw-master.js +17 -0
  25. package/.medusa/server/src/modules/raw-master/service.js +10 -0
  26. package/.medusa/server/src/modules/shape-master/index.js +13 -0
  27. package/.medusa/server/src/modules/shape-master/migrations/Migration20250509174455.js +16 -0
  28. package/.medusa/server/src/modules/shape-master/models/shape-master.js +13 -0
  29. package/.medusa/server/src/modules/shape-master/service.js +10 -0
  30. package/.medusa/server/src/modules/sub-category-master/index.js +13 -0
  31. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250513115356.js +15 -0
  32. package/.medusa/server/src/modules/sub-category-master/migrations/Migration20250519180538.js +14 -0
  33. package/.medusa/server/src/modules/sub-category-master/models/sub-category-master.js +14 -0
  34. package/.medusa/server/src/modules/sub-category-master/service.js +10 -0
  35. package/.medusa/server/src/subscribers/category-master.js +112 -0
  36. package/.medusa/server/src/subscribers/collection-master.js +115 -0
  37. package/.medusa/server/src/subscribers/sub-category-master.js +123 -0
  38. package/.medusa/server/src/workflows/category-master/index.js +58 -0
  39. package/.medusa/server/src/workflows/category-master/steps/create-category.js +18 -0
  40. package/.medusa/server/src/workflows/category-master/steps/delete-category.js +23 -0
  41. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +70 -0
  42. package/.medusa/server/src/workflows/category-master/steps/update-category.js +26 -0
  43. package/.medusa/server/src/workflows/collection-master/index.js +58 -0
  44. package/.medusa/server/src/workflows/collection-master/steps/create-collection.js +19 -0
  45. package/.medusa/server/src/workflows/collection-master/steps/delete-collection.js +22 -0
  46. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +70 -0
  47. package/.medusa/server/src/workflows/collection-master/steps/update-collection.js +29 -0
  48. package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +9 -1
  49. package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +74 -0
  50. package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-extended-variant.js +18 -0
  51. package/.medusa/server/src/workflows/create-extended-variant-from-variant/steps/create-style-detail-lines.js +25 -0
  52. package/.medusa/server/src/workflows/create-or-update-party-style-master/index.js +205 -0
  53. package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +70 -0
  54. package/.medusa/server/src/workflows/create-or-update-product-options/index.js +25 -0
  55. package/.medusa/server/src/workflows/create-or-update-product-options/steps/create-update-product-options.js +20 -0
  56. package/.medusa/server/src/workflows/create-or-update-style-master/index.js +34 -9
  57. package/.medusa/server/src/workflows/helpers/product-helper.js +309 -2
  58. package/.medusa/server/src/workflows/hooks/variant-created.js +16 -0
  59. package/.medusa/server/src/workflows/raw-master/index.js +30 -0
  60. package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +25 -0
  61. package/.medusa/server/src/workflows/raw-master/steps/delete-raw.js +23 -0
  62. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +70 -0
  63. package/.medusa/server/src/workflows/raw-master/steps/update-raw.js +34 -0
  64. package/.medusa/server/src/workflows/shape-master/index.js +30 -0
  65. package/.medusa/server/src/workflows/shape-master/steps/create-shape.js +21 -0
  66. package/.medusa/server/src/workflows/shape-master/steps/delete-shape.js +23 -0
  67. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +70 -0
  68. package/.medusa/server/src/workflows/shape-master/steps/update-shape.js +30 -0
  69. package/.medusa/server/src/workflows/sub-category-master/index.js +58 -0
  70. package/.medusa/server/src/workflows/sub-category-master/steps/create-sub-category.js +21 -0
  71. package/.medusa/server/src/workflows/sub-category-master/steps/delete-sub-category.js +23 -0
  72. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +70 -0
  73. package/.medusa/server/src/workflows/sub-category-master/steps/update-sub-category.js +30 -0
  74. package/.medusa/server/src/workflows/types/index.js +1 -1
  75. package/.medusa/server/src/workflows/update-extended-product-from-product/index.js +9 -1
  76. package/.medusa/server/src/workflows/update-extended-product-from-product/steps/update-extended-product-from-product.js +2 -1
  77. package/.medusa/server/src/workflows/update-extended-variant-from-variant/index.js +39 -0
  78. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-product-from-product.js +37 -0
  79. package/.medusa/server/src/workflows/update-extended-variant-from-variant/steps/update-extended-variant-with-field.js +15 -0
  80. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStyleDetailLines = exports.getExtendedProductData = exports.getBaseMetalDetails = exports.calculateStyleCostsAndAmounts = exports.genderMapper = exports.toKebabCase = void 0;
3
+ exports.createProductOptionsForPartyStyleId = exports.createProductOptionsStepFromData = exports.getPartyStyleExplorationLines = exports.getPartyStyleDetailLines = exports.getStyleDetailLines = exports.getExtendedVariantData = exports.getExtendedProductData = exports.getBaseMetalDetails = exports.calculateStyleCostsAndAmounts = exports.genderMapper = exports.toKebabCase = void 0;
4
4
  const types_1 = require("../types");
5
5
  const toKebabCase = (strings) => {
6
6
  return strings
@@ -124,6 +124,65 @@ const getExtendedProductData = (styleData, baseMetalDetails, styleCalculations)
124
124
  };
125
125
  };
126
126
  exports.getExtendedProductData = getExtendedProductData;
127
+ const getExtendedVariantData = (styleData, baseMetalDetails, styleCalculations) => {
128
+ return {
129
+ images: [],
130
+ thumbnail: "",
131
+ party_style_id: styleData.PartyStyleId,
132
+ party_style_date: styleData.PartyStyleDate,
133
+ party_style_code: styleData.PartyStyleCode,
134
+ party_style_alias_no: styleData.PartyStyleAliasNo,
135
+ party_style_sku_no: styleData.PartyStyleSKUNo,
136
+ style_id: styleData.StyleId,
137
+ style_code: styleData.StyleCode,
138
+ category: styleData.Category || "",
139
+ sub_category: styleData.SubCategory || "",
140
+ manufacturer: styleData.Manufacturer || "",
141
+ manufacturer_no: styleData.ManufacturerNo || "",
142
+ make_type: styleData.MakeType || "",
143
+ stock_type: styleData.StockType || "",
144
+ item_size: styleData.ItemSize || "",
145
+ brand: styleData.Brand || "",
146
+ gender: (0, exports.genderMapper)(styleData.Gender),
147
+ shape_code: styleData.PartyStyleMstDetail.find((detail) => detail.IsCenterStone && detail.IsBase)?.ShapeCode || "",
148
+ is_complete: styleData.IsComplete || false,
149
+ restricted: styleData.Restricted || false,
150
+ currency: styleData.Currency || "INR",
151
+ rate_chart: styleData.RateChart || "",
152
+ discount_markup: styleData.DiscountMarkup || "",
153
+ cost: styleData.Cost || 0,
154
+ mrp: styleData.Mrp || 0,
155
+ hsn_code: styleData.HSN || "",
156
+ gross_weight: styleData.GrossWt || 0,
157
+ net_weight: styleData.NetWt || 0,
158
+ wax_weight: styleData.WaxWt || 0,
159
+ model_weight: styleData.ModelWt || 0,
160
+ metal: baseMetalDetails.baseMetal,
161
+ metal_purity: baseMetalDetails.baseMetalPurity,
162
+ metal_color: baseMetalDetails.baseMetalColor,
163
+ total_diamond_pcs: styleData.TotDiamondPcs || 0,
164
+ total_diamond_weight: styleData.TotDiamondWt || 0,
165
+ total_client_diamond_pcs: styleData.TotClientDiamondPcs || 0,
166
+ total_client_diamond_weight: styleData.TotClientDiamondWt || 0,
167
+ total_stone_pcs: styleData.TotStonePcs || 0,
168
+ total_stone_weight: styleData.TotStoneWt || 0,
169
+ total_cz_pcs: styleData.TotCzPcs || 0,
170
+ total_cz_weight: styleData.TotCzWt || 0,
171
+ web_description: styleData.WebDescription || "",
172
+ remarks: styleData.Remarks || "",
173
+ customer_remarks: styleData.CustomerRemarks || "",
174
+ special_remarks: styleData.SpecialRemarks || "",
175
+ metal_total_cost: styleCalculations.metal_total_cost,
176
+ diamond_total_cost: styleCalculations.diamond_total_cost,
177
+ stone_total_cost: styleCalculations.stone_total_cost,
178
+ cpf_total_cost: styleCalculations.cpf_total_cost,
179
+ metal_total_amount: styleCalculations.metal_total_amount,
180
+ diamond_total_amount: styleCalculations.diamond_total_amount,
181
+ stone_total_amount: styleCalculations.stone_total_amount,
182
+ cpf_total_amount: styleCalculations.cpf_total_amount,
183
+ };
184
+ };
185
+ exports.getExtendedVariantData = getExtendedVariantData;
127
186
  const getStyleDetailLines = (data) => {
128
187
  return data.map((detail) => {
129
188
  return {
@@ -179,4 +238,252 @@ const getStyleDetailLines = (data) => {
179
238
  });
180
239
  };
181
240
  exports.getStyleDetailLines = getStyleDetailLines;
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hlbHBlcnMvcHJvZHVjdC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0NBQWtFO0FBRTNELE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBaUIsRUFBVSxFQUFFO0lBQ3ZELE9BQU8sT0FBTztTQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ1QsV0FBVyxFQUFFO1NBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyw4QkFBOEI7U0FDbkQsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDMUIsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFSVyxRQUFBLFdBQVcsZUFRdEI7QUFFSyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBVSxFQUFFO0lBQ3JELE1BQU0sU0FBUyxHQUEyQjtRQUN4QyxFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7UUFDYixFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7UUFDYixFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7UUFDYixFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7S0FDZCxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksY0FBTSxDQUFDLEVBQUUsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFSVyxRQUFBLFlBQVksZ0JBUXZCO0FBRUssTUFBTSw2QkFBNkIsR0FBRyxDQUMzQyxZQUFpQyxFQUNkLEVBQUU7SUFDckIsTUFBTSxjQUFjLEdBQUcsWUFBWTtTQUNoQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDO1NBQzlDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXZELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWTtTQUNsQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO1NBQ2hELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXZELE1BQU0sY0FBYyxHQUFHLFlBQVk7U0FDaEMsTUFBTSxDQUNMLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUN4RTtTQUNBLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXZELE1BQU0sWUFBWSxHQUFHLFlBQVk7U0FDOUIsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV2RCxNQUFNLGdCQUFnQixHQUFHLFlBQVk7U0FDbEMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVuRCxNQUFNLGtCQUFrQixHQUFHLFlBQVk7U0FDcEMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQztTQUNoRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVuRCxNQUFNLGdCQUFnQixHQUFHLFlBQVk7U0FDbEMsTUFBTSxDQUNMLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUN4RTtTQUNBLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sY0FBYyxHQUFHLFlBQVk7U0FDaEMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVuRCxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUUsY0FBYztRQUNoQyxrQkFBa0IsRUFBRSxnQkFBZ0I7UUFDcEMsZ0JBQWdCLEVBQUUsY0FBYztRQUNoQyxjQUFjLEVBQUUsWUFBWTtRQUM1QixrQkFBa0IsRUFBRSxnQkFBZ0I7UUFDcEMsb0JBQW9CLEVBQUUsa0JBQWtCO1FBQ3hDLGtCQUFrQixFQUFFLGdCQUFnQjtRQUNwQyxnQkFBZ0IsRUFBRSxjQUFjO0tBQ2pDLENBQUM7QUFDSixDQUFDLENBQUM7QUFuRFcsUUFBQSw2QkFBNkIsaUNBbUR4QztBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxZQUFpQyxFQUFFLEVBQUU7SUFDdkUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FDdkMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQ3hELENBQUM7SUFFRixPQUFPO1FBQ0wsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLElBQUksRUFBRTtRQUN6QyxlQUFlLEVBQUUsZUFBZSxFQUFFLE9BQU8sSUFBSSxFQUFFO1FBQy9DLGNBQWMsRUFBRSxlQUFlLEVBQUUsUUFBUSxJQUFJLEVBQUU7S0FDaEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVZXLFFBQUEsbUJBQW1CLHVCQVU5QjtBQUVLLE1BQU0sc0JBQXNCLEdBQUcsQ0FDcEMsU0FBMEIsRUFDMUIsZ0JBSUMsRUFDRCxpQkFBb0MsRUFDdkIsRUFBRTtJQUNmLE9BQU87UUFDTCxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU87UUFDM0IsVUFBVSxFQUFFLFNBQVMsQ0FBQyxTQUFTO1FBQy9CLFVBQVUsRUFBRSxTQUFTLENBQUMsU0FBUztRQUMvQixjQUFjLEVBQUUsU0FBUyxDQUFDLFlBQVk7UUFDdEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRLElBQUksRUFBRTtRQUNsQyxZQUFZLEVBQUUsU0FBUyxDQUFDLFdBQVcsSUFBSSxFQUFFO1FBQ3pDLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWSxJQUFJLEVBQUU7UUFDMUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRTtRQUMvQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsSUFBSSxFQUFFO1FBQ25DLFVBQVUsRUFBRSxTQUFTLENBQUMsU0FBUyxJQUFJLEVBQUU7UUFDckMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxRQUFRLElBQUksRUFBRTtRQUNuQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQzVCLE1BQU0sRUFBRSxJQUFBLG9CQUFZLEVBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxVQUFVLEVBQ1IsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzNCLENBQUMsTUFBeUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUNyRSxFQUFFLFNBQVMsSUFBSSxFQUFFO1FBQ3BCLFdBQVcsRUFBRSxTQUFTLENBQUMsVUFBVSxJQUFJLEtBQUs7UUFDMUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVLElBQUksS0FBSztRQUN6QyxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVEsSUFBSSxLQUFLO1FBQ3JDLFVBQVUsRUFBRSxTQUFTLENBQUMsU0FBUyxJQUFJLEVBQUU7UUFDckMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRTtRQUMvQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3pCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDdkIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRTtRQUM3QixZQUFZLEVBQUUsU0FBUyxDQUFDLE9BQU8sSUFBSSxDQUFDO1FBQ3BDLFVBQVUsRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDaEMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQztRQUNoQyxZQUFZLEVBQUUsU0FBUyxDQUFDLE9BQU8sSUFBSSxDQUFDO1FBQ3BDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTO1FBQ2pDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlO1FBQzlDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxjQUFjO1FBQzVDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxhQUFhLElBQUksQ0FBQztRQUMvQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsWUFBWSxJQUFJLENBQUM7UUFDakQsd0JBQXdCLEVBQUUsU0FBUyxDQUFDLG1CQUFtQixJQUFJLENBQUM7UUFDNUQsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixJQUFJLENBQUM7UUFDOUQsZUFBZSxFQUFFLFNBQVMsQ0FBQyxXQUFXLElBQUksQ0FBQztRQUMzQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsVUFBVSxJQUFJLENBQUM7UUFDN0MsWUFBWSxFQUFFLFNBQVMsQ0FBQyxRQUFRLElBQUksQ0FBQztRQUNyQyxlQUFlLEVBQUUsU0FBUyxDQUFDLE9BQU8sSUFBSSxDQUFDO1FBQ3ZDLGVBQWUsRUFBRSxTQUFTLENBQUMsY0FBYyxJQUFJLEVBQUU7UUFDL0MsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLElBQUksRUFBRTtRQUNoQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsZUFBZSxJQUFJLEVBQUU7UUFDakQsZUFBZSxFQUFFLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRTtRQUMvQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxnQkFBZ0I7UUFDcEQsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO1FBQ3hELGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLGdCQUFnQjtRQUNwRCxhQUFhLEVBQUUsQ0FBQztRQUNoQixjQUFjLEVBQUUsaUJBQWlCLENBQUMsY0FBYztRQUNoRCxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7UUFDeEQsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsb0JBQW9CO1FBQzVELGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLGtCQUFrQjtRQUN4RCxlQUFlLEVBQUUsQ0FBQztRQUNsQixnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxnQkFBZ0I7S0FDckQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWpFVyxRQUFBLHNCQUFzQiwwQkFpRWpDO0FBRUssTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQXlCLEVBQUUsRUFBRTtJQUMvRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUN6QixPQUFPO1lBQ0wsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3hCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDNUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRTtZQUNoQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQzlCLGNBQWMsRUFBRSxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUU7WUFDMUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRTtZQUM5QixVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQ2xDLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7WUFDOUIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRTtZQUNoQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQ3JDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDdkIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRTtZQUNyQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQzdCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUs7WUFDL0IsZUFBZSxFQUFFLE1BQU0sQ0FBQyxhQUFhLElBQUksS0FBSztZQUM5QyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQzFCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDMUIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQztZQUNqQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDO1lBQ2pDLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUM7WUFDN0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQztZQUNqQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFO1lBQ3BDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUM7WUFDL0IsV0FBVyxFQUFFLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQztZQUNuQyxjQUFjLEVBQUUsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDO1lBQ3hDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxjQUFjLElBQUksQ0FBQztZQUM1QyxhQUFhLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDO1lBQ3RDLGVBQWUsRUFBRSxNQUFNLENBQUMsYUFBYSxJQUFJLENBQUM7WUFDMUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQztZQUN0QyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLElBQUksS0FBSztZQUN0RCxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsY0FBYyxJQUFJLENBQUM7WUFDNUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQztZQUN0QyxhQUFhLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDO1lBQ3RDLGVBQWUsRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLEtBQUs7WUFDN0MsWUFBWSxFQUFFLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQztZQUNwQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDMUIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQztZQUMvQixXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDO1lBQ25DLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUM7WUFDN0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQztZQUNqQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzdCLGVBQWUsRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLEtBQUs7WUFDN0MsV0FBVyxFQUFFLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQztZQUNuQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzdCLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUM7WUFDN0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSztZQUNwQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQzVCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXJEVyxRQUFBLG1CQUFtQix1QkFxRDlCIn0=
241
+ const getPartyStyleDetailLines = (data) => {
242
+ return data.map((detail) => {
243
+ return {
244
+ party_style_id: detail.PartyStyleId,
245
+ party_style_mst_detail_id: detail.PartyStyleMstDetailId,
246
+ item_code: detail.ItemCode || "",
247
+ raw_type: detail.RawType || "",
248
+ material_group: detail.MaterialGroup || "",
249
+ raw_code: detail.RawCode || "",
250
+ shape_code: detail.ShapeCode || "",
251
+ qly_code: detail.QlyCode || "",
252
+ tone_code: detail.ToneCode || "",
253
+ description: detail.Description || "",
254
+ size: detail.Size || "",
255
+ accessories: detail.Accessories || "",
256
+ setting: detail.Setting || "",
257
+ is_base: detail.IsBase || false,
258
+ is_center_stone: detail.IsCenterStone || false,
259
+ pieces: detail.Pieces || 0,
260
+ weight: detail.Weight || 0,
261
+ min_weight: detail.MinWeight || 0,
262
+ max_weight: detail.MaxWeight || 0,
263
+ stone_wt: detail.StoneWt || 0,
264
+ default_wt: detail.DefaultWt || 0,
265
+ raw_formula: detail.RawFormula || "",
266
+ cost_rate: detail.CostRate || 0,
267
+ cost_amount: detail.CostAmount || 0,
268
+ hand_cost_rate: detail.HandCostRate || 0,
269
+ hand_cost_amount: detail.HandCostAmount || 0,
270
+ set_cost_rate: detail.SetCostRate || 0,
271
+ set_cost_amount: detail.SetCostAmount || 0,
272
+ loss_cost_per: detail.LossCostPer || 0,
273
+ loss_cost_per_is_fix: detail.LossCostPerIsFix || false,
274
+ loss_cost_weight: detail.LossCostWeight || 0,
275
+ loss_cost_amt: detail.LossCostAmt || 0,
276
+ cpf_cost_rate: detail.CPFCostRate || 0,
277
+ cpf_cost_is_fix: detail.CPFCostIsFix || false,
278
+ cpf_cost_amt: detail.CPFCostAmt || 0,
279
+ rate: detail.Rate || 0,
280
+ amount: detail.Amount || 0,
281
+ hand_rate: detail.HandRate || 0,
282
+ hand_amount: detail.HandAmount || 0,
283
+ set_rate: detail.SetRate || 0,
284
+ set_amount: detail.SetAmount || 0,
285
+ loss_per: detail.LossPer || 0,
286
+ loss_per_is_fix: detail.LossPerIsFix || false,
287
+ loss_weight: detail.LossWeight || 0,
288
+ loss_amt: detail.LossAmt || 0,
289
+ cpf_rate: detail.CPFRate || 0,
290
+ cpf_is_fix: detail.CPFIsFix || false,
291
+ cpf_amt: detail.CPFAmt || 0,
292
+ };
293
+ });
294
+ };
295
+ exports.getPartyStyleDetailLines = getPartyStyleDetailLines;
296
+ const getPartyStyleExplorationLines = (data) => {
297
+ return data.map((detail) => {
298
+ return {
299
+ party_style_id: detail.PartyStyleId,
300
+ exploration_code: detail.ExplorationCode || "",
301
+ exploration_value: detail.ExplorationValue || "",
302
+ };
303
+ });
304
+ };
305
+ exports.getPartyStyleExplorationLines = getPartyStyleExplorationLines;
306
+ const createProductOptionsStepFromData = (partyStyles) => {
307
+ // Group all styles by StyleId
308
+ const stylesByStyleId = new Map();
309
+ partyStyles?.forEach((style) => {
310
+ const styleId = String(style.StyleId);
311
+ if (!stylesByStyleId.has(styleId)) {
312
+ stylesByStyleId.set(styleId, []);
313
+ }
314
+ stylesByStyleId.get(styleId).push(style);
315
+ });
316
+ // Process each style group
317
+ return Array.from(stylesByStyleId.entries()).map(([styleId, styles]) => {
318
+ // Create sets to store unique values for each option type
319
+ const options = {
320
+ metals: new Set(),
321
+ metalColors: new Set(),
322
+ diamondQualities: new Set(),
323
+ sizes: new Set(),
324
+ };
325
+ // Track if all styles in the group have each option type
326
+ const optionAvailability = {
327
+ metals: true,
328
+ metalColors: true,
329
+ diamondQualities: true,
330
+ sizes: true,
331
+ };
332
+ // First, check option availability across all styles in this group
333
+ styles.forEach((style) => {
334
+ // Check Size availability
335
+ if (!style.ItemSize) {
336
+ optionAvailability.sizes = false;
337
+ }
338
+ // Check other options availability
339
+ let hasMetals = false;
340
+ let hasMetalColors = false;
341
+ let hasDiamondQualities = false;
342
+ style.PartyStyleMstDetail.forEach((detail) => {
343
+ if (detail.RawType === "Metal" && detail.IsBase) {
344
+ hasMetals = true;
345
+ hasMetalColors = true;
346
+ }
347
+ if (detail.RawType === "Diamond") {
348
+ hasDiamondQualities = true;
349
+ }
350
+ });
351
+ if (!hasMetals)
352
+ optionAvailability.metals = false;
353
+ if (!hasMetalColors)
354
+ optionAvailability.metalColors = false;
355
+ if (!hasDiamondQualities)
356
+ optionAvailability.diamondQualities = false;
357
+ });
358
+ // Now gather values only for available options
359
+ styles.forEach((style) => {
360
+ // Only collect size data if all items have it
361
+ if (optionAvailability.sizes && style.ItemSize) {
362
+ options.sizes.add(String(style.ItemSize));
363
+ }
364
+ // Process other options
365
+ style.PartyStyleMstDetail.forEach((detail) => {
366
+ if (optionAvailability.metals &&
367
+ detail.RawType === "Metal" &&
368
+ detail.IsBase) {
369
+ options.metals.add(`${detail.QlyCode}K ${detail.RawCode}`);
370
+ // Map ToneCode to color name if metal colors are available
371
+ if (optionAvailability.metalColors) {
372
+ if (detail.ToneCode === "R")
373
+ options.metalColors.add("Rose");
374
+ else if (detail.ToneCode === "Y")
375
+ options.metalColors.add("Yellow");
376
+ else if (detail.ToneCode === "W")
377
+ options.metalColors.add("White");
378
+ else if (detail.ToneCode === "YRW")
379
+ options.metalColors.add("YELLOW/ROSE/WHITE");
380
+ else if (detail.ToneCode === "YW")
381
+ options.metalColors.add("YELLOW/WHITE");
382
+ else if (detail.ToneCode === "RW")
383
+ options.metalColors.add("ROSE/WHITE");
384
+ else if (detail.ToneCode === "BU")
385
+ options.metalColors.add("BLUE");
386
+ else if (detail.ToneCode === "BL")
387
+ options.metalColors.add("BLACK");
388
+ }
389
+ }
390
+ if (optionAvailability.diamondQualities &&
391
+ detail.RawType === "Diamond") {
392
+ options.diamondQualities.add(`${detail.ToneCode}/${detail.QlyCode}`);
393
+ }
394
+ });
395
+ });
396
+ const optionsArray = [];
397
+ if (optionAvailability.metals && options.metals.size > 0) {
398
+ optionsArray.push({ title: "Metal", values: Array.from(options.metals) });
399
+ }
400
+ if (optionAvailability.metalColors && options.metalColors.size > 0) {
401
+ optionsArray.push({
402
+ title: "Metal Color",
403
+ values: Array.from(options.metalColors),
404
+ });
405
+ }
406
+ if (optionAvailability.diamondQualities &&
407
+ options.diamondQualities.size > 0) {
408
+ optionsArray.push({
409
+ title: "Diamond Quality",
410
+ values: Array.from(options.diamondQualities),
411
+ });
412
+ }
413
+ if (optionAvailability.sizes && options.sizes.size > 0) {
414
+ optionsArray.push({ title: "Size", values: Array.from(options.sizes) });
415
+ }
416
+ return {
417
+ styleId,
418
+ options: optionsArray,
419
+ };
420
+ });
421
+ };
422
+ exports.createProductOptionsStepFromData = createProductOptionsStepFromData;
423
+ const createProductOptionsForPartyStyleId = (partyStyle, existingProduct) => {
424
+ const options = {
425
+ metals: new Set(),
426
+ metalColors: new Set(),
427
+ diamondQualities: new Set(),
428
+ sizes: new Set(),
429
+ };
430
+ // Size
431
+ if (partyStyle.ItemSize)
432
+ options.sizes.add(String(partyStyle.ItemSize));
433
+ // Track if this style has each option type
434
+ let hasMetalOption = false;
435
+ let hasDiamondOption = false;
436
+ partyStyle.PartyStyleMstDetail.forEach((detail) => {
437
+ if (detail.RawType === "Metal" && detail.IsBase) {
438
+ hasMetalOption = true;
439
+ options.metals.add(`${detail.QlyCode}K ${detail.RawCode}`);
440
+ // Map ToneCode to color name
441
+ if (detail.ToneCode === "R")
442
+ options.metalColors.add("Rose");
443
+ else if (detail.ToneCode === "Y")
444
+ options.metalColors.add("Yellow");
445
+ else if (detail.ToneCode === "W")
446
+ options.metalColors.add("White");
447
+ else if (detail.ToneCode === "YRW")
448
+ options.metalColors.add("YELLOW/ROSE/WHITE");
449
+ else if (detail.ToneCode === "YW")
450
+ options.metalColors.add("YELLOW/WHITE");
451
+ else if (detail.ToneCode === "RW")
452
+ options.metalColors.add("ROSE/WHITE");
453
+ else if (detail.ToneCode === "BU")
454
+ options.metalColors.add("BLUE");
455
+ else if (detail.ToneCode === "BL")
456
+ options.metalColors.add("BLACK");
457
+ }
458
+ if (detail.RawType === "Diamond") {
459
+ hasDiamondOption = true;
460
+ options.diamondQualities.add(`${detail.ToneCode}/${detail.QlyCode}`);
461
+ }
462
+ });
463
+ // Prepare result object with only options that exist
464
+ const result = {};
465
+ // Only add options if they exist in the data
466
+ if (hasMetalOption &&
467
+ options.metals.size > 0 &&
468
+ existingProduct.options.find((option) => option.title === "Metal")) {
469
+ result["Metal"] = Array.from(options.metals)[0];
470
+ }
471
+ if (hasMetalOption &&
472
+ options.metalColors.size > 0 &&
473
+ existingProduct.options.find((option) => option.title === "Metal Color")) {
474
+ result["Metal Color"] = Array.from(options.metalColors)[0];
475
+ }
476
+ if (hasDiamondOption &&
477
+ options.diamondQualities.size > 0 &&
478
+ existingProduct.options.find((option) => option.title === "Diamond Quality")) {
479
+ result["Diamond Quality"] = Array.from(options.diamondQualities)[0];
480
+ }
481
+ if (partyStyle.ItemSize &&
482
+ options.sizes.size > 0 &&
483
+ existingProduct.options.find((option) => option.title === "Size")) {
484
+ result["Size"] = Array.from(options.sizes)[0];
485
+ }
486
+ return result;
487
+ };
488
+ exports.createProductOptionsForPartyStyleId = createProductOptionsForPartyStyleId;
489
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hlbHBlcnMvcHJvZHVjdC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsb0NBQWtFO0FBRTNELE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBaUIsRUFBVSxFQUFFO0lBQ3ZELE9BQU8sT0FBTztTQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ1QsV0FBVyxFQUFFO1NBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyw4QkFBOEI7U0FDbkQsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDMUIsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFSVyxRQUFBLFdBQVcsZUFRdEI7QUFFSyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBVSxFQUFFO0lBQ3JELE1BQU0sU0FBUyxHQUEyQjtRQUN4QyxFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7UUFDYixFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7UUFDYixFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7UUFDYixFQUFFLEVBQUUsY0FBTSxDQUFDLEVBQUU7S0FDZCxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksY0FBTSxDQUFDLEVBQUUsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFSVyxRQUFBLFlBQVksZ0JBUXZCO0FBRUssTUFBTSw2QkFBNkIsR0FBRyxDQUMzQyxZQUE0RCxFQUN6QyxFQUFFO0lBQ3JCLE1BQU0sY0FBYyxHQUFHLFlBQVk7U0FDaEMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBQyxHQUFH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
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
4
+ const create_extended_variant_from_variant_1 = require("../create-extended-variant-from-variant");
5
+ core_flows_1.createProductVariantsWorkflow.hooks.productVariantsCreated(async ({ product_variants, additional_data }, { container }) => {
6
+ const workflow = (0, create_extended_variant_from_variant_1.createExtendedVariantFromVariantWorkflow)(container);
7
+ for (const product_variant of product_variants) {
8
+ await workflow.run({
9
+ input: {
10
+ variant: product_variant,
11
+ additional_data: additional_data?.[product_variant?.metadata?.external_id],
12
+ },
13
+ });
14
+ }
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1jcmVhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9ob29rcy92YXJpYW50LWNyZWF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0REFBNEU7QUFDNUUsa0dBR2lEO0FBRWpELDBDQUE2QixDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FDeEQsS0FBSyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sUUFBUSxHQUFHLElBQUEsK0VBQXdDLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDckUsS0FBSyxNQUFNLGVBQWUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNqQixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLGVBQWUsRUFDYixlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLFdBQXFCLENBQUM7YUFDckI7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rawMasterWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const create_raw_1 = require("./steps/create-raw");
6
+ const delete_raw_1 = require("./steps/delete-raw");
7
+ const fetch_raw_master_1 = require("./steps/fetch-raw-master");
8
+ const update_raw_1 = require("./steps/update-raw");
9
+ exports.rawMasterWorkflow = (0, workflows_sdk_1.createWorkflow)("raw-master", (input) => {
10
+ const rawData = (0, fetch_raw_master_1.fetchRawData)(input);
11
+ (0, workflows_sdk_1.when)("create-raw", input, (input) => {
12
+ return input.operation === "add";
13
+ }).then(() => {
14
+ const raw = (0, create_raw_1.createRawStep)(rawData);
15
+ return new workflows_sdk_1.WorkflowResponse(raw);
16
+ });
17
+ (0, workflows_sdk_1.when)("update-raw", input, (input) => {
18
+ return input.operation === "update";
19
+ }).then(() => {
20
+ const raw = (0, update_raw_1.updateRawStep)(rawData);
21
+ return new workflows_sdk_1.WorkflowResponse(raw);
22
+ });
23
+ (0, workflows_sdk_1.when)("delete-raw", input, (input) => {
24
+ return input.operation === "delete";
25
+ }).then(() => {
26
+ const raw = (0, delete_raw_1.deleteRawStep)(rawData);
27
+ return new workflows_sdk_1.WorkflowResponse(raw);
28
+ });
29
+ });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3Jhdy1tYXN0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTJDO0FBRzNDLG1EQUFtRDtBQUNuRCxtREFBbUQ7QUFDbkQsK0RBQXdEO0FBQ3hELG1EQUFtRDtBQUV0QyxRQUFBLGlCQUFpQixHQUFHLElBQUEsOEJBQWMsRUFDN0MsWUFBWSxFQUNaLENBQUMsS0FBa0IsRUFBRSxFQUFFO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUEsK0JBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxJQUFBLG9CQUFJLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sR0FBRyxHQUFHLElBQUEsMEJBQWEsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sR0FBRyxHQUFHLElBQUEsMEJBQWEsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sR0FBRyxHQUFHLElBQUEsMEJBQWEsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRawStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const raw_master_1 = require("../../../modules/raw-master");
6
+ exports.createRawStep = (0, workflows_sdk_1.createStep)("create-raw-step", async (input, { container }) => {
7
+ console.log("input", input);
8
+ const rawMasterModuleService = container.resolve(raw_master_1.RAW_MASTER_MODULE);
9
+ const raw = await rawMasterModuleService.createRawMasters(input.map((item) => ({
10
+ raw_no: item.RawNo,
11
+ raw_code: item.RawCode,
12
+ raw_name: item.RawName,
13
+ raw_alias_name: item.RawAlias,
14
+ raw_mit_no: item.RawMitNo,
15
+ raw_mit_name: item.RawMitName,
16
+ material_group_id: item.MaterialGroupId,
17
+ material_group: item.MaterialGroup,
18
+ material_group_name: item.MaterialGroupName,
19
+ })));
20
+ return new workflows_sdk_1.StepResponse(raw, raw.map((item) => item.id));
21
+ }, async (id, { container }) => {
22
+ const rawMasterModuleService = container.resolve(raw_master_1.RAW_MASTER_MODULE);
23
+ await rawMasterModuleService.deleteRawMasters(id);
24
+ });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJhdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmF3LW1hc3Rlci9zdGVwcy9jcmVhdGUtcmF3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSw0REFBZ0U7QUFlbkQsUUFBQSxhQUFhLEdBQUcsSUFBQSwwQkFBVSxFQUNyQyxpQkFBaUIsRUFDakIsS0FBSyxFQUFFLEtBQTJCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLE1BQU0sc0JBQXNCLEdBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsOEJBQWlCLENBQUMsQ0FBQztJQUV2QyxNQUFNLEdBQUcsR0FBRyxNQUFNLHNCQUFzQixDQUFDLGdCQUFnQixDQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztRQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3RCLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUM3QixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDekIsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVO1FBQzdCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlO1FBQ3ZDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYTtRQUNsQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO0tBQzVDLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFFRixPQUFPLElBQUksNEJBQVksQ0FDckIsR0FBRyxFQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDM0IsQ0FBQztBQUNKLENBQUMsRUFDRCxLQUFLLEVBQUUsRUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxNQUFNLHNCQUFzQixHQUMxQixTQUFTLENBQUMsT0FBTyxDQUFDLDhCQUFpQixDQUFDLENBQUM7SUFFdkMsTUFBTSxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteRawStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const raw_master_1 = require("../../../modules/raw-master");
6
+ exports.deleteRawStep = (0, workflows_sdk_1.createStep)("delete-raw-step", async (input, { container }) => {
7
+ const rawMasterModuleService = container.resolve(raw_master_1.RAW_MASTER_MODULE);
8
+ const prevRaw = await rawMasterModuleService.listRawMasters({
9
+ filters: {
10
+ id: {
11
+ in: input.map((item) => item.id),
12
+ },
13
+ },
14
+ });
15
+ const raw = await rawMasterModuleService.deleteRawMasters(input.map((item) => item.id));
16
+ return new workflows_sdk_1.StepResponse(raw, prevRaw);
17
+ }, async (prevRaw, { container }) => {
18
+ if (!prevRaw)
19
+ return;
20
+ const rawMasterModuleService = container.resolve(raw_master_1.RAW_MASTER_MODULE);
21
+ await rawMasterModuleService.createRawMasters(prevRaw);
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXJhdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmF3LW1hc3Rlci9zdGVwcy9kZWxldGUtcmF3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSw0REFBZ0U7QUFPbkQsUUFBQSxhQUFhLEdBQUcsSUFBQSwwQkFBVSxFQUNyQyxpQkFBaUIsRUFDakIsS0FBSyxFQUFFLEtBQTJCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25ELE1BQU0sc0JBQXNCLEdBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsOEJBQWlCLENBQUMsQ0FBQztJQUV2QyxNQUFNLE9BQU8sR0FBRyxNQUFNLHNCQUFzQixDQUFDLGNBQWMsQ0FBQztRQUMxRCxPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUU7Z0JBQ0YsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDakM7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sc0JBQXNCLENBQUMsZ0JBQWdCLENBQ3ZELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDN0IsQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDL0IsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPO0lBQ3JCLE1BQU0sc0JBQXNCLEdBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsOEJBQWlCLENBQUMsQ0FBQztJQUV2QyxNQUFNLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchRawData = 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.fetchRawData = (0, workflows_sdk_1.createStep)("fetch-raw-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.flatMap((innerArray) => innerArray));
67
+ }, async (result, { container }) => {
68
+ console.log("Something went wrong in fetch-raw-data");
69
+ });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcmF3LW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmF3LW1hc3Rlci9zdGVwcy9mZXRjaC1yYXctbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUk3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztBQUUzRCxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLDZCQUE2QjtRQUM3QixNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxNQUFN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
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateRawStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const raw_master_1 = require("../../../modules/raw-master");
6
+ exports.updateRawStep = (0, workflows_sdk_1.createStep)("update-raw-step", async (input, { container }) => {
7
+ const rawMasterModuleService = container.resolve(raw_master_1.RAW_MASTER_MODULE);
8
+ const prevRaw = await rawMasterModuleService.listRawMasters({
9
+ filters: {
10
+ id: {
11
+ in: input.map((item) => item.id),
12
+ },
13
+ },
14
+ });
15
+ const raw = await rawMasterModuleService.updateRawMasters(input.map((item) => ({
16
+ id: item.id,
17
+ raw_no: item.raw_no,
18
+ raw_code: item.raw_code,
19
+ raw_name: item.raw_name,
20
+ raw_alias_name: item.raw_alias_name,
21
+ raw_mit_no: item.raw_mit_no,
22
+ raw_mit_name: item.raw_mit_name,
23
+ material_group_id: item.material_group_id,
24
+ material_group: item.material_group,
25
+ material_group_name: item.material_group_name,
26
+ })));
27
+ return new workflows_sdk_1.StepResponse(raw, prevRaw);
28
+ }, async (prevRaw, { container }) => {
29
+ if (!prevRaw)
30
+ return;
31
+ const rawMasterModuleService = container.resolve(raw_master_1.RAW_MASTER_MODULE);
32
+ await rawMasterModuleService.createRawMasters(prevRaw);
33
+ });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXJhdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmF3LW1hc3Rlci9zdGVwcy91cGRhdGUtcmF3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSw0REFBZ0U7QUFnQm5ELFFBQUEsYUFBYSxHQUFHLElBQUEsMEJBQVUsRUFDckMsaUJBQWlCLEVBQ2pCLEtBQUssRUFBRSxLQUEyQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNuRCxNQUFNLHNCQUFzQixHQUMxQixTQUFTLENBQUMsT0FBTyxDQUFDLDhCQUFpQixDQUFDLENBQUM7SUFFdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxjQUFjLENBQUM7UUFDMUQsT0FBTyxFQUFFO1lBQ1AsRUFBRSxFQUFFO2dCQUNGLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ2pDO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLHNCQUFzQixDQUFDLGdCQUFnQixDQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUNYLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtRQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1FBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztRQUNuQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7UUFDM0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1FBQy9CLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7UUFDekMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1FBQ25DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7S0FDOUMsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDL0IsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPO0lBQ3JCLE1BQU0sc0JBQXNCLEdBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsOEJBQWlCLENBQUMsQ0FBQztJQUV2QyxNQUFNLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FDRixDQUFDIn0=