@devx-commerce/plugin-gati 0.0.31-beta.1 → 0.0.31-beta.11

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 (25) hide show
  1. package/.medusa/server/src/api/erp/webhook/config.js +5 -2
  2. package/.medusa/server/src/jobs/process-variant-option-sync.js +400 -307
  3. package/.medusa/server/src/modules/erp/service.js +24 -1
  4. package/.medusa/server/src/modules/extended-product/migrations/Migration20251119062526.js +16 -0
  5. package/.medusa/server/src/modules/extended-product/models/extended-product.js +87 -9
  6. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251119063328.js +20 -0
  7. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120045708.js +14 -0
  8. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120051832.js +14 -0
  9. package/.medusa/server/src/modules/extended-variant/migrations/Migration20251120052514.js +14 -0
  10. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +144 -12
  11. package/.medusa/server/src/modules/variant-option-sync-queue/service.js +40 -1
  12. package/.medusa/server/src/subscribers/cutomer-updated.js +107 -0
  13. package/.medusa/server/src/subscribers/party-master.js +8 -5
  14. package/.medusa/server/src/workflows/helpers/product-helper.js +339 -92
  15. package/.medusa/server/src/workflows/helpers/update-variant-option-metadata.js +105 -0
  16. package/.medusa/server/src/workflows/inward-master/helper/index.js +88 -39
  17. package/.medusa/server/src/workflows/party-master/steps/delete-party.js +4 -3
  18. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +2 -2
  19. package/.medusa/server/src/workflows/party-master/workflows/create-or-update-party-master.js +1 -49
  20. package/.medusa/server/src/workflows/party-master/workflows/delete-party-master.js +60 -0
  21. package/.medusa/server/src/workflows/party-master/workflows/index.js +2 -1
  22. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-deletion.js +307 -189
  23. package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-variant-update.js +367 -0
  24. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +37 -8
  25. package/package.json +1 -1
@@ -10,8 +10,8 @@ exports.ExtendedVariant = utils_1.model
10
10
  party_style_id: utils_1.model.number().index(),
11
11
  party_style_date: utils_1.model.dateTime(),
12
12
  party_style_code: utils_1.model.text().index(),
13
- party_style_alias_no: utils_1.model.text(),
14
13
  party_style_sku_no: utils_1.model.text().index(),
14
+ party_style_alias_no: utils_1.model.text(),
15
15
  style_id: utils_1.model.number().index(),
16
16
  style_code: utils_1.model.text().index(),
17
17
  grp_group_no: utils_1.model.number(),
@@ -24,7 +24,6 @@ exports.ExtendedVariant = utils_1.model
24
24
  sub_category: utils_1.model.text(),
25
25
  sub_category_code: utils_1.model.text(),
26
26
  manufacturer: utils_1.model.text(),
27
- manufacturer_no: utils_1.model.text(),
28
27
  make_type_no: utils_1.model.number(),
29
28
  make_type: utils_1.model.text(),
30
29
  make_type_code: utils_1.model.text(),
@@ -40,19 +39,58 @@ exports.ExtendedVariant = utils_1.model
40
39
  gender_no: utils_1.model.number(),
41
40
  gender: utils_1.model.enum(["Men", "Women", "Unisex", "Kids"]),
42
41
  gender_name: utils_1.model.text(),
42
+ manufacturer_no: utils_1.model.text(),
43
43
  shape_code: utils_1.model.text(), //determine from center stone
44
44
  is_complete: utils_1.model.boolean(),
45
45
  restricted: utils_1.model.boolean(),
46
46
  currency: utils_1.model.text(),
47
47
  rate_chart: utils_1.model.text(),
48
48
  discount_markup: utils_1.model.text(),
49
+ discount_markup_cost: utils_1.model.text().nullable(),
50
+ making_cost_on: utils_1.model.text().nullable(),
51
+ metal_calculation_cost_on: utils_1.model.text().nullable(),
52
+ gold_loss_cost_formula: utils_1.model.text().nullable(),
53
+ labour_cost_formula: utils_1.model.text().nullable(),
54
+ cost_margin_per: utils_1.model.float().nullable(),
55
+ cost_margin_is_fix: utils_1.model.boolean().nullable(),
56
+ actual_cost_margin_amt: utils_1.model.float().nullable(),
57
+ cost_margin_amt: utils_1.model.float().nullable(),
58
+ cost_discount_per: utils_1.model.float().nullable(),
59
+ cost_discount_is_fix: utils_1.model.boolean().nullable(),
60
+ actual_cost_discount_amt: utils_1.model.float().nullable(),
61
+ cost_discount_amt: utils_1.model.float().nullable(),
62
+ actual_cost: utils_1.model.float().nullable(),
49
63
  cost: utils_1.model.float(),
64
+ making_on: utils_1.model.text().nullable(),
65
+ metal_calculation_on: utils_1.model.text().nullable(),
66
+ gold_loss_formula: utils_1.model.text().nullable(),
67
+ labour_formula: utils_1.model.text().nullable(),
68
+ margin_per: utils_1.model.float().nullable(),
69
+ margin_is_fix: utils_1.model.boolean().nullable(),
70
+ actual_margin_amt: utils_1.model.float().nullable(),
71
+ margin_amt: utils_1.model.float().nullable(),
72
+ discount_per: utils_1.model.float().nullable(),
73
+ discount_is_fix: utils_1.model.boolean().nullable(),
74
+ actual_discount_amt: utils_1.model.float().nullable(),
75
+ discount_amt: utils_1.model.float().nullable(),
76
+ actual_mrp: utils_1.model.float().nullable(),
50
77
  mrp: utils_1.model.float(),
51
- hsn_code: utils_1.model.text(),
52
- gross_weight: utils_1.model.float(),
53
- net_weight: utils_1.model.float(),
78
+ stamping_instruction: utils_1.model.text().nullable(),
79
+ special_remarks: utils_1.model.text(),
80
+ design_production_instruction: utils_1.model.text().nullable(),
81
+ customer_production_instruction: utils_1.model.text().nullable(),
82
+ customer_remarks: utils_1.model.text(),
83
+ remarks: utils_1.model.text(),
84
+ style_history: utils_1.model.text().nullable(),
85
+ web_description: utils_1.model.text(),
86
+ design_by: utils_1.model.text().nullable(),
54
87
  wax_weight: utils_1.model.float(),
55
88
  model_weight: utils_1.model.float(),
89
+ master_qty: utils_1.model.number().nullable(),
90
+ hsn_id: utils_1.model.text().nullable(),
91
+ hsn_code: utils_1.model.text(), // determined from field : HSN
92
+ gross_weight: utils_1.model.float(),
93
+ net_weight: utils_1.model.float(),
56
94
  metal: utils_1.model.text(), //determine from base metal
57
95
  metal_purity: utils_1.model.text(), //determine from base metal
58
96
  metal_color: utils_1.model.text(), //determine from base metal
@@ -64,10 +102,6 @@ exports.ExtendedVariant = utils_1.model
64
102
  total_stone_weight: utils_1.model.float(),
65
103
  total_cz_pcs: utils_1.model.number(),
66
104
  total_cz_weight: utils_1.model.float(),
67
- web_description: utils_1.model.text(),
68
- remarks: utils_1.model.text(),
69
- customer_remarks: utils_1.model.text(),
70
- special_remarks: utils_1.model.text(),
71
105
  metal_total_cost: utils_1.model.float(),
72
106
  diamond_total_cost: utils_1.model.float(),
73
107
  stone_total_cost: utils_1.model.float(),
@@ -76,6 +110,13 @@ exports.ExtendedVariant = utils_1.model
76
110
  diamond_total_amount: utils_1.model.float(),
77
111
  stone_total_amount: utils_1.model.float(),
78
112
  cpf_total_amount: utils_1.model.float(),
113
+ actual_metal_total_amount: utils_1.model.float().nullable(),
114
+ actual_diamond_total_amount: utils_1.model.float().nullable(),
115
+ actual_stone_total_amount: utils_1.model.float().nullable(),
116
+ actual_cpf_total_amount: utils_1.model.float().nullable(),
117
+ actual_total_amount: utils_1.model.float().nullable(),
118
+ diamond_dis_markup_value: utils_1.model.float().nullable(),
119
+ diamond_dis_markup_type: utils_1.model.text().nullable(), // "percentage" or "rupees"
79
120
  mapping_id: utils_1.model.text().index(),
80
121
  is_default: utils_1.model.boolean().default(false),
81
122
  status: utils_1.model
@@ -130,31 +171,73 @@ exports.PartyStyleDetailsLine = utils_1.model.define("party_style_details_line",
130
171
  stone_wt: utils_1.model.float(),
131
172
  default_wt: utils_1.model.float(),
132
173
  raw_formula: utils_1.model.text(),
174
+ original_cost_rate: utils_1.model.float().nullable(),
175
+ actual_cost_amount: utils_1.model.float().nullable(),
176
+ dis_markup_cost_per: utils_1.model.float().nullable(),
177
+ dis_markup_cost_on: utils_1.model.boolean().nullable(),
133
178
  cost_rate: utils_1.model.float(),
134
179
  cost_amount: utils_1.model.float(),
180
+ dis_markup_cost_amt: utils_1.model.float().nullable(),
181
+ final_cost_amt: utils_1.model.float().nullable(),
182
+ original_hand_cost_rate: utils_1.model.float().nullable(),
183
+ actual_hand_cost_amount: utils_1.model.float().nullable(),
184
+ hand_dis_markup_cost_per: utils_1.model.float().nullable(),
185
+ hand_dis_markup_cost_on: utils_1.model.boolean().nullable(),
135
186
  hand_cost_rate: utils_1.model.float(),
136
187
  hand_cost_amount: utils_1.model.float(),
188
+ original_set_cost_rate: utils_1.model.float().nullable(),
189
+ actual_set_cost_amount: utils_1.model.float().nullable(),
190
+ set_dis_markup_cost_per: utils_1.model.float().nullable(),
191
+ set_dis_markup_cost_on: utils_1.model.boolean().nullable(),
137
192
  set_cost_rate: utils_1.model.float(),
138
193
  set_cost_amount: utils_1.model.float(),
139
194
  loss_cost_per: utils_1.model.float(),
140
195
  loss_cost_per_is_fix: utils_1.model.boolean(),
141
196
  loss_cost_weight: utils_1.model.float(),
197
+ actual_loss_cost_amt: utils_1.model.float().nullable(),
198
+ metal_loss_per_calc_cost_on: utils_1.model.number().nullable(),
142
199
  loss_cost_amt: utils_1.model.float(),
200
+ original_cpf_cost_rate: utils_1.model.float().nullable(),
201
+ actual_cpf_cost_amt: utils_1.model.float().nullable(),
202
+ cpf_dis_markup_cost_per: utils_1.model.float().nullable(),
143
203
  cpf_cost_rate: utils_1.model.float(),
144
204
  cpf_cost_is_fix: utils_1.model.boolean(),
205
+ original_cpf_cost_amt: utils_1.model.float().nullable(),
206
+ cpf_amt_dis_markup_cost_per: utils_1.model.float().nullable(),
145
207
  cpf_cost_amt: utils_1.model.float(),
208
+ original_rate: utils_1.model.float().nullable(),
209
+ actual_amount: utils_1.model.float().nullable(),
210
+ dis_markup_per: utils_1.model.float().nullable(),
211
+ dis_markup_on: utils_1.model.boolean().nullable(),
146
212
  rate: utils_1.model.float(),
147
213
  amount: utils_1.model.float(),
214
+ dis_markup_amt: utils_1.model.float().nullable(),
215
+ final_amt: utils_1.model.float().nullable(),
216
+ original_hand_rate: utils_1.model.float().nullable(),
217
+ actual_hand_amount: utils_1.model.float().nullable(),
218
+ hand_dis_markup_per: utils_1.model.float().nullable(),
219
+ hand_dis_markup_on: utils_1.model.boolean().nullable(),
148
220
  hand_rate: utils_1.model.float(),
149
221
  hand_amount: utils_1.model.float(),
222
+ original_set_rate: utils_1.model.float().nullable(),
223
+ actual_set_amount: utils_1.model.float().nullable(),
224
+ set_dis_markup_per: utils_1.model.float().nullable(),
225
+ set_dis_markup_on: utils_1.model.boolean().nullable(),
150
226
  set_rate: utils_1.model.float(),
151
227
  set_amount: utils_1.model.float(),
152
228
  loss_per: utils_1.model.float(),
153
229
  loss_per_is_fix: utils_1.model.boolean(),
154
230
  loss_weight: utils_1.model.float(),
231
+ actual_loss_amt: utils_1.model.float().nullable(),
232
+ metal_loss_per_calc_on: utils_1.model.number().nullable(),
155
233
  loss_amt: utils_1.model.float(),
234
+ original_cpf_rate: utils_1.model.float().nullable(),
235
+ actual_cpf_amt: utils_1.model.float().nullable(),
236
+ cpf_dis_markup_per: utils_1.model.float().nullable(),
156
237
  cpf_rate: utils_1.model.float(),
157
238
  cpf_is_fix: utils_1.model.boolean(),
239
+ original_cpf_amt: utils_1.model.float().nullable(),
240
+ cpf_amt_dis_markup_per: utils_1.model.float().nullable(),
158
241
  cpf_amt: utils_1.model.float(),
159
242
  extended_variant: utils_1.model.belongsTo(() => exports.ExtendedVariant, {
160
243
  mappedBy: "party_style_details_line",
@@ -175,9 +258,9 @@ exports.InwardMaster = utils_1.model
175
258
  .define("inward_master", {
176
259
  id: utils_1.model.id({ prefix: "inward" }).primaryKey(),
177
260
  jewel_id: utils_1.model.number().index().searchable(),
178
- jewel_code: utils_1.model.text().index().searchable(),
179
261
  branch_no: utils_1.model.text().index().searchable(),
180
262
  branch_name: utils_1.model.text().searchable(),
263
+ jewel_code: utils_1.model.text().index().searchable(),
181
264
  inward_sku_no: utils_1.model.text().index().searchable(),
182
265
  inward_date: utils_1.model.dateTime(),
183
266
  style_id: utils_1.model.number(),
@@ -214,16 +297,20 @@ exports.InwardMaster = utils_1.model
214
297
  currency: utils_1.model.text(),
215
298
  rate_chart: utils_1.model.text(),
216
299
  discount_markup: utils_1.model.text(),
300
+ discount_markup_cost: utils_1.model.text().nullable(),
217
301
  making_cost_on: utils_1.model.text(),
218
302
  metal_calculation_cost_on: utils_1.model.text(),
219
303
  gold_loss_cost_formula: utils_1.model.text(),
220
304
  labour_cost_formula: utils_1.model.text(),
221
305
  cost_margin_per: utils_1.model.float(),
222
306
  cost_margin_is_fix: utils_1.model.boolean(),
307
+ actual_cost_margin_amt: utils_1.model.float().nullable(),
223
308
  cost_margin_amt: utils_1.model.float(),
224
309
  cost_discount_per: utils_1.model.float(),
225
310
  cost_discount_is_fix: utils_1.model.boolean(),
311
+ actual_cost_discount_amt: utils_1.model.float().nullable(),
226
312
  cost_discount_amt: utils_1.model.float(),
313
+ actual_cost: utils_1.model.float().nullable(),
227
314
  cost: utils_1.model.float(),
228
315
  making_on: utils_1.model.text(),
229
316
  metal_calculation_on: utils_1.model.text(),
@@ -231,10 +318,13 @@ exports.InwardMaster = utils_1.model
231
318
  labour_formula: utils_1.model.text(),
232
319
  margin_per: utils_1.model.float(),
233
320
  margin_is_fix: utils_1.model.boolean(),
321
+ actual_margin_amt: utils_1.model.float().nullable(),
234
322
  margin_amt: utils_1.model.float(),
235
323
  discount_per: utils_1.model.float(),
236
324
  discount_is_fix: utils_1.model.boolean(),
325
+ actual_discount_amt: utils_1.model.float().nullable(),
237
326
  discount_amt: utils_1.model.float(),
327
+ actual_mrp: utils_1.model.float().nullable(),
238
328
  mrp: utils_1.model.float(),
239
329
  remarks: utils_1.model.text(),
240
330
  hsn_id: utils_1.model.number(),
@@ -292,39 +382,81 @@ exports.InwardDetailsLine = utils_1.model.define("inward_details_line", {
292
382
  accessories_id: utils_1.model.number(),
293
383
  accessories: utils_1.model.text(),
294
384
  accessories_name: utils_1.model.text(),
385
+ smd_set_no: utils_1.model.number(),
295
386
  setting: utils_1.model.text(),
296
387
  setting_name: utils_1.model.text(),
297
- smd_set_no: utils_1.model.number(),
298
388
  is_base: utils_1.model.boolean(),
299
389
  is_center_stone: utils_1.model.boolean(),
300
390
  pieces: utils_1.model.number(),
301
391
  weight: utils_1.model.float(),
302
392
  raw_formula: utils_1.model.text(),
393
+ original_cost_rate: utils_1.model.float().nullable(),
394
+ actual_cost_amount: utils_1.model.float().nullable(),
395
+ dis_markup_cost_per: utils_1.model.float().nullable(),
396
+ dis_markup_cost_on: utils_1.model.boolean().nullable(),
303
397
  cost_rate: utils_1.model.float(),
304
398
  cost_amount: utils_1.model.float(),
399
+ dis_markup_cost_amt: utils_1.model.float().nullable(),
400
+ final_cost_amt: utils_1.model.float().nullable(),
401
+ original_hand_cost_rate: utils_1.model.float().nullable(),
402
+ actual_hand_cost_amount: utils_1.model.float().nullable(),
403
+ hand_dis_markup_cost_per: utils_1.model.float().nullable(),
404
+ hand_dis_markup_cost_on: utils_1.model.boolean().nullable(),
305
405
  hand_cost_rate: utils_1.model.float(),
306
406
  hand_cost_amount: utils_1.model.float(),
407
+ original_set_cost_rate: utils_1.model.float().nullable(),
408
+ actual_set_cost_amount: utils_1.model.float().nullable(),
409
+ set_dis_markup_cost_per: utils_1.model.float().nullable(),
410
+ set_dis_markup_cost_on: utils_1.model.boolean().nullable(),
307
411
  set_cost_rate: utils_1.model.float(),
308
412
  set_cost_amount: utils_1.model.float(),
309
413
  loss_cost_per: utils_1.model.float(),
310
414
  loss_cost_per_is_fix: utils_1.model.boolean(),
311
415
  loss_cost_weight: utils_1.model.float(),
416
+ actual_loss_cost_amt: utils_1.model.float().nullable(),
417
+ metal_loss_per_calc_cost_on: utils_1.model.number().nullable(),
312
418
  loss_cost_amt: utils_1.model.float(),
419
+ original_cpf_cost_rate: utils_1.model.float().nullable(),
420
+ actual_cpf_cost_amt: utils_1.model.float().nullable(),
421
+ cpf_dis_markup_cost_per: utils_1.model.float().nullable(),
313
422
  cpf_cost_rate: utils_1.model.float(),
314
423
  cpf_cost_is_fix: utils_1.model.boolean(),
424
+ original_cpf_cost_amt: utils_1.model.float().nullable(),
425
+ cpf_amt_dis_markup_cost_per: utils_1.model.float().nullable(),
315
426
  cpf_cost_amt: utils_1.model.float(),
427
+ original_rate: utils_1.model.float().nullable(),
428
+ actual_amount: utils_1.model.float().nullable(),
429
+ dis_markup_per: utils_1.model.float().nullable(),
430
+ dis_markup_on: utils_1.model.boolean().nullable(),
316
431
  rate: utils_1.model.float(),
317
432
  amount: utils_1.model.float(),
433
+ dis_markup_amt: utils_1.model.float().nullable(),
434
+ final_amt: utils_1.model.float().nullable(),
435
+ original_hand_rate: utils_1.model.float().nullable(),
436
+ actual_hand_amount: utils_1.model.float().nullable(),
437
+ hand_dis_markup_per: utils_1.model.float().nullable(),
438
+ hand_dis_markup_on: utils_1.model.boolean().nullable(),
318
439
  hand_rate: utils_1.model.float(),
319
440
  hand_amount: utils_1.model.float(),
441
+ original_set_rate: utils_1.model.float().nullable(),
442
+ actual_set_amount: utils_1.model.float().nullable(),
443
+ set_dis_markup_per: utils_1.model.float().nullable(),
444
+ set_dis_markup_on: utils_1.model.boolean().nullable(),
320
445
  set_rate: utils_1.model.float(),
321
446
  set_amount: utils_1.model.float(),
322
447
  loss_per: utils_1.model.float(),
323
448
  loss_per_is_fix: utils_1.model.boolean(),
324
449
  loss_weight: utils_1.model.float(),
450
+ actual_loss_amt: utils_1.model.float().nullable(),
451
+ metal_loss_per_calc_on: utils_1.model.number().nullable(),
325
452
  loss_amt: utils_1.model.float(),
453
+ original_cpf_rate: utils_1.model.float().nullable(),
454
+ actual_cpf_amt: utils_1.model.float().nullable(),
455
+ cpf_dis_markup_per: utils_1.model.float().nullable(),
326
456
  cpf_rate: utils_1.model.float(),
327
457
  cpf_is_fix: utils_1.model.boolean(),
458
+ original_cpf_amt: utils_1.model.float().nullable(),
459
+ cpf_amt_dis_markup_per: utils_1.model.float().nullable(),
328
460
  cpf_amt: utils_1.model.float(),
329
461
  inward_master: utils_1.model.belongsTo(() => exports.InwardMaster, {
330
462
  mappedBy: "inward_details_line",
@@ -375,4 +507,4 @@ exports.InwardExtraChargesLine = utils_1.model.define("inward_extra_charges_line
375
507
  mappedBy: "inward_extra_charges_line",
376
508
  }),
377
509
  });
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtdmFyaWFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2V4dGVuZGVkLXZhcmlhbnQvbW9kZWxzL2V4dGVuZGVkLXZhcmlhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWdFO0FBRW5ELFFBQUEsZUFBZSxHQUFHLGFBQUs7S0FDakMsTUFBTSxDQUFDLGtCQUFrQixFQUFFO0lBQzFCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDekQsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsTUFBTSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxxQkFBcUI7SUFDNUMsY0FBYyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDdEMsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRTtJQUNsQyxnQkFBZ0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFO0lBQ3RDLG9CQUFvQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbEMsa0JBQWtCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN4QyxRQUFRLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRTtJQUNoQyxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRTtJQUNoQyxZQUFZLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM1QixtQkFBbUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2pDLG1CQUFtQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDakMsTUFBTSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdEIsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdEIsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDM0IsVUFBVSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDMUIsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDMUIsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUMvQixZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUMxQixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM3QixZQUFZLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM1QixTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN2QixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1QixhQUFhLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM3QixVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN4QixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM3QixZQUFZLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM1QixTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN2QixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1QixRQUFRLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN4QixLQUFLLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNuQixVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN4QixTQUFTLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN6QixNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3pCLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsNkJBQTZCO0lBQ3ZELFdBQVcsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQzVCLFVBQVUsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQzNCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3hCLGVBQWUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzdCLElBQUksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ25CLEdBQUcsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ2xCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RCLFlBQVksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzNCLFVBQVUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3pCLFVBQVUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3pCLFlBQVksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzNCLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsMkJBQTJCO0lBQ2hELFlBQVksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsMkJBQTJCO0lBQ3ZELFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsMkJBQTJCO0lBQ3RELGlCQUFpQixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDakMsb0JBQW9CLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUNuQyx3QkFBd0IsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3hDLDJCQUEyQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDMUMsZUFBZSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDL0Isa0JBQWtCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUNqQyxZQUFZLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM1QixlQUFlLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUM5QixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM3QixPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNyQixnQkFBZ0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzlCLGVBQWUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzdCLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDL0Isa0JBQWtCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUNqQyxnQkFBZ0IsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQy9CLGNBQWMsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzdCLGtCQUFrQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDakMsb0JBQW9CLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUNuQyxrQkFBa0IsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ2pDLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDL0IsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDaEMsVUFBVSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzFDLE1BQU0sRUFBRSxhQUFLO1NBQ1YsSUFBSSxDQUFDLG9CQUFZLENBQUMsYUFBYSxDQUFDO1NBQ2hDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSwyQ0FBMkM7SUFDekYsY0FBYyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDN0IsVUFBVSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQ3JDLG1CQUFtQixFQUFFLGFBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQXFCLENBQUM7SUFDL0Qsd0JBQXdCLEVBQUUsYUFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBeUIsQ0FBQztJQUN4RSxhQUFhLEVBQUUsYUFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBWSxDQUFDO0NBQ2pELENBQUM7S0FDRCxRQUFRLENBQUM7SUFDUixNQUFNLEVBQUU7UUFDTixxQkFBcUI7UUFDckIsMEJBQTBCO1FBQzFCLGVBQWU7S0FDaEI7Q0FDRixDQUFDLENBQUM7QUFFUSxRQUFBLHFCQUFxQixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUU7SUFDNUUsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDN0MsY0FBYyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDOUIseUJBQXlCLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN6QyxPQUFPLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN2QixTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN2QixTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN2QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN0QixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1QixNQUFNLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN0QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN0QixRQUFRLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN4QixVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN4QixNQUFNLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN0QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN0QixPQUFPLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN2QixTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN2QixXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN6QixPQUFPLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN2QixJQUFJLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNsQixTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN2QixjQUFjLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM5QixXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN6QixnQkFBZ0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzlCLFVBQVUsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQzFCLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3JCLFlBQVksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzFCLE9BQU8sRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQ3hCLGVBQWUsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3RCLE1BQU0sRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3JCLFVBQVUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3pCLFVBQVUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3pCLFFBQVEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3ZCLFVBQVUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3pCLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3pCLFNBQVMsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3hCLFdBQVcsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzFCLGNBQWMsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzdCLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDL0IsYUFBYSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDNUIsZUFBZSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDOUIsYUFBYSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDNUIsb0JBQW9CLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRTtJQUNyQyxnQkFBZ0IsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQy9CLGFBQWEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzVCLGFBQWEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzVCLGVBQWUsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQ2hDLFlBQVksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzNCLElBQUksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ25CLE1BQU0sRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3JCLFNBQVMsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3hCLFdBQVcsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzFCLFFBQVEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3ZCLFVBQVUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3pCLFFBQVEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3ZCLGVBQWUsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQ2hDLFdBQVcsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzFCLFFBQVEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3ZCLFFBQVEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3ZCLFVBQVUsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQzNCLE9BQU8sRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3RCLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQWUsRUFBRTtRQUN2RCxRQUFRLEVBQUUsMEJBQTBCO0tBQ3JDLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFVSxRQUFBLHlCQUF5QixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQ25ELDhCQUE4QixFQUM5QjtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQzdDLGNBQWMsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQzlCLGNBQWMsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQzlCLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDOUIsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM5QixpQkFBaUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQy9CLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQWUsRUFBRTtRQUN2RCxRQUFRLEVBQUUsOEJBQThCO0tBQ3pDLENBQUM7Q0FDSCxDQUNGLENBQUM7QUFFVyxRQUFBLFlBQVksR0FBRyxhQUFLO0tBQzlCLE1BQU0sQ0FBQyxlQUFlLEVBQUU7SUFDdkIsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDL0MsUUFBUSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDN0MsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDN0MsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDNUMsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDdEMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDaEQsV0FBVyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7SUFDN0IsUUFBUSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDeEIsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDeEIsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDakMsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdEIsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDekMsWUFBWSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDNUIsbUJBQW1CLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNqQyxtQkFBbUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2pDLE1BQU0sRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3RCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RCLGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzNCLFVBQVUsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQzFCLFlBQVksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzFCLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDL0IsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDMUIsWUFBWSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDNUIsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDNUIsYUFBYSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDN0IsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDeEIsZUFBZSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDN0IsWUFBWSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDNUIsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDNUIsUUFBUSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDeEIsS0FBSyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbkIsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDeEIsU0FBUyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDekIsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RCxXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN6QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN0QixVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN4QixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM3QixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1Qix5QkFBeUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3ZDLHNCQUFzQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDcEMsbUJBQW1CLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNqQyxlQUFlLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUM5QixrQkFBa0IsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQ25DLGVBQWUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzlCLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDaEMsb0JBQW9CLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRTtJQUNyQyxpQkFBaUIsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ2hDLElBQUksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ25CLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3ZCLG9CQUFvQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbEMsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUMvQixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1QixVQUFVLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUN6QixhQUFhLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRTtJQUM5QixVQUFVLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUN6QixZQUFZLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUMzQixlQUFlLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRTtJQUNoQyxZQUFZLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUMzQixHQUFHLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUNsQixPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNyQixNQUFNLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUN0QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN0QixZQUFZLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM1QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN0QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN0QixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1QixxQkFBcUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ25DLHFCQUFxQixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDckMsWUFBWSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDM0IsVUFBVSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUNqQyxvQkFBb0IsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ25DLHdCQUF3QixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDeEMsMkJBQTJCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUMxQyxlQUFlLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUMvQixrQkFBa0IsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ2pDLFlBQVksRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQzVCLGVBQWUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzlCLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUMsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxjQUFjLEVBQUUsYUFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBaUIsQ0FBQztJQUN0RCxtQkFBbUIsRUFBRSxhQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUFxQixDQUFDO0lBQy9ELG9CQUFvQixFQUFFLGFBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQXNCLENBQUM7SUFDakUsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBZSxFQUFFO1FBQ3ZELFFBQVEsRUFBRSxlQUFlO0tBQzFCLENBQUM7Q0FDSCxDQUFDO0tBQ0QsUUFBUSxDQUFDO0lBQ1IsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7Q0FDMUUsQ0FBQyxDQUFDO0FBRVEsUUFBQSxpQkFBaUIsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFO0lBQ25FLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQzVDLFFBQVEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzdDLGVBQWUsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQy9CLE9BQU8sRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3ZCLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3ZCLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3ZCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RCLGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3RCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RCLFFBQVEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3hCLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3hCLE1BQU0sRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3RCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RCLE9BQU8sRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3ZCLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3ZCLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3pCLE9BQU8sRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3ZCLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2xCLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3ZCLGNBQWMsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQzlCLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3pCLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDOUIsT0FBTyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDckIsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDMUIsVUFBVSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDMUIsT0FBTyxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUU7SUFDeEIsZUFBZSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUU7SUFDaEMsTUFBTSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdEIsTUFBTSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDckIsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDekIsU0FBUyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDeEIsV0FBVyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDMUIsY0FBYyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDN0IsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUMvQixhQUFhLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUM1QixlQUFlLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUM5QixhQUFhLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUM1QixvQkFBb0IsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFO0lBQ3JDLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDL0IsYUFBYSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDNUIsYUFBYSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDNUIsZUFBZSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUU7SUFDaEMsWUFBWSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDM0IsSUFBSSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDbkIsTUFBTSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDckIsU0FBUyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDeEIsV0FBVyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDMUIsUUFBUSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDdkIsVUFBVSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDekIsUUFBUSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDdkIsZUFBZSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUU7SUFDaEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDMUIsUUFBUSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDdkIsUUFBUSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDdkIsVUFBVSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUU7SUFDM0IsT0FBTyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDdEIsYUFBYSxFQUFFLGFBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQVksRUFBRTtRQUNqRCxRQUFRLEVBQUUscUJBQXFCO0tBQ2hDLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFVSxRQUFBLHFCQUFxQixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUU7SUFDM0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDNUMsUUFBUSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDeEIsY0FBYyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDOUIsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM5QixnQkFBZ0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQzlCLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDL0IsYUFBYSxFQUFFLGFBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQVksRUFBRTtRQUNqRCxRQUFRLEVBQUUseUJBQXlCO0tBQ3BDLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFVSxRQUFBLHNCQUFzQixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQ2hELDJCQUEyQixFQUMzQjtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQzdDLFFBQVEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3hCLHVCQUF1QixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdkMsT0FBTyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdkIsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdEIsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDNUIsTUFBTSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdEIsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdEIsUUFBUSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDeEIsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDeEIsTUFBTSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdEIsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdEIsT0FBTyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdkIsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDekIsT0FBTyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdkIsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbEIsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsTUFBTSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdEIsTUFBTSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDckIsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDekIsMEJBQTBCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN4QyxTQUFTLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUN4QixXQUFXLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUMxQixxQkFBcUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ25DLElBQUksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ25CLE1BQU0sRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3JCLGFBQWEsRUFBRSxhQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFZLEVBQUU7UUFDakQsUUFBUSxFQUFFLDJCQUEyQjtLQUN0QyxDQUFDO0NBQ0gsQ0FDRixDQUFDIn0=
510
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtdmFyaWFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2V4dGVuZGVkLXZhcmlhbnQvbW9kZWxzL2V4dGVuZGVkLXZhcmlhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWdFO0FBRW5ELFFBQUEsZUFBZSxHQUFHLGFBQUs7S0FDakMsTUFBTSxDQUFDLGtCQUFrQixFQUFFO0lBQzFCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDekQsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdkIsTUFBTSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxxQkFBcUI7SUFDNUMsY0FBYyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDdEMsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRTtJQUNsQyxnQkFBZ0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFO0lBQ3RDLGtCQUFrQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDeEMsb0JBQW9CLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNsQyxRQUFRLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRTtJQUNoQyxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRTtJQUNoQyxZQUFZLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUM1QixtQkFBbUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2pDLG1CQUFtQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDakMsTUFBTSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDdEIsUUFBUSxF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
@@ -1,10 +1,49 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  const utils_1 = require("@medusajs/framework/utils");
4
16
  const variant_option_sync_queue_1 = require("./models/variant-option-sync-queue");
5
17
  class VariantOptionSyncQueueService extends (0, utils_1.MedusaService)({
6
18
  VariantOptionSyncQueue: variant_option_sync_queue_1.VariantOptionSyncQueue,
7
19
  }) {
20
+ async updateVariantOptionMetadata(updates, sharedContext) {
21
+ if (!updates || updates.length === 0) {
22
+ return;
23
+ }
24
+ const manager = sharedContext.manager;
25
+ if (!manager) {
26
+ throw new Error("Manager not available in shared context");
27
+ }
28
+ // Use nativeUpdate to update product_option_value metadata
29
+ for (const update of updates) {
30
+ try {
31
+ const metadataJson = JSON.stringify(update.metadata);
32
+ await manager.nativeUpdate("product_option_value", { id: update.id }, { metadata: metadataJson });
33
+ }
34
+ catch (error) {
35
+ console.error(`Error updating product_option_value ${update.id}:`, error);
36
+ throw error;
37
+ }
38
+ }
39
+ }
8
40
  }
41
+ __decorate([
42
+ (0, utils_1.InjectManager)(),
43
+ __param(1, (0, utils_1.MedusaContext)()),
44
+ __metadata("design:type", Function),
45
+ __metadata("design:paramtypes", [Array, Object]),
46
+ __metadata("design:returntype", Promise)
47
+ ], VariantOptionSyncQueueService.prototype, "updateVariantOptionMetadata", null);
9
48
  exports.default = VariantOptionSyncQueueService;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3ZhcmlhbnQtb3B0aW9uLXN5bmMtcXVldWUvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUEwRDtBQUMxRCxrRkFBNEU7QUFFNUUsTUFBTSw2QkFBOEIsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDeEQsc0JBQXNCLEVBQXRCLGtEQUFzQjtDQUN2QixDQUFDO0NBQUc7QUFFTCxrQkFBZSw2QkFBNkIsQ0FBQyJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3ZhcmlhbnQtb3B0aW9uLXN5bmMtcXVldWUvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUltQztBQUduQyxrRkFBNEU7QUFFNUUsTUFBTSw2QkFBOEIsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDeEQsc0JBQXNCLEVBQXRCLGtEQUFzQjtDQUN2QixDQUFDO0lBVU0sQUFBTixLQUFLLENBQUMsMkJBQTJCLENBQy9CLE9BR0UsRUFFRixhQUFrRTtRQUVsRSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsMkRBQTJEO1FBQzNELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDO2dCQUNILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRCxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQ3hCLHNCQUFzQixFQUN0QixFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQ2pCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUMzQixDQUFDO1lBQ0osQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMxRSxNQUFNLEtBQUssQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBaENPO0lBREwsSUFBQSxxQkFBYSxHQUFFO0lBTWIsV0FBQSxJQUFBLHFCQUFhLEdBQUUsQ0FBQTs7cUNBSlAsS0FBSzs7Z0ZBOEJmO0FBR0gsa0JBQWUsNkJBQTZCLENBQUMifQ==
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = customerUpdatedHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const erp_1 = require("../modules/erp");
7
+ const party_master_1 = require("../modules/party-master");
8
+ async function customerUpdatedHandler({ event: { data }, container, }) {
9
+ const logger = container.resolve("logger");
10
+ logger.info(`Customer updated: ${data.id}`);
11
+ const service = container.resolve(erp_1.ERP_MODULE);
12
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
13
+ const partyMasterModuleService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
14
+ const { data: [customer], } = await query.graph({
15
+ entity: "customer",
16
+ fields: ["*", "extended_customer.*"],
17
+ filters: { id: data.id },
18
+ });
19
+ const { data: [party_master], } = await query.graph({
20
+ entity: "party_master",
21
+ fields: ["*"],
22
+ filters: { party_no: customer?.extended_customer?.external_id },
23
+ });
24
+ const fullName = `${customer?.first_name || ""} ${customer?.last_name || ""}`.trim();
25
+ if (!customer?.extended_customer?.external_id || !party_master) {
26
+ logger.info(`Customer ${customer?.id} has no external ID`);
27
+ return;
28
+ }
29
+ const erpCustomerData = {
30
+ PartyNo: customer?.extended_customer?.external_id,
31
+ FirmName: fullName,
32
+ LegalName: fullName,
33
+ FirmAdd1: party_master?.firm_add1 || "",
34
+ FirmAdd2: party_master?.firm_add2 || "",
35
+ FirmAdd3: party_master?.firm_add3 || "",
36
+ FirmPinCode: party_master?.firm_pin_code || "",
37
+ FirmEmail: customer?.extended_customer?.email || "",
38
+ OwnerMobile: customer?.phone?.replace("+91", "") || "",
39
+ WhatsAppNo: party_master?.whatsapp_no || "",
40
+ Country: party_master?.country || "",
41
+ State: party_master?.state || "",
42
+ FirmCity: party_master?.firm_city || "",
43
+ FirmBirthDate: customer?.extended_customer?.birth_date
44
+ ? customer?.extended_customer?.birth_date
45
+ : "",
46
+ FirmAnniversaryDate: customer?.extended_customer?.anniversary_date
47
+ ? customer?.extended_customer?.anniversary_date
48
+ : "",
49
+ BranchNo: party_master?.branch_no || "",
50
+ BranchName: party_master?.branch_name || "",
51
+ LocationId: party_master?.location_id || "",
52
+ LocationName: party_master?.location_name || "",
53
+ AadhaarNo: party_master?.aadhaar_no || "",
54
+ FirmPan: customer?.extended_customer?.pan_number || "",
55
+ GSTNo: customer?.extended_customer?.gst_number || "",
56
+ LUTNo: party_master?.lut_no || "",
57
+ IdentityProof: party_master?.identity_proof || "",
58
+ CSTNo: party_master?.cst_no || "",
59
+ LSTNo: party_master?.lst_no || "",
60
+ ServiceTaxNo: party_master?.service_tax_no || "",
61
+ BankAccNo: party_master?.bank_acc_no || "",
62
+ BankName: party_master?.bank_name || "",
63
+ BankAdd1: party_master?.bank_add1 || "",
64
+ BankAdd2: party_master?.bank_add2 || "",
65
+ BankAdd3: party_master?.bank_add3 || "",
66
+ BankPinCode: party_master?.bank_pin_code || "",
67
+ BankIFSCCode: party_master?.bank_ifsccode || "",
68
+ BankSwiftCode: party_master?.bank_swiftcode || "",
69
+ IsCustomer: true,
70
+ IsSupplier: false,
71
+ IsAccount: false,
72
+ IsSalesMan: false,
73
+ IsFactory: false,
74
+ FactoryType: false,
75
+ IsTools: false,
76
+ IsLocation: false,
77
+ IsPdHead: 0,
78
+ IsInlineBranch: false,
79
+ IsSchemeMember: false,
80
+ };
81
+ const erpCustomer = await service.updateCustomer(erpCustomerData);
82
+ if (erpCustomer.PartyNo && party_master?.id) {
83
+ await partyMasterModuleService.updatePartyMasters({
84
+ selector: {
85
+ id: party_master.id,
86
+ },
87
+ data: {
88
+ party_no: erpCustomer.PartyNo,
89
+ firm_email: customer?.extended_customer?.email || "",
90
+ firm_name: fullName,
91
+ legal_name: fullName,
92
+ firm_birth_date: customer?.extended_customer?.birth_date
93
+ ? customer?.extended_customer?.birth_date?.toISOString()
94
+ : null,
95
+ firm_anniversary_date: customer?.extended_customer?.anniversary_date
96
+ ? customer?.extended_customer?.anniversary_date?.toISOString()
97
+ : null,
98
+ firm_pan: customer?.extended_customer?.pan_number || "",
99
+ gst_no: customer?.extended_customer?.gst_number || "",
100
+ },
101
+ });
102
+ }
103
+ }
104
+ exports.config = {
105
+ event: "customer.updated",
106
+ };
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3V0b21lci11cGRhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2N1dG9tZXItdXBkYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSx5Q0FnSEM7QUF4SEQscURBQXNFO0FBRXRFLHdDQUE0QztBQUc1QywwREFBOEQ7QUFHL0MsS0FBSyxVQUFVLHNCQUFzQixDQUFDLEVBQ25ELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLFNBQVMsR0FDc0I7SUFDL0IsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBcUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBVSxDQUFDLENBQUM7SUFDaEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLHdCQUF3QixHQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFtQixDQUFDLENBQUM7SUFFekMsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUNqQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7UUFDcEMsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7S0FDekIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUNyQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsY0FBYztRQUN0QixNQUFNLEVBQUUsQ0FB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