order-management 0.0.90 → 0.0.92

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.
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GET = GET;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
5
  const returns_1 = require("../../../../helpers/returns");
6
+ const refund_calculation_1 = require("../../../../helpers/refund-calculation");
6
7
  async function GET(req, res) {
7
8
  const authContext = req.auth_context;
8
9
  const actorId = authContext?.actor_id;
@@ -25,7 +26,7 @@ async function GET(req, res) {
25
26
  try {
26
27
  const orderModuleService = req.scope.resolve(utils_1.Modules.ORDER);
27
28
  const returnData = await orderModuleService
28
- .retrieveReturn(id, { relations: ["items", "items.reason"] })
29
+ .retrieveReturn(id, { relations: ["items", "items.reason", "shipping_methods"] })
29
30
  .catch(() => null);
30
31
  if (!returnData) {
31
32
  res.status(404).json({
@@ -38,9 +39,13 @@ async function GET(req, res) {
38
39
  .retrieveOrder(returnData.order_id, { relations: ["items"] })
39
40
  .catch(() => null);
40
41
  if (!order) {
42
+ const refund = await (0, refund_calculation_1.loadRefundCalculation)(returnData.order_id, req.scope, {
43
+ returnId: id,
44
+ });
41
45
  res.json({
42
46
  return: (0, returns_1.enrichStoreReturnWithItemReasons)({
43
47
  ...returnData,
48
+ refund,
44
49
  }),
45
50
  });
46
51
  return;
@@ -53,11 +58,16 @@ async function GET(req, res) {
53
58
  });
54
59
  return;
55
60
  }
61
+ const refund = await (0, refund_calculation_1.loadRefundCalculation)(returnData.order_id, req.scope, {
62
+ returnId: id,
63
+ });
56
64
  const payload = (0, returns_1.enrichStoreReturnWithItemReasons)({
57
65
  ...returnData,
66
+ refund,
58
67
  });
59
- if (order)
68
+ if (order) {
60
69
  payload.order = order;
70
+ }
61
71
  res.json({ return: payload });
62
72
  }
63
73
  catch (err) {
@@ -69,4 +79,4 @@ async function GET(req, res) {
69
79
  });
70
80
  }
71
81
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3JldHVybnMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLGtCQW9FQztBQXhFRCxxREFBbUQ7QUFFbkQseURBQThFO0FBRXZFLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLFdBQVcsR0FBSSxHQUFxRSxDQUFDLFlBQVksQ0FBQTtJQUN2RyxNQUFNLE9BQU8sR0FBRyxXQUFXLEVBQUUsUUFBUSxDQUFBO0lBQ3JDLE1BQU0sU0FBUyxHQUFHLFdBQVcsRUFBRSxVQUFVLENBQUE7SUFDekMsSUFBSSxDQUFDLE9BQU8sSUFBSSxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDekMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLG1EQUFtRDtZQUM1RCxJQUFJLEVBQUUsY0FBYztTQUNyQixDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBWSxDQUFBO0lBQ2xDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNSLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFzQixlQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDaEYsTUFBTSxVQUFVLEdBQUcsTUFBTSxrQkFBa0I7YUFDeEMsY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDO2FBQzVELEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLElBQUksRUFBRSxXQUFXO2FBQ2xCLENBQUMsQ0FBQTtZQUNGLE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxrQkFBa0I7YUFDbkMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2FBQzVELEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUNQLE1BQU0sRUFBRSxJQUFBLDBDQUFnQyxFQUFDO29CQUN2QyxHQUFJLFVBQWlEO2lCQUN0RCxDQUFDO2FBQ0gsQ0FBQyxDQUFBO1lBQ0YsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLEtBQWlDLENBQUE7UUFDM0QsSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDOUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSwrQ0FBK0M7Z0JBQ3hELElBQUksRUFBRSxhQUFhO2FBQ3BCLENBQUMsQ0FBQTtZQUNGLE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBQSwwQ0FBZ0MsRUFBQztZQUMvQyxHQUFJLFVBQWlEO1NBQ3RELENBQUMsQ0FBQTtRQUNGLElBQUksS0FBSztZQUFFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQUMsT0FBTyxHQUFZLEVBQUUsQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUE7UUFDcEUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxnQkFBZ0I7U0FDdkIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMifQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3JldHVybnMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLGtCQThFQztBQW5GRCxxREFBbUQ7QUFFbkQseURBQThFO0FBQzlFLCtFQUE4RTtBQUV2RSxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsTUFBTSxXQUFXLEdBQUksR0FBcUUsQ0FBQyxZQUFZLENBQUE7SUFDdkcsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLFFBQVEsQ0FBQTtJQUNyQyxNQUFNLFNBQVMsR0FBRyxXQUFXLEVBQUUsVUFBVSxDQUFBO0lBQ3pDLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxtREFBbUQ7WUFDNUQsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQVksQ0FBQTtJQUNsQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDUixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLElBQUksRUFBRSxjQUFjO1NBQ3JCLENBQUMsQ0FBQTtRQUNGLE9BQU07SUFDUixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBc0IsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hGLE1BQU0sVUFBVSxHQUFHLE1BQU0sa0JBQWtCO2FBQ3hDLGNBQWMsQ0FBQyxFQUFF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
@@ -9,6 +9,7 @@ const refund_payment_mapping_1 = require("../../../modules/refund-payment-mappin
9
9
  const payment_detail_1 = require("../../../modules/payment-detail");
10
10
  const config_1 = require("../../../config");
11
11
  const returns_1 = require("../../../helpers/returns");
12
+ const refund_calculation_1 = require("../../../helpers/refund-calculation");
12
13
  const detect_cod_1 = require("../../../helpers/detect-cod");
13
14
  const return_exchange_guard_1 = require("../../../helpers/return-exchange-guard");
14
15
  async function POST(req, res) {
@@ -178,9 +179,41 @@ async function GET(req, res) {
178
179
  take: limit,
179
180
  skip: offset,
180
181
  order: { created_at: "DESC" },
181
- relations: ["items", "items.reason"],
182
+ relations: ["items", "items.reason", "shipping_methods"],
182
183
  });
183
- const list = (returns ?? []).map((r) => (0, returns_1.enrichStoreReturnWithItemReasons)({ ...r }));
184
+ let mappingService = null;
185
+ try {
186
+ mappingService = req.scope.resolve(refund_payment_mapping_1.REFUND_PAYMENT_MAPPING_MODULE);
187
+ }
188
+ catch {
189
+ mappingService = null;
190
+ }
191
+ const refundInputs = [];
192
+ for (const r of returns ?? []) {
193
+ const raw = r;
194
+ let isRefunded = false;
195
+ if (mappingService && raw.id) {
196
+ const mapping = await mappingService.getByReturnId(raw.id).catch(() => null);
197
+ isRefunded = Boolean(mapping?.is_refunded);
198
+ }
199
+ refundInputs.push({
200
+ id: raw.id,
201
+ order_id: raw.order_id,
202
+ refund_amount: raw.refund_amount,
203
+ items: raw.items,
204
+ shipping_methods: raw.shipping_methods,
205
+ is_refunded: isRefunded,
206
+ });
207
+ }
208
+ const refundOrderIds = refundInputs
209
+ .map((row) => row.order_id)
210
+ .filter((id) => typeof id === "string" && id.length > 0);
211
+ const orderMerchandise = await (0, refund_calculation_1.loadOrderMerchandiseByIds)(refundOrderIds, req.scope);
212
+ const refundByReturnId = await (0, refund_calculation_1.loadRefundCalculationsForReturns)(refundInputs, req.scope, orderMerchandise);
213
+ const list = (returns ?? []).map((r) => (0, returns_1.enrichStoreReturnWithItemReasons)({
214
+ ...r,
215
+ refund: refundByReturnId.get(r.id) ?? null,
216
+ }));
184
217
  res.json({ returns: list, count: count ?? 0, limit, offset });
185
218
  }
186
219
  catch (err) {
@@ -192,4 +225,4 @@ async function GET(req, res) {
192
225
  });
193
226
  }
194
227
  }
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3JldHVybnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0QkEsb0JBMklDO0FBRUQsa0JBNERDO0FBcE9ELHFEQUEyRTtBQUMzRSxxREFBOEU7QUFFOUUsNkNBQXNEO0FBQ3RELG9GQUF1RjtBQUV2RixvRUFBdUU7QUFFdkUsNENBQStEO0FBRS9ELHNEQUFzRztBQUN0Ryw0REFBNEQ7QUFDNUQsa0ZBSytDO0FBVXhDLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUNoRSxNQUFNLFdBQVcsR0FBSSxHQUFxRSxDQUFDLFlBQVksQ0FBQTtJQUN2RyxNQUFNLE9BQU8sR0FBRyxXQUFXLEVBQUUsUUFBUSxDQUFBO0lBQ3JDLE1BQU0sU0FBUyxHQUFHLFdBQVcsRUFBRSxVQUFVLENBQUE7SUFDekMsSUFBSSxDQUFDLE9BQU8sSUFBSSxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDekMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLG1EQUFtRDtZQUM1RCxJQUFJLEVBQUUsY0FBYztTQUNyQixDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxNQUFNLFdBQVcsR0FBRyxvQ0FBdUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9ELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDbkMsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFBO0lBRTdCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFhLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVFLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSwyQkFBYyxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFFN0Qsa0ZBQWtGO0lBQ2xGLElBQUksQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFvQixpQ0FBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNsRyxNQUFNLGFBQWEsR0FBRyxJQUFBLHNDQUE2QixFQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxtQ0FBeUIsRUFDbEQsSUFBSSxDQUFDLFFBQVEsRUFDYixhQUFhLENBQUMsaUJBQWlCLEVBQy9CLEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQTtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTztnQkFDN0IsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZO2dCQUN2QyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7YUFDdEMsQ0FBQyxDQUFBO1lBQ0YsT0FBTTtRQUNSLENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztRQUNwQixLQUFLLENBQUMsQ0FBQTtJQUNSLENBQUM7SUFFRCxxRUFBcUU7SUFDckUsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQTZCLHNDQUFxQixDQUFDLENBQUE7UUFDakcsTUFBTSxVQUFVLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSx5RUFBeUU7Z0JBQ2xGLElBQUksRUFBRSxjQUFjO2FBQ3JCLENBQUMsQ0FBQTtZQUNGLE9BQU07UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSwyQ0FBbUIsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsb0RBQTRCLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFGLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFBLDJDQUFtQixFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25ELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztZQUM1QixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7U0FDdkIsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQTtJQUNoRCxNQUFNLEtBQUssR0FBRztRQUNaLEdBQUcsSUFBSTtRQUNQLFVBQVUsRUFBRSxPQUFPO1FBQ25CLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDcEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ3BCLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxJQUFJLFNBQVM7WUFDbkMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksU0FBUztTQUMxQixDQUFDLENBQUM7UUFDSCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUUsV0FBVztRQUM3RCxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDaEQsQ0FBQTtJQUVELElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLElBQUEsaURBQW9DLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ2hELElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQTtRQUMxQixNQUFNLFFBQVEsR0FBSSxNQUEwQixFQUFFLEVBQUUsQ0FBQTtRQUNoRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBc0IsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2hGLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztnQkFDdkQ7b0JBQ0UsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRTtvQkFDMUIsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBa0U7aUJBQzlGO2FBQ0YsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxPQUFPO2dCQUFFLGFBQWEsR0FBRyxPQUFPLENBQUE7WUFFcEMsTUFBTSxJQUFBLGdEQUF3QixFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUVsRSxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQW9DLHNEQUE2QixDQUFDLENBQUE7Z0JBQzFHLDZGQUE2RjtnQkFDN0YsTUFBTSxjQUFjLENBQUMsYUFBYSxDQUFDO29CQUNqQyxTQUFTLEVBQUUsUUFBUTtvQkFDbkIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxTQUFTLENBQUM7aUJBQ3RFLENBQUMsQ0FBQTtZQUNKLENBQUM7WUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO2dCQUNwQixNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUE7Z0JBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ3pFLEtBQUssQ0FBQyxDQUFBO2dCQUNSLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUEsMkNBQW1CLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckQsQ0FBQztRQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUFDLE9BQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFBLDJDQUFtQixFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25ELE1BQU0sT0FBTyxHQUFHLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQTtRQUNwRSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QixDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLFdBQVcsR0FBSSxHQUFxRSxDQUFDLFlBQVksQ0FBQTtJQUN2RyxNQUFNLE9BQU8sR0FBRyxXQUFXLEVBQUUsUUFBUSxDQUFBO0lBQ3JDLE1BQU0sU0FBUyxHQUFHLFdBQVcsRUFBRSxVQUFVLENBQUE7SUFDekMsSUFBSSxDQUFDLE9BQU8sSUFBSSxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDekMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLG1EQUFtRDtZQUM1RCxJQUFJLEVBQUUsY0FBYztTQUNyQixDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXNCLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQThCLENBQUE7UUFDeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDMUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRTVDLElBQUksUUFBa0IsQ0FBQTtRQUN0QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osTUFBTSxLQUFLLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQy9FLElBQUksQ0FBQyxLQUFLLElBQUssS0FBa0MsQ0FBQyxXQUFXLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQzFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7Z0JBQ2xELE9BQU07WUFDUixDQUFDO1lBQ0QsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FDMUQsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQ3hCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUM5QixDQUFBO1lBQ0QsUUFBUSxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDM0MsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtZQUNsRCxPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FDbkUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUErRCxFQUNuRjtZQUNFLElBQUksRUFBRSxLQUFLO1lBQ1gsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO1lBQzdCLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUM7U0FDckMsQ0FDRixDQUFBO1FBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDckMsSUFBQSwwQ0FBZ0MsRUFBQyxFQUFFLEdBQUksQ0FBbUQsRUFBRSxDQUFDLENBQzlGLENBQUE7UUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBQUMsT0FBTyxHQUFZLEVBQUUsQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUE7UUFDcEUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLHdCQUF3QjtZQUNqQyxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxnQkFBZ0I7U0FDdkIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMifQ==
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3JldHVybnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQ0Esb0JBMklDO0FBRUQsa0JBaUdDO0FBOVFELHFEQUEyRTtBQUMzRSxxREFBOEU7QUFFOUUsNkNBQXNEO0FBQ3RELG9GQUF1RjtBQUV2RixvRUFBdUU7QUFFdkUsNENBQStEO0FBRS9ELHNEQUFzRztBQUN0Ryw0RUFJNEM7QUFDNUMsNERBQTREO0FBQzVELGtGQUsrQztBQVV4QyxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDaEUsTUFBTSxXQUFXLEdBQUksR0FBcUUsQ0FBQyxZQUFZLENBQUE7SUFDdkcsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLFFBQVEsQ0FBQTtJQUNyQyxNQUFNLFNBQVMsR0FBRyxXQUFXLEVBQUUsVUFBVSxDQUFBO0lBQ3pDLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxtREFBbUQ7WUFDNUQsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCwrREFBK0Q7SUFDL0QsTUFBTSxXQUFXLEdBQUcsb0NBQXVCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ25DLElBQUksRUFBRSxjQUFj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
@@ -1,13 +1,51 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCodProviderId = isCodProviderId;
4
+ exports.formatPaymentProviderLabel = formatPaymentProviderLabel;
5
+ exports.loadOrderPaymentMethod = loadOrderPaymentMethod;
3
6
  exports.detectCodOrder = detectCodOrder;
4
7
  /**
5
- * Returns true if the order was placed using a cash-on-delivery payment provider.
6
- *
7
- * provider_id lives on the `payment` table. We first fetch the order's
8
- * payment_collection IDs, then query the payment entity directly.
8
+ * True when the Medusa payment provider is cash-on-delivery.
9
9
  */
10
- async function detectCodOrder(orderId, query) {
10
+ function isCodProviderId(providerId) {
11
+ const id = providerId.toLowerCase();
12
+ return id === "pp_system_default" || id.includes("cod") || id.includes("cash");
13
+ }
14
+ /**
15
+ * Human-readable label for a Medusa payment provider_id (e.g. pp_razorpay_razorpay).
16
+ */
17
+ function formatPaymentProviderLabel(providerId) {
18
+ const raw = providerId.trim();
19
+ if (!raw) {
20
+ return "Unknown";
21
+ }
22
+ if (isCodProviderId(raw)) {
23
+ return "Cash on Delivery";
24
+ }
25
+ const withoutPrefix = raw.replace(/^pp_/i, "");
26
+ const parts = withoutPrefix.split(/[_-]+/).filter(Boolean);
27
+ const unique = [];
28
+ for (const part of parts) {
29
+ const lower = part.toLowerCase();
30
+ if (!unique.includes(lower)) {
31
+ unique.push(lower);
32
+ }
33
+ }
34
+ const pretty = unique
35
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
36
+ .join(" ");
37
+ if (pretty.toLowerCase() === "paypal") {
38
+ return "PayPal";
39
+ }
40
+ return pretty || raw;
41
+ }
42
+ function toProviderRows(rows) {
43
+ return Array.isArray(rows) ? rows : [];
44
+ }
45
+ /**
46
+ * Load the checkout payment used on an order (payment row, then payment_session).
47
+ */
48
+ async function loadOrderPaymentMethod(orderId, query) {
11
49
  try {
12
50
  const { data: orderData } = await query.graph({
13
51
  entity: "order",
@@ -16,20 +54,50 @@ async function detectCodOrder(orderId, query) {
16
54
  });
17
55
  const collections = (orderData?.[0]?.payment_collections ?? []);
18
56
  const collectionIds = collections.map((pc) => pc.id).filter(Boolean);
19
- if (!collectionIds.length)
20
- return false;
57
+ if (!collectionIds.length) {
58
+ return null;
59
+ }
21
60
  const { data: payments } = await query.graph({
22
61
  entity: "payment",
23
62
  fields: ["id", "provider_id"],
24
63
  filters: { payment_collection_id: collectionIds },
25
64
  });
26
- return payments.some((p) => {
27
- const id = (p.provider_id ?? "").toLowerCase();
28
- return id === "pp_system_default" || id.includes("cod") || id.includes("cash");
29
- });
65
+ let rows = toProviderRows(payments).filter((row) => (row.provider_id ?? "").trim().length > 0);
66
+ if (!rows.length) {
67
+ const { data: sessions } = await query.graph({
68
+ entity: "payment_session",
69
+ fields: ["id", "provider_id"],
70
+ filters: { payment_collection_id: collectionIds },
71
+ });
72
+ rows = toProviderRows(sessions).filter((row) => (row.provider_id ?? "").trim().length > 0);
73
+ }
74
+ if (!rows.length) {
75
+ return null;
76
+ }
77
+ const primary = rows.find((row) => !isCodProviderId(row.provider_id ?? "")) ?? rows[0];
78
+ const providerId = (primary?.provider_id ?? "").trim();
79
+ if (!providerId) {
80
+ return null;
81
+ }
82
+ return {
83
+ payment_id: typeof primary?.id === "string" ? primary.id : null,
84
+ provider_id: providerId,
85
+ label: formatPaymentProviderLabel(providerId),
86
+ is_cod: isCodProviderId(providerId),
87
+ };
30
88
  }
31
89
  catch {
32
- return false;
90
+ return null;
33
91
  }
34
92
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0LWNvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oZWxwZXJzL2RldGVjdC1jb2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSx3Q0F5QkM7QUEvQkQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsY0FBYyxDQUFDLE9BQWUsRUFBRSxLQUFpQjtJQUNyRSxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUM1QyxNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQztZQUN4QyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO1NBQ3pCLENBQUMsQ0FBQTtRQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUEwQixDQUFBO1FBQ3hGLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFFdkMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQztZQUM3QixPQUFPLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUU7U0FDbEQsQ0FBQyxDQUFBO1FBRUYsT0FBUSxRQUE0QyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzlELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUM5QyxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDaEYsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0FBQ0gsQ0FBQyJ9
93
+ /**
94
+ * Returns true if the order was placed using a cash-on-delivery payment provider.
95
+ *
96
+ * provider_id lives on the `payment` table. We first fetch the order's
97
+ * payment_collection IDs, then query the payment entity directly.
98
+ */
99
+ async function detectCodOrder(orderId, query) {
100
+ const method = await loadOrderPaymentMethod(orderId, query);
101
+ return method?.is_cod ?? false;
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0LWNvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oZWxwZXJzL2RldGVjdC1jb2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1QkEsMENBR0M7QUFLRCxnRUF3QkM7QUFTRCx3REFzREM7QUFRRCx3Q0FHQztBQTdHRDs7R0FFRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxVQUFrQjtJQUNoRCxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDbkMsT0FBTyxFQUFFLEtBQUssbUJBQW1CLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ2hGLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDBCQUEwQixDQUFDLFVBQWtCO0lBQzNELE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDVCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLGtCQUFrQixDQUFBO0lBQzNCLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUE7SUFDM0IsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FB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
@@ -18,4 +18,6 @@ __exportStar(require("./swaps"), exports);
18
18
  __exportStar(require("./order-exchange-data"), exports);
19
19
  __exportStar(require("./return-exchange-guard"), exports);
20
20
  __exportStar(require("./order-line-presentation"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVCO0FBQ3ZCLHdEQUFxQztBQUNyQywwREFBdUM7QUFDdkMsNERBQXlDIn0=
21
+ __exportStar(require("./refund-calculation"), exports);
22
+ __exportStar(require("./refund-receive-guard"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVCO0FBQ3ZCLHdEQUFxQztBQUNyQywwREFBdUM7QUFDdkMsNERBQXlDO0FBQ3pDLHVEQUFvQztBQUNwQyx5REFBc0MifQ==
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REFUND_BREAKDOWN_TOLERANCE = void 0;
4
+ exports.toRefundNumber = toRefundNumber;
5
+ exports.sumReturnedMerchandise = sumReturnedMerchandise;
6
+ exports.sumReturnCharge = sumReturnCharge;
7
+ exports.resolveDestinationLabel = resolveDestinationLabel;
8
+ exports.buildRefundCalculation = buildRefundCalculation;
9
+ exports.sumProcessedRefundsForOrders = sumProcessedRefundsForOrders;
10
+ exports.loadRefundCalculation = loadRefundCalculation;
11
+ exports.loadRefundCalculationsForReturns = loadRefundCalculationsForReturns;
12
+ exports.loadOrderMerchandiseByIds = loadOrderMerchandiseByIds;
13
+ const utils_1 = require("@medusajs/framework/utils");
14
+ const refund_payment_mapping_1 = require("../modules/refund-payment-mapping");
15
+ exports.REFUND_BREAKDOWN_TOLERANCE = 0.01;
16
+ /**
17
+ * Normalize Medusa BigNumber-like values to a major-unit number.
18
+ */
19
+ function toRefundNumber(value) {
20
+ if (typeof value === "number" && !Number.isNaN(value)) {
21
+ return value;
22
+ }
23
+ if (typeof value === "string") {
24
+ const n = Number(value);
25
+ return Number.isNaN(n) ? 0 : n;
26
+ }
27
+ if (value && typeof value === "object") {
28
+ const o = value;
29
+ if (typeof o.numeric === "number") {
30
+ return o.numeric;
31
+ }
32
+ if (typeof o.value === "number") {
33
+ return o.value;
34
+ }
35
+ if (typeof o.value === "string") {
36
+ const n = Number(o.value);
37
+ return Number.isNaN(n) ? 0 : n;
38
+ }
39
+ }
40
+ return 0;
41
+ }
42
+ function sumReturnedMerchandise(returnItems, orderItems) {
43
+ let sum = 0;
44
+ for (const returnItem of returnItems) {
45
+ const itemId = returnItem.item_id ?? returnItem.id;
46
+ if (!itemId) {
47
+ continue;
48
+ }
49
+ const orderItem = orderItems.find((item) => item.id === itemId);
50
+ if (!orderItem) {
51
+ continue;
52
+ }
53
+ sum += toRefundNumber(orderItem.unit_price) * toRefundNumber(returnItem.quantity);
54
+ }
55
+ return sum;
56
+ }
57
+ function sumReturnCharge(shippingMethods) {
58
+ return shippingMethods.reduce((sum, method) => {
59
+ const amount = toRefundNumber(method.total ?? method.amount);
60
+ return sum + Math.max(0, amount);
61
+ }, 0);
62
+ }
63
+ function resolveDestinationLabel(input) {
64
+ const type = (input.payment_type ?? "").trim().toLowerCase();
65
+ if (type === "upi") {
66
+ return "UPI";
67
+ }
68
+ if (type === "bank") {
69
+ return "bank account";
70
+ }
71
+ if (type === "card") {
72
+ return "card";
73
+ }
74
+ if (input.is_cod) {
75
+ return null;
76
+ }
77
+ const original = (input.original_method_label ?? "").trim();
78
+ return original || "original payment method";
79
+ }
80
+ /**
81
+ * Build the refund breakdown. `final_refund_amount` is the processed refund
82
+ * (or COD/offline `return.refund_amount` after mark-refunded). Never derived
83
+ * from product_amount - return_charge.
84
+ */
85
+ function buildRefundCalculation(input) {
86
+ const product_amount = Math.max(0, toRefundNumber(input.product_amount));
87
+ const return_charge = Math.max(0, toRefundNumber(input.return_charge));
88
+ const expected_net_amount = Math.max(0, product_amount - return_charge);
89
+ const currency_code = typeof input.currency_code === "string" && input.currency_code.trim()
90
+ ? input.currency_code.trim().toLowerCase()
91
+ : "inr";
92
+ let final_refund_amount = null;
93
+ if (input.processed_refund_amount !== null &&
94
+ input.processed_refund_amount !== undefined &&
95
+ !Number.isNaN(Number(input.processed_refund_amount))) {
96
+ final_refund_amount = toRefundNumber(input.processed_refund_amount);
97
+ }
98
+ else if (input.is_offline_refunded &&
99
+ input.offline_refund_amount !== null &&
100
+ input.offline_refund_amount !== undefined) {
101
+ final_refund_amount = toRefundNumber(input.offline_refund_amount);
102
+ }
103
+ const is_processed = final_refund_amount !== null;
104
+ const breakdown_matches = is_processed
105
+ ? Math.abs(expected_net_amount - (final_refund_amount ?? 0)) <= exports.REFUND_BREAKDOWN_TOLERANCE
106
+ : null;
107
+ return {
108
+ product_amount,
109
+ return_charge,
110
+ expected_net_amount,
111
+ final_refund_amount,
112
+ currency_code,
113
+ is_processed,
114
+ breakdown_matches,
115
+ destination_label: input.destination_label ?? null,
116
+ };
117
+ }
118
+ function extractPaymentIds(order) {
119
+ const collections = order?.payment_collections;
120
+ return (collections?.flatMap((pc) => (pc.payments || []).map((p) => p.id).filter((id) => !!id)) ?? []);
121
+ }
122
+ async function sumProcessedRefundsForOrders(orderIds, container) {
123
+ const totals = new Map();
124
+ const uniqueIds = [...new Set(orderIds.filter(Boolean))];
125
+ if (uniqueIds.length === 0) {
126
+ return totals;
127
+ }
128
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
129
+ const paymentModule = container.resolve(utils_1.Modules.PAYMENT);
130
+ const { data: orders = [] } = await query
131
+ .graph({
132
+ entity: "order",
133
+ fields: ["id", "payment_collections.payments.id"],
134
+ filters: { id: uniqueIds },
135
+ })
136
+ .catch(() => ({ data: [] }));
137
+ const paymentToOrder = new Map();
138
+ for (const order of orders) {
139
+ const orderId = typeof order.id === "string" ? order.id : "";
140
+ if (!orderId) {
141
+ continue;
142
+ }
143
+ for (const paymentId of extractPaymentIds(order)) {
144
+ paymentToOrder.set(paymentId, orderId);
145
+ }
146
+ }
147
+ const paymentIds = [...paymentToOrder.keys()];
148
+ if (paymentIds.length === 0) {
149
+ return totals;
150
+ }
151
+ const refunds = await paymentModule
152
+ .listRefunds({ payment_id: paymentIds }, { take: 1000 })
153
+ .catch(() => []);
154
+ for (const refund of Array.isArray(refunds) ? refunds : []) {
155
+ const paymentId = refund.payment_id;
156
+ if (!paymentId) {
157
+ continue;
158
+ }
159
+ const orderId = paymentToOrder.get(paymentId);
160
+ if (!orderId) {
161
+ continue;
162
+ }
163
+ totals.set(orderId, (totals.get(orderId) ?? 0) + toRefundNumber(refund.amount));
164
+ }
165
+ return totals;
166
+ }
167
+ /**
168
+ * Load refund calculation for an order (latest return, or a specific returnId).
169
+ */
170
+ async function loadRefundCalculation(orderId, container, options = {}) {
171
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
172
+ const { data: returns = [] } = await query
173
+ .graph({
174
+ entity: "return",
175
+ fields: [
176
+ "id",
177
+ "order_id",
178
+ "refund_amount",
179
+ "status",
180
+ "items.*",
181
+ "items.item_id",
182
+ "items.quantity",
183
+ "shipping_methods.*",
184
+ "shipping_methods.amount",
185
+ "shipping_methods.total",
186
+ ],
187
+ filters: options.returnId
188
+ ? { id: options.returnId }
189
+ : { order_id: orderId },
190
+ })
191
+ .catch(() => ({ data: [] }));
192
+ const returnRow = (Array.isArray(returns) ? returns[0] : null);
193
+ if (!returnRow?.id) {
194
+ return null;
195
+ }
196
+ const { data: orders = [] } = await query
197
+ .graph({
198
+ entity: "order",
199
+ fields: ["id", "currency_code", "items.id", "items.unit_price"],
200
+ filters: { id: orderId },
201
+ })
202
+ .catch(() => ({ data: [] }));
203
+ const order = (Array.isArray(orders) ? orders[0] : null);
204
+ const processedByOrder = await sumProcessedRefundsForOrders([orderId], container);
205
+ const processed = processedByOrder.get(orderId);
206
+ let isOfflineRefunded = false;
207
+ try {
208
+ const mappingService = container.resolve(refund_payment_mapping_1.REFUND_PAYMENT_MAPPING_MODULE);
209
+ const mapping = await mappingService.getByReturnId(returnRow.id);
210
+ isOfflineRefunded = Boolean(mapping?.is_refunded);
211
+ }
212
+ catch {
213
+ isOfflineRefunded = false;
214
+ }
215
+ return buildRefundCalculation({
216
+ product_amount: sumReturnedMerchandise(returnRow.items ?? [], order?.items ?? []),
217
+ return_charge: sumReturnCharge(returnRow.shipping_methods ?? []),
218
+ processed_refund_amount: processed !== undefined ? processed : null,
219
+ offline_refund_amount: returnRow.refund_amount != null ? toRefundNumber(returnRow.refund_amount) : null,
220
+ is_offline_refunded: isOfflineRefunded,
221
+ currency_code: order?.currency_code,
222
+ destination_label: options.destinationLabel ?? null,
223
+ });
224
+ }
225
+ /**
226
+ * Batch-build refund calculations for a page of returns.
227
+ */
228
+ async function loadRefundCalculationsForReturns(returns, container, orderItemsByOrderId) {
229
+ const result = new Map();
230
+ const orderIds = returns
231
+ .map((row) => row.order_id)
232
+ .filter((id) => typeof id === "string" && id.length > 0);
233
+ const processedByOrder = await sumProcessedRefundsForOrders(orderIds, container);
234
+ for (const row of returns) {
235
+ const orderId = row.order_id ?? "";
236
+ const order = orderItemsByOrderId.get(orderId);
237
+ const processed = orderId ? processedByOrder.get(orderId) : undefined;
238
+ result.set(row.id, buildRefundCalculation({
239
+ product_amount: sumReturnedMerchandise(row.items ?? [], order?.items ?? []),
240
+ return_charge: sumReturnCharge(row.shipping_methods ?? []),
241
+ processed_refund_amount: processed !== undefined ? processed : null,
242
+ offline_refund_amount: row.refund_amount != null ? toRefundNumber(row.refund_amount) : null,
243
+ is_offline_refunded: Boolean(row.is_refunded),
244
+ currency_code: order?.currency_code,
245
+ }));
246
+ }
247
+ return result;
248
+ }
249
+ async function loadOrderMerchandiseByIds(orderIds, container) {
250
+ const map = new Map();
251
+ const uniqueIds = [...new Set(orderIds.filter(Boolean))];
252
+ if (uniqueIds.length === 0) {
253
+ return map;
254
+ }
255
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
256
+ const { data: orders = [] } = await query
257
+ .graph({
258
+ entity: "order",
259
+ fields: ["id", "currency_code", "items.id", "items.unit_price"],
260
+ filters: { id: uniqueIds },
261
+ })
262
+ .catch(() => ({ data: [] }));
263
+ for (const order of orders) {
264
+ const id = typeof order.id === "string" ? order.id : "";
265
+ if (!id) {
266
+ continue;
267
+ }
268
+ map.set(id, {
269
+ currency_code: typeof order.currency_code === "string" ? order.currency_code : undefined,
270
+ items: Array.isArray(order.items) ? order.items : [],
271
+ });
272
+ }
273
+ return map;
274
+ }
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kLWNhbGN1bGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hlbHBlcnMvcmVmdW5kLWNhbGN1bGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQStDQSx3Q0FzQkM7QUFFRCx3REFpQkM7QUFFRCwwQ0FLQztBQUVELDBEQW9CQztBQU9ELHdEQXlDQztBQThCRCxvRUFzREM7QUFrQkQsc0RBcUVDO0FBY0QsNEVBNkJDO0FBRUQsOERBZ0NDO0FBNVpELHFEQUE4RTtBQUM5RSw4RUFBaUY7QUFHcEUsUUFBQSwwQkFBMEIsR0FBRyxJQUFJLENBQUE7QUF1QzlDOztHQUVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLEtBQWM7SUFDM0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdkIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLEdBQUcsS0FBc0QsQ0FBQTtRQUNoRSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFDbEIsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxDQUFDLEtBQUss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
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.refundBlockedByReturnMessage = refundBlockedByReturnMessage;
4
+ exports.getUnreceivedReturnBlockingRefund = getUnreceivedReturnBlockingRefund;
5
+ exports.assertReturnReceivedForRefund = assertReturnReceivedForRefund;
6
+ exports.canProcessRefundForReturn = canProcessRefundForReturn;
7
+ const utils_1 = require("@medusajs/framework/utils");
8
+ const return_exchange_guard_1 = require("./return-exchange-guard");
9
+ /**
10
+ * Message when a refund is attempted before the return is fully received.
11
+ */
12
+ function refundBlockedByReturnMessage(status) {
13
+ return `Cannot process a refund while the return is ${status}. Receive the returned items first.`;
14
+ }
15
+ /**
16
+ * First unreceived return that must block a refund (`open` | `requested` | `partially_received`).
17
+ * Exchange-linked returns are included — refunds are blocked until items are received.
18
+ */
19
+ function getUnreceivedReturnBlockingRefund(returns) {
20
+ for (const ret of returns) {
21
+ if ((0, return_exchange_guard_1.isActiveReturnStatus)(ret.status)) {
22
+ return ret;
23
+ }
24
+ }
25
+ return null;
26
+ }
27
+ /**
28
+ * Throw NOT_ALLOWED when this return is still unreceived.
29
+ * No return / already received / canceled → allow.
30
+ */
31
+ function assertReturnReceivedForRefund(ret) {
32
+ if (!ret) {
33
+ return;
34
+ }
35
+ if (!(0, return_exchange_guard_1.isActiveReturnStatus)(ret.status)) {
36
+ return;
37
+ }
38
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, refundBlockedByReturnMessage(ret.status ?? "requested"));
39
+ }
40
+ /**
41
+ * Admin "Mark refunded" is allowed only after items are received and the mapping is not already refunded.
42
+ */
43
+ function canProcessRefundForReturn(input) {
44
+ return (input.status === "received" &&
45
+ Boolean(input.has_mapping) &&
46
+ !input.is_refunded);
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kLXJlY2VpdmUtZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9yZWZ1bmQtcmVjZWl2ZS1ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLG9FQUVDO0FBTUQsOEVBU0M7QUFNRCxzRUFhQztBQUtELDhEQVVDO0FBOURELHFEQUF1RDtBQUN2RCxtRUFBOEQ7QUFPOUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxNQUFjO0lBQ3pELE9BQU8sK0NBQStDLE1BQU0scUNBQXFDLENBQUE7QUFDbkcsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGlDQUFpQyxDQUMvQyxPQUErQjtJQUUvQixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzFCLElBQUksSUFBQSw0Q0FBb0IsRUFBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsNkJBQTZCLENBQzNDLEdBQTRDO0lBRTVDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU07SUFDUixDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQUEsNENBQW9CLEVBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTTtJQUNSLENBQUM7SUFDRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3Qiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxDQUN4RCxDQUFBO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IseUJBQXlCLENBQUMsS0FJekM7SUFDQyxPQUFPLENBQ0wsS0FBSyxDQUFDLE1BQU0sS0FBSyxVQUFVO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQzFCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDbkIsQ0FBQTtBQUNILENBQUMifQ==