medusa-pos-plugin 0.0.30 → 0.0.33

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.POST = void 0;
4
4
  const pos_draft_edit_1 = require("../../../../../../utils/pos-draft-edit");
5
5
  const pos_auto_promotions_1 = require("../../../../../../utils/pos-auto-promotions");
6
+ const pos_draft_finish_1 = require("../../../../../../utils/pos-draft-finish");
6
7
  const pos_draft_lock_1 = require("../../../../../../utils/pos-draft-lock");
7
8
  /**
8
9
  * POST /admin/pos/draft-orders/:id/confirm-lite
@@ -27,17 +28,27 @@ async function handlePost(req, res) {
27
28
  // edit fails Medusa's active-order-change check; /items already confirmed
28
29
  // before applyAutoPromotions.
29
30
  const confirmedItems = await (0, pos_draft_edit_1.confirmEditLite)(req.scope, draftOrderId, confirmedBy);
30
- const autoPromoRes = await (0, pos_auto_promotions_1.applyAutoPromotions)(req.scope, draftOrderId, confirmedBy);
31
- const draft_order = await (0, pos_draft_edit_1.retrievePosCart)(req.scope, draftOrderId);
31
+ const timings = {};
32
+ const { draft_order, autoPromoRes, manualDiscountRes } = await (0, pos_draft_finish_1.finishPosDraftReprice)({
33
+ scope: req.scope,
34
+ draftOrderId,
35
+ confirmedBy,
36
+ actorId,
37
+ timings,
38
+ skipConfirm: true,
39
+ });
32
40
  const ms = Math.round(performance.now() - t0);
41
+ timings.confirm_lite = ms;
33
42
  console.log(`[pos confirm-lite] plugin=${pos_auto_promotions_1.POS_PLUGIN_VERSION} draft=${draftOrderId} confirmed_items=${confirmedItems ? 1 : 0} ms=${ms} auto_promos=${JSON.stringify(autoPromoRes)} applied=${(autoPromoRes.applied || []).join(",")}`);
34
43
  res.status(200).json({
35
44
  id: draftOrderId,
36
45
  confirmed: true,
37
46
  draft_order: draft_order || { id: draftOrderId },
38
47
  _pos_auto_promos: autoPromoRes,
48
+ _pos_manual_discount: manualDiscountRes,
39
49
  _pos_plugin_version: pos_auto_promotions_1.POS_PLUGIN_VERSION,
40
- _pos_timings_ms: { confirm_lite: ms },
50
+ _pos_timings_ms: timings,
51
+ _pos_skip_idle_confirm: true,
41
52
  });
42
53
  }
43
54
  catch (error) {
@@ -48,4 +59,4 @@ async function handlePost(req, res) {
48
59
  }
49
60
  }
50
61
  exports.POST = (0, pos_draft_lock_1.withPosDraftLock)(handlePost);
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9kcmFmdC1vcmRlcnMvW2lkXS9jb25maXJtLWxpdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkVBRytDO0FBQy9DLHFGQUdvRDtBQUNwRCwyRUFBeUU7QUFFekU7Ozs7OztHQU1HO0FBQ0gsS0FBSyxVQUFVLFVBQVUsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO0lBRWxDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUE7UUFDL0QsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FDVixHQUFXLENBQUMsWUFBWSxFQUFFLFFBQVE7UUFDbEMsR0FBVyxDQUFDLElBQUksRUFBRSxRQUFRO1FBQzNCLElBQUksQ0FBQTtJQUNOLE1BQU0sV0FBVyxHQUFHLE9BQU8sSUFBSSxRQUFRLENBQUE7SUFFdkMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBRTVCLHdFQUF3RTtRQUN4RSwwRUFBMEU7UUFDMUUsOEJBQThCO1FBQzlCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxnQ0FBZSxFQUMxQyxHQUFHLENBQUMsS0FBSyxFQUNULFlBQVksRUFDWixXQUFXLENBQ1osQ0FBQTtRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSx5Q0FBbUIsRUFDNUMsR0FBRyxDQUFDLEtBQUssRUFDVCxZQUFZLEVBQ1osV0FBVyxDQUNaLENBQUE7UUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsZ0NBQWUsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ2xFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO1FBQzdDLE9BQU8sQ0FBQyxHQUFHLENBQ1QsNkJBQTZCLHdDQUFrQixVQUFVLFlBQVksb0JBQW9CLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ3pOLENBQUE7UUFDRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixFQUFFLEVBQUUsWUFBWTtZQUNoQixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxXQUFXLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFO1lBQ2hELGdCQUFnQixFQUFFLFlBQVk7WUFDOUIsbUJBQW1CLEVBQUUsd0NBQWtCO1lBQ3ZDLGVBQWUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7U0FDdEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0RCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksOEJBQThCLENBQUM7U0FDbEUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLElBQUksR0FBRyxJQUFBLGlDQUFnQixFQUFDLFVBQVUsQ0FBQyxDQUFBIn0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9kcmFmdC1vcmRlcnMvW2lkXS9jb25maXJtLWxpdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkVBQXdFO0FBQ3hFLHFGQUFnRjtBQUNoRiwrRUFBZ0Y7QUFDaEYsMkVBQXlFO0FBRXpFOzs7Ozs7R0FNRztBQUNILEtBQUssVUFBVSxVQUFVLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtJQUVsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFBO1FBQy9ELE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQ1YsR0FBVyxDQUFDLFlBQVksRUFBRSxRQUFRO1FBQ2xDLEdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUTtRQUMzQixJQUFJLENBQUE7SUFDTixNQUFNLFdBQVcsR0FBRyxPQUFPLElBQUksUUFBUSxDQUFBO0lBRXZDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUU1Qix3RUFBd0U7UUFDeEUsMEVBQTBFO1FBQzFFLDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUEsZ0NBQWUsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUVsRixNQUFNLE9BQU8sR0FBMkIsRUFBRSxDQUFBO1FBQzFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsTUFBTSxJQUFBLHdDQUFxQixFQUFDO1lBQ25GLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixZQUFZO1lBQ1osV0FBVztZQUNYLE9BQU87WUFDUCxPQUFPO1lBQ1AsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7UUFDN0MsT0FBTyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUE7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FDVCw2QkFBNkIsd0NBQWtCLFVBQVUsWUFBWSxvQkFBb0IsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDek4sQ0FBQTtRQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLFdBQVcsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUU7WUFDaEQsZ0JBQWdCLEVBQUUsWUFBWTtZQUM5QixvQkFBb0IsRUFBRSxpQkFBaUI7WUFDdkMsbUJBQW1CLEVBQUUsd0NBQWtCO1lBQ3ZDLGVBQWUsRUFBRSxPQUFPO1lBQ3hCLHNCQUFzQixFQUFFLElBQUk7U0FDN0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0RCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksOEJBQThCLENBQUM7U0FDbEUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLElBQUksR0FBRyxJQUFBLGlDQUFnQixFQUFDLFVBQVUsQ0FBQyxDQUFBIn0=
@@ -5,11 +5,11 @@ exports.pickVariantListPrice = pickVariantListPrice;
5
5
  const utils_1 = require("@medusajs/framework/utils");
6
6
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
7
  const pos_draft_edit_1 = require("../../../../../../utils/pos-draft-edit");
8
- const pos_auto_promotions_1 = require("../../../../../../utils/pos-auto-promotions");
8
+ const pos_draft_finish_1 = require("../../../../../../utils/pos-draft-finish");
9
9
  const pos_inventory_1 = require("../../../../../../utils/pos-inventory");
10
10
  const pos_draft_lock_1 = require("../../../../../../utils/pos-draft-lock");
11
- var pos_auto_promotions_2 = require("../../../../../../utils/pos-auto-promotions");
12
- Object.defineProperty(exports, "applyAutoPromotions", { enumerable: true, get: function () { return pos_auto_promotions_2.applyAutoPromotions; } });
11
+ var pos_auto_promotions_1 = require("../../../../../../utils/pos-auto-promotions");
12
+ Object.defineProperty(exports, "applyAutoPromotions", { enumerable: true, get: function () { return pos_auto_promotions_1.applyAutoPromotions; } });
13
13
  const readMeta = (metadata) => metadata && typeof metadata === "object" ? metadata : {};
14
14
  /** Same choice the POS catalog makes: price in the draft currency, else the first price. */
15
15
  function pickVariantListPrice(prices, currencyCode) {
@@ -363,20 +363,14 @@ async function handlePost(req, res) {
363
363
  });
364
364
  return;
365
365
  }
366
- // 4. Lite confirm item addition (default / old POS)
367
- await (0, pos_draft_edit_1.timed)("confirm_lite", timings, () => (0, pos_draft_edit_1.confirmEditLite)(req.scope, draftOrderId, confirmedBy));
368
- // 5. Attempt Medusa core promo workflow in addition
369
- let autoPromoRes = { log: [], applied: [] };
370
- await (0, pos_draft_edit_1.timed)("auto_promotions", timings, async () => {
371
- autoPromoRes = await (0, pos_auto_promotions_1.applyAutoPromotions)(req.scope, draftOrderId, confirmedBy);
366
+ const { draft_order: updated, autoPromoRes, manualDiscountRes } = await (0, pos_draft_finish_1.finishPosDraftReprice)({
367
+ scope: req.scope,
368
+ draftOrderId,
369
+ confirmedBy,
370
+ actorId,
371
+ timings,
372
+ availability,
372
373
  });
373
- // 6. Retrieve updated order
374
- const { data: orders = [] } = await (0, pos_draft_edit_1.timed)("retrieve", timings, async () => query.graph({
375
- entity: "order",
376
- fields: pos_draft_edit_1.POS_CART_FIELDS,
377
- filters: { id: draftOrderId },
378
- }));
379
- const updated = (0, pos_inventory_1.stampCartInventory)(normalizeResponseOrder(Array.isArray(orders) ? orders[0] : null), availability);
380
374
  timings.total = Math.round(performance.now() - totalT0);
381
375
  console.log(`[pos add-items] draft=${draftOrderId} confirmed=1 timings_ms=${JSON.stringify(timings)} auto_promos=${JSON.stringify(autoPromoRes)} inventory_capped=${inventoryLines.length}`);
382
376
  res.status(200).json({
@@ -384,6 +378,8 @@ async function handlePost(req, res) {
384
378
  _pos_edit_open: false,
385
379
  _pos_timings_ms: timings,
386
380
  _pos_auto_promos: autoPromoRes,
381
+ _pos_manual_discount: manualDiscountRes,
382
+ _pos_skip_idle_confirm: true,
387
383
  ...(inventoryLines.length
388
384
  ? { _pos_inventory: { capped: true, lines: inventoryLines } }
389
385
  : {}),
@@ -402,4 +398,4 @@ async function handlePost(req, res) {
402
398
  }
403
399
  }
404
400
  exports.POST = (0, pos_draft_lock_1.withPosDraftLock)(handlePost);
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9kcmFmdC1vcmRlcnMvW2lkXS9pdGVtcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFzREEsb0RBVUM7QUEvREQscURBR2tDO0FBRWxDLDREQUdvQztBQUNwQywyRUFPK0M7QUFDL0MscUZBQWlGO0FBQ2pGLHlFQUs4QztBQUM5QywyRUFBeUU7QUFFekUsbUZBQWlGO0FBQXhFLDBIQUFBLG1CQUFtQixPQUFBO0FBdUI1QixNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQWlDLEVBQW1CLEVBQUUsQ0FDdEUsUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFFMUQsNEZBQTRGO0FBQzVGLFNBQWdCLG9CQUFvQixDQUNsQyxNQUFxRixFQUNyRixZQUEyQjtJQUUzQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNoRCxNQUFNLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNuRCxNQUFNLEtBQUssR0FDVCxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUEseUJBQVEsRUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENB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
401
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9kcmFmdC1vcmRlcnMvW2lkXS9pdGVtcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvREEsb0RBVUM7QUE3REQscURBR2tDO0FBRWxDLDREQUdvQztBQUNwQywyRUFLK0M7QUFDL0MsK0VBQWdGO0FBQ2hGLHlFQUs4QztBQUM5QywyRUFBeUU7QUFFekUsbUZBQWlGO0FBQXhFLDBIQUFBLG1CQUFtQixPQUFBO0FBdUI1QixNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQWlDLEVBQW1CLEVBQUUsQ0FDdEUsUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFFMUQsNEZBQTRGO0FBQzVGLFNBQWdCLG9CQUFvQixDQUNsQyxNQUFxRixFQUNyRixZQUEyQjtJQUUzQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNoRCxNQUFNLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNuRCxNQUFNLEtBQUssR0FDVCxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUEseUJBQVEsRUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENB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
@@ -4,6 +4,7 @@ exports.POST = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
5
  const core_flows_1 = require("@medusajs/medusa/core-flows");
6
6
  const pos_draft_edit_1 = require("../../../../../../../utils/pos-draft-edit");
7
+ const pos_draft_finish_1 = require("../../../../../../../utils/pos-draft-finish");
7
8
  const pos_inventory_1 = require("../../../../../../../utils/pos-inventory");
8
9
  const pos_draft_lock_1 = require("../../../../../../../utils/pos-draft-lock");
9
10
  /**
@@ -104,14 +105,24 @@ async function handlePost(req, res) {
104
105
  },
105
106
  });
106
107
  if (shouldConfirm) {
107
- await (0, pos_draft_edit_1.confirmEditLite)(req.scope, draftOrderId, confirmedBy);
108
- const draft_order = (0, pos_inventory_1.stampCartInventory)(await (0, pos_draft_edit_1.retrievePosCart)(req.scope, draftOrderId), availability);
109
- const ms = Math.round(performance.now() - t0);
110
- console.log(`[pos items-update] draft=${draftOrderId} confirmed=1 ms=${ms} capped=${capped ? 1 : 0}`);
108
+ const timings = {};
109
+ const { draft_order, autoPromoRes, manualDiscountRes } = await (0, pos_draft_finish_1.finishPosDraftReprice)({
110
+ scope: req.scope,
111
+ draftOrderId,
112
+ confirmedBy,
113
+ actorId,
114
+ timings,
115
+ availability,
116
+ });
117
+ timings.total = Math.round(performance.now() - t0);
118
+ console.log(`[pos items-update] draft=${draftOrderId} confirmed=1 ms=${timings.total} capped=${capped ? 1 : 0}`);
111
119
  res.status(200).json({
112
120
  draft_order: draft_order || { id: draftOrderId },
113
121
  _pos_edit_open: false,
114
- _pos_timings_ms: { total: ms },
122
+ _pos_timings_ms: timings,
123
+ _pos_auto_promos: autoPromoRes,
124
+ _pos_manual_discount: manualDiscountRes,
125
+ _pos_skip_idle_confirm: true,
115
126
  ...(capped ? { _pos_inventory: { capped: true } } : {}),
116
127
  });
117
128
  return;
@@ -136,4 +147,4 @@ async function handlePost(req, res) {
136
147
  }
137
148
  }
138
149
  exports.POST = (0, pos_draft_lock_1.withPosDraftLock)(handlePost);
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9kcmFmdC1vcmRlcnMvW2lkXS9pdGVtcy91cGRhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQW1EO0FBRW5ELDREQUEwRTtBQUMxRSw4RUFLa0Q7QUFDbEQsNEVBSWlEO0FBQ2pELDhFQUE0RTtBQVk1RTs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsVUFBVSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7SUFDbEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBb0IsQ0FBQTtJQUNoRCxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUE7SUFFNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLENBQUMsQ0FBQTtRQUMvRCxPQUFNO0lBQ1IsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLENBQUMsQ0FBQTtRQUN6RSxPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUNWLEdBQVcsQ0FBQyxZQUFZLEVBQUUsUUFBUTtRQUNsQyxHQUFXLENBQUMsSUFBSSxFQUFFLFFBQVE7UUFDM0IsSUFBSSxDQUFBO0lBQ04sTUFBTSxXQUFXLEdBQUcsT0FBTyxJQUFJLFFBQVEsQ0FBQTtJQUN2QyxNQUFNLGFBQWEs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
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9kcmFmdC1vcmRlcnMvW2lkXS9pdGVtcy91cGRhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQW1EO0FBRW5ELDREQUEwRTtBQUMxRSw4RUFBb0c7QUFDcEcsa0ZBQW1GO0FBQ25GLDRFQUlpRDtBQUNqRCw4RUFBNEU7QUFZNUU7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLFVBQVUsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQW9CLENBQUE7SUFDaEQsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBRTVCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUE7UUFDL0QsT0FBTTtJQUNSLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN4QixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxDQUFDLENBQUE7UUFDekUsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FDVixHQUFXLENBQUMsWUFBWSxFQUFFLFFBQVE7UUFDbEMsR0FBVyxDQUFDLElBQUksRUFBRSxRQUFRO1FBQzNCLElBQUksQ0FBQTtJQUNOLE1BQU0sV0FBVyxHQUFHLE9BQU8sSUFBSSxRQUFRLENBQUE7SUFD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
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const fulfill_pos_items_1 = require("../orders/fulfill-pos-items");
6
+ const fulfillment_setup_messages_1 = require("../orders/fulfillment-setup-messages");
7
+ const pos_manual_fulfillment_1 = require("../../../../utils/pos-manual-fulfillment");
8
+ async function GET(req, res) {
9
+ const locationId = typeof req.query?.location_id === "string" ? req.query.location_id.trim() : "";
10
+ if (!locationId) {
11
+ res.status(400).json({
12
+ message: "location_id is required",
13
+ type: "INVALID_DATA",
14
+ });
15
+ return;
16
+ }
17
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
18
+ let shippingOptionId = await (0, fulfill_pos_items_1.findManualShippingOptionId)(query, locationId);
19
+ if (!shippingOptionId) {
20
+ try {
21
+ shippingOptionId = await (0, pos_manual_fulfillment_1.ensurePosManualShippingOption)(req.scope, locationId);
22
+ }
23
+ catch (error) {
24
+ console.warn("POS could not set up Manual fulfillment for location", locationId, error);
25
+ }
26
+ }
27
+ if (shippingOptionId) {
28
+ res.status(200).json({
29
+ ready: true,
30
+ location_id: locationId,
31
+ manual_shipping_option_id: shippingOptionId,
32
+ });
33
+ return;
34
+ }
35
+ let locationName = null;
36
+ try {
37
+ const { data } = await query.graph({
38
+ entity: "stock_location",
39
+ fields: ["id", "name"],
40
+ filters: { id: locationId },
41
+ });
42
+ const row = data[0];
43
+ if (row && typeof row.name === "string")
44
+ locationName = row.name;
45
+ }
46
+ catch {
47
+ // optional label for messages
48
+ }
49
+ res.status(200).json({
50
+ location_id: locationId,
51
+ location_name: locationName,
52
+ ...(0, fulfillment_setup_messages_1.manualFulfillmentSetupPayload)(locationName),
53
+ });
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9mdWxmaWxsbWVudC1zZXR1cC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9CQSxrQkFnREM7QUE3REQscURBQXFFO0FBQ3JFLG1FQUF3RTtBQUN4RSxxRkFBb0Y7QUFDcEYscUZBQXdGO0FBVWpGLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLFVBQVUsR0FDZCxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNoRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLHlCQUF5QjtZQUNsQyxJQUFJLEVBQUUsY0FBYztTQUNyQixDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBZSxDQUFBO0lBQzlFLElBQUksZ0JBQWdCLEdBQUcsTUFBTSxJQUFBLDhDQUEwQixFQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUMxRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUM7WUFDSCxnQkFBZ0IsR0FBRyxNQUFNLElBQUEsc0RBQTZCLEVBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUMvRSxDQUFDO1FBQUMsT0FBTyxLQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN6RixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLHlCQUF5QixFQUFFLGdCQUFnQjtTQUM1QyxDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELElBQUksWUFBWSxHQUFrQixJQUFJLENBQUE7SUFDdEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqQyxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7WUFDdEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtTQUM1QixDQUFDLENBQUE7UUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkIsSUFBSSxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFBRSxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtJQUNsRSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsOEJBQThCO0lBQ2hDLENBQUM7SUFFRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuQixXQUFXLEVBQUUsVUFBVTtRQUN2QixhQUFhLEVBQUUsWUFBWTtRQUMzQixHQUFHLElBQUEsMERBQTZCLEVBQUMsWUFBWSxDQUFDO0tBQy9DLENBQUMsQ0FBQTtBQUNKLENBQUMifQ==
@@ -1,21 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fulfillPosOrderItems = exports.PosManualFulfillmentMissingError = exports.MANUAL_FULFILLMENT_SETUP_MESSAGE = void 0;
3
+ exports.fulfillPosOrderItems = exports.PosManualFulfillmentMissingError = exports.manualFulfillmentSetupPayload = exports.manualFulfillmentSetupDetail = exports.MANUAL_FULFILLMENT_SETUP_TITLE = exports.MANUAL_FULFILLMENT_SETUP_STEPS = exports.MANUAL_FULFILLMENT_SETUP_MESSAGE = void 0;
4
4
  exports.findManualShippingOptionId = findManualShippingOptionId;
5
5
  exports.fulfillAndDeliverPosOrderItems = fulfillAndDeliverPosOrderItems;
6
6
  exports.actorIdFromRequest = actorIdFromRequest;
7
7
  const core_flows_1 = require("@medusajs/core-flows");
8
8
  const utils_1 = require("@medusajs/framework/utils");
9
+ const pos_manual_fulfillment_1 = require("../../../../utils/pos-manual-fulfillment");
9
10
  function isRecord(value) {
10
11
  return Boolean(value && typeof value === "object");
11
12
  }
12
- exports.MANUAL_FULFILLMENT_SETUP_MESSAGE = `Manual fulfillment is not configured for POS.
13
- 1. Admin → Settings → Locations → (your stock location)
14
- 2. Enable fulfillment provider "Manual"
15
- 3. Add a Shipping option (or Return option) using the Manual provider
16
- Then retry the sale.`;
13
+ const fulfillment_setup_messages_1 = require("./fulfillment-setup-messages");
14
+ var fulfillment_setup_messages_2 = require("./fulfillment-setup-messages");
15
+ Object.defineProperty(exports, "MANUAL_FULFILLMENT_SETUP_MESSAGE", { enumerable: true, get: function () { return fulfillment_setup_messages_2.MANUAL_FULFILLMENT_SETUP_MESSAGE; } });
16
+ Object.defineProperty(exports, "MANUAL_FULFILLMENT_SETUP_STEPS", { enumerable: true, get: function () { return fulfillment_setup_messages_2.MANUAL_FULFILLMENT_SETUP_STEPS; } });
17
+ Object.defineProperty(exports, "MANUAL_FULFILLMENT_SETUP_TITLE", { enumerable: true, get: function () { return fulfillment_setup_messages_2.MANUAL_FULFILLMENT_SETUP_TITLE; } });
18
+ Object.defineProperty(exports, "manualFulfillmentSetupDetail", { enumerable: true, get: function () { return fulfillment_setup_messages_2.manualFulfillmentSetupDetail; } });
19
+ Object.defineProperty(exports, "manualFulfillmentSetupPayload", { enumerable: true, get: function () { return fulfillment_setup_messages_2.manualFulfillmentSetupPayload; } });
17
20
  class PosManualFulfillmentMissingError extends Error {
18
- constructor(message = exports.MANUAL_FULFILLMENT_SETUP_MESSAGE) {
21
+ constructor(message = fulfillment_setup_messages_1.MANUAL_FULFILLMENT_SETUP_MESSAGE) {
19
22
  super(message);
20
23
  this.type = "MANUAL_FULFILLMENT_MISSING";
21
24
  this.name = "PosManualFulfillmentMissingError";
@@ -145,7 +148,15 @@ async function markLatestFulfillmentDelivered(input) {
145
148
  async function fulfillAndDeliverPosOrderItems(input) {
146
149
  if (!input.items.length)
147
150
  return { fulfillment_id: null };
148
- const shippingOptionId = await findManualShippingOptionId(input.query, input.locationId);
151
+ let shippingOptionId = await findManualShippingOptionId(input.query, input.locationId);
152
+ if (!shippingOptionId) {
153
+ try {
154
+ shippingOptionId = await (0, pos_manual_fulfillment_1.ensurePosManualShippingOption)(input.container, input.locationId);
155
+ }
156
+ catch (error) {
157
+ console.warn("POS could not set up Manual fulfillment for location", input.locationId, error);
158
+ }
159
+ }
149
160
  let fulfillmentId = null;
150
161
  let warning;
151
162
  try {
@@ -166,7 +177,7 @@ async function fulfillAndDeliverPosOrderItems(input) {
166
177
  console.warn("POS createOrderFulfillmentWorkflow failed; registering fulfillment", error);
167
178
  warning = shippingOptionId
168
179
  ? "Stock location is not linked to the Manual fulfillment option. Sale completed; fulfillment was recorded without carrier shipping."
169
- : exports.MANUAL_FULFILLMENT_SETUP_MESSAGE;
180
+ : fulfillment_setup_messages_1.MANUAL_FULFILLMENT_SETUP_MESSAGE;
170
181
  try {
171
182
  const orderModule = input.container.resolve(utils_1.Modules.ORDER);
172
183
  await orderModule.registerFulfillment({
@@ -194,4 +205,4 @@ function actorIdFromRequest(req) {
194
205
  const authContext = req.auth_context;
195
206
  return authContext?.actor_id || authContext?.user_id;
196
207
  }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbC1wb3MtaXRlbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9vcmRlcnMvZnVsZmlsbC1wb3MtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkRBLGdFQTBCQztBQXVFRCx3RUFxREM7QUFLRCxnREFLQztBQTdORCxxREFHNkI7QUFDN0IscURBQW1EO0FBYW5ELFNBQVMsUUFBUSxDQUFDLEtBQWM7SUFDOUIsT0FBTyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFBO0FBQ3BELENBQUM7QUFFWSxRQUFBLGdDQUFnQyxHQUFHOzs7O3FCQUkzQixDQUFBO0FBRXJCLE1BQWEsZ0NBQWlDLFNBQVEsS0FBSztJQUV6RCxZQUFZLE9BQU8sR0FBRyx3Q0FBZ0M7UUFDcEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRlAsU0FBSSxHQUFHLDRCQUFxQyxDQUFBO1FBR25ELElBQUksQ0FBQyxJQUFJLEdBQUcsa0NBQWtDLENBQUE7SUFDaEQsQ0FBQztDQUNGO0FBTkQsNEVBTUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLFVBQW1CO0lBQzdDLE9BQU8sT0FBTyxVQUFVLEtBQUssUUFBUSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDeEYsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsR0FBWTtJQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDckQsT0FBTyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcs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
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbC1wb3MtaXRlbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9vcmRlcnMvZnVsZmlsbC1wb3MtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0VBLGdFQTBCQztBQXVFRCx3RUE0REM7QUFLRCxnREFLQztBQXpPRCxxREFHNkI7QUFDN0IscURBQW1EO0FBSW5ELHFGQUF3RjtBQVV4RixTQUFTLFFBQVEsQ0FBQyxLQUFjO0lBQzlCLE9BQU8sT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQTtBQUNwRCxDQUFDO0FBRUQsNkVBQStFO0FBRS9FLDJFQU1xQztBQUxuQyw4SUFBQSxnQ0FBZ0MsT0FBQTtBQUNoQyw0SUFBQSw4QkFBOEIsT0FBQTtBQUM5Qiw0SUFBQSw4QkFBOEIsT0FBQTtBQUM5QiwwSUFBQSw0QkFBNEIsT0FBQTtBQUM1QiwySUFBQSw2QkFBNkIsT0FBQTtBQUcvQixNQUFhLGdDQUFpQyxTQUFRLEtBQUs7SUFFekQsWUFBWSxPQUFPLEdBQUcsNkRBQWdDO1FBQ3BELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUZQLFNBQUksR0FBRyw0QkFBcUMsQ0FBQTtRQUduRCxJQUFJLENBQUMsSUFBSSxHQUFHLGtDQUFrQyxDQUFBO0lBQ2hELENBQUM7Q0FDRjtBQU5ELDRFQU1DO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxVQUFtQjtJQUM3QyxPQUFPLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3hGLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLEdBQVk7SUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMs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
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MANUAL_FULFILLMENT_SETUP_MESSAGE = exports.MANUAL_FULFILLMENT_SETUP_STEPS = exports.MANUAL_FULFILLMENT_SETUP_TITLE = void 0;
4
+ exports.manualFulfillmentSetupDetail = manualFulfillmentSetupDetail;
5
+ exports.manualFulfillmentSetupPayload = manualFulfillmentSetupPayload;
6
+ exports.MANUAL_FULFILLMENT_SETUP_TITLE = "Manual fulfillment is not set up for this stock location";
7
+ exports.MANUAL_FULFILLMENT_SETUP_STEPS = [
8
+ "Open Medusa Admin → Settings → Locations.",
9
+ "Select the same stock location as POS Settings.",
10
+ 'Enable the "Manual" fulfillment provider for that location.',
11
+ "Add a shipping option that uses Manual on the location's fulfillment set.",
12
+ ];
13
+ function manualFulfillmentSetupDetail(locationName) {
14
+ const where = locationName?.trim()
15
+ ? `Location: ${locationName.trim()}.`
16
+ : "Use the stock location selected in POS Settings.";
17
+ return `${where} ${exports.MANUAL_FULFILLMENT_SETUP_STEPS.join(" ")}`;
18
+ }
19
+ /** @deprecated Use title + steps; kept for error bodies and older POS builds. */
20
+ exports.MANUAL_FULFILLMENT_SETUP_MESSAGE = `${exports.MANUAL_FULFILLMENT_SETUP_TITLE}
21
+
22
+ ${exports.MANUAL_FULFILLMENT_SETUP_STEPS.map((step, i) => `${i + 1}. ${step}`).join("\n")}`;
23
+ function manualFulfillmentSetupPayload(locationName) {
24
+ return {
25
+ ready: false,
26
+ title: exports.MANUAL_FULFILLMENT_SETUP_TITLE,
27
+ detail: manualFulfillmentSetupDetail(locationName),
28
+ steps: exports.MANUAL_FULFILLMENT_SETUP_STEPS,
29
+ code: "manual_fulfillment_missing",
30
+ };
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtc2V0dXAtbWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9vcmRlcnMvZnVsZmlsbG1lbnQtc2V0dXAtbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0Esb0VBS0M7QUFlRCxzRUFVQztBQXZDWSxRQUFBLDhCQUE4QixHQUFHLDBEQUEwRCxDQUFBO0FBRTNGLFFBQUEsOEJBQThCLEdBQUc7SUFDNUMsMkNBQTJDO0lBQzNDLGlEQUFpRDtJQUNqRCw2REFBNkQ7SUFDN0QsMkVBQTJFO0NBQzVFLENBQUE7QUFFRCxTQUFnQiw0QkFBNEIsQ0FBQyxZQUE0QjtJQUN2RSxNQUFNLEtBQUssR0FBRyxZQUFZLEVBQUUsSUFBSSxFQUFFO1FBQ2hDLENBQUMsQ0FBQyxhQUFhLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRztRQUNyQyxDQUFDLENBQUMsa0RBQWtELENBQUE7SUFDdEQsT0FBTyxHQUFHLEtBQUssSUFBSSxzQ0FBOEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtBQUMvRCxDQUFDO0FBRUQsaUZBQWlGO0FBQ3BFLFFBQUEsZ0NBQWdDLEdBQUcsR0FBRyxzQ0FBOEI7O0VBRS9FLHNDQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO0FBVW5GLFNBQWdCLDZCQUE2QixDQUMzQyxZQUE0QjtJQUU1QixPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUs7UUFDWixLQUFLLEVBQUUsc0NBQThCO1FBQ3JDLE1BQU0sRUFBRSw0QkFBNEIsQ0FBQyxZQUFZLENBQUM7UUFDbEQsS0FBSyxFQUFFLHNDQUE4QjtRQUNyQyxJQUFJLEVBQUUsNEJBQTRCO0tBQ25DLENBQUE7QUFDSCxDQUFDIn0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listAttachedPromotionCodes = listAttachedPromotionCodes;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ /** Promotion / adjustment codes already on the draft (skip redundant auto attach). */
6
+ async function listAttachedPromotionCodes(scope, orderId) {
7
+ const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
8
+ const { data: orders = [] } = await query.graph({
9
+ entity: "order",
10
+ fields: ["id", "promotions.code", "items.adjustments.code"],
11
+ filters: { id: orderId },
12
+ });
13
+ const order = Array.isArray(orders) ? orders[0] : null;
14
+ const codes = new Set();
15
+ if (!order || typeof order !== "object")
16
+ return codes;
17
+ const promotions = order.promotions;
18
+ for (const p of promotions ?? []) {
19
+ if (typeof p?.code === "string" && p.code.trim())
20
+ codes.add(p.code.trim());
21
+ }
22
+ const items = order.items;
23
+ for (const item of items ?? []) {
24
+ for (const adj of item.adjustments ?? []) {
25
+ if (typeof adj?.code === "string" && adj.code.trim())
26
+ codes.add(adj.code.trim());
27
+ }
28
+ }
29
+ return codes;
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zLWF0dGFjaGVkLXByb21vcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wb3MtYXR0YWNoZWQtcHJvbW9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsZ0VBd0JDO0FBM0JELHFEQUFxRTtBQUVyRSxzRkFBc0Y7QUFDL0UsS0FBSyxVQUFVLDBCQUEwQixDQUM5QyxLQUE2QixFQUM3QixPQUFlO0lBRWYsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDOUMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUM7UUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRTtLQUN6QixDQUFDLENBQUE7SUFDRixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0lBQy9CLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ3JELE1BQU0sVUFBVSxHQUFJLEtBQW1ELENBQUMsVUFBVSxDQUFBO0lBQ2xGLEtBQUssTUFBTSxDQUFDLElBQUksVUFBVSxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBSSxLQUF1RSxDQUFDLEtBQUssQ0FBQTtJQUM1RixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7WUFDekMsSUFBSSxPQUFPLEdBQUcsRUFBRSxJQUFJLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ2xGLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDIn0=
@@ -5,7 +5,8 @@ exports.applyAutoPromotions = applyAutoPromotions;
5
5
  const utils_1 = require("@medusajs/framework/utils");
6
6
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
7
  const pos_draft_edit_1 = require("./pos-draft-edit");
8
- exports.POS_PLUGIN_VERSION = "0.0.30";
8
+ const pos_attached_promos_1 = require("./pos-attached-promos");
9
+ exports.POS_PLUGIN_VERSION = "0.0.32";
9
10
  /**
10
11
  * Attach active automatic promotions to a POS draft order.
11
12
  * Same begin → addDraftOrderPromotion → confirm sequence as /promotions.
@@ -26,11 +27,13 @@ async function applyAutoPromotions(scope, orderId, confirmedBy, options) {
26
27
  });
27
28
  const list = Array.isArray(promos) ? promos : [];
28
29
  log.push(`Query found ${list.length} active promotions (plugin=${plugin_version})`);
30
+ const attached = await (0, pos_attached_promos_1.listAttachedPromotionCodes)(scope, orderId);
29
31
  const autoCodes = list
30
32
  .filter((p) => p?.is_automatic === true)
31
33
  .map((p) => String(p?.code || "").trim())
32
- .filter((code) => code && !code.startsWith("POSMAN-"));
33
- log.push(`Applying promo_codes=[${autoCodes.join(", ")}]`);
34
+ .filter((code) => code && !code.startsWith("POSMAN-"))
35
+ .filter((code) => !attached.has(code));
36
+ log.push(`Applying promo_codes=[${autoCodes.join(", ")}] (skipped ${attached.size} already on draft)`);
34
37
  if (autoCodes.length === 0) {
35
38
  return { log, applied: [], plugin_version };
36
39
  }
@@ -80,4 +83,4 @@ async function applyAutoPromotions(scope, orderId, confirmedBy, options) {
80
83
  }
81
84
  return { log, applied: [], plugin_version };
82
85
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zLWF1dG8tcHJvbW90aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wb3MtYXV0by1wcm9tb3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLGtEQWlGQztBQS9GRCxxREFBcUU7QUFDckUsNERBQTRFO0FBQzVFLHFEQUFpRTtBQUVwRCxRQUFBLGtCQUFrQixHQUFHLFFBQVEsQ0FBQTtBQUUxQzs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLG1CQUFtQixDQUN2QyxLQUE2QixFQUM3QixPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsT0FBd0M7SUFFeEMsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFBO0lBQ3hCLE1BQU0sY0FBYyxHQUFHLDBCQUFrQixDQUFBO0lBQ3pDLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFNUQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzlDLE1BQU0sRUFBRSxXQUFXO1lBQ25CLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsQ0FBQztZQUNoRCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO1NBQzlCLENBQUMsQ0FBQTtRQUVGLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsTUFBTSw4QkFBOEIsY0FBYyxHQUFHLENBQUMsQ0FBQTtRQUVuRixNQUFNLFNBQVMsR0FBRyxJQUFJO2FBQ25CLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFB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
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zLWF1dG8tcHJvbW90aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wb3MtYXV0by1wcm9tb3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdCQSxrREFzRkM7QUFyR0QscURBQXFFO0FBQ3JFLDREQUE0RTtBQUM1RSxxREFBaUU7QUFDakUsK0RBQWtFO0FBRXJELFFBQUEsa0JBQWtCLEdBQUcsUUFBUSxDQUFBO0FBRTFDOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsbUJBQW1CLENBQ3ZDLEtBQTZCLEVBQzdCLE9BQWUsRUFDZixXQUFtQixFQUNuQixPQUF3QztJQUV4QyxNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUE7SUFDeEIsTUFBTSxjQUFjLEdBQUcsMEJBQWtCLENBQUE7SUFDekMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDOUMsTUFBTSxFQUFFLFdBQVc7WUFDbkIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsUUFBUSxDQUFDO1lBQ2hELE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7U0FDOUIsQ0FBQyxDQUFBO1FBRUYsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDaEQsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxNQUFNLDhCQUE4QixjQUFjLEdBQUcsQ0FBQyxDQUFBO1FBRW5GLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxnREFBMEIsRUFB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
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.finishPosDraftReprice = finishPosDraftReprice;
4
+ const pos_auto_promotions_1 = require("./pos-auto-promotions");
5
+ const pos_draft_edit_1 = require("./pos-draft-edit");
6
+ const pos_manual_discount_apply_1 = require("./pos-manual-discount-apply");
7
+ const pos_inventory_1 = require("./pos-inventory");
8
+ /**
9
+ * Confirm pending edits, attach missing auto promos, recompute manual discount from metadata, return cart.
10
+ */
11
+ async function finishPosDraftReprice(input) {
12
+ const { scope, draftOrderId, confirmedBy } = input;
13
+ const timings = input.timings ?? {};
14
+ if (!input.skipConfirm) {
15
+ await (0, pos_draft_edit_1.timed)("confirm_lite", timings, () => (0, pos_draft_edit_1.confirmEditLite)(scope, draftOrderId, confirmedBy));
16
+ }
17
+ let autoPromoRes = {
18
+ log: [],
19
+ applied: [],
20
+ };
21
+ await (0, pos_draft_edit_1.timed)("auto_promotions", timings, async () => {
22
+ autoPromoRes = await (0, pos_auto_promotions_1.applyAutoPromotions)(scope, draftOrderId, confirmedBy);
23
+ });
24
+ let manualDiscountRes = {
25
+ applied: false,
26
+ };
27
+ await (0, pos_draft_edit_1.timed)("manual_discount_reapply", timings, async () => {
28
+ manualDiscountRes = await (0, pos_manual_discount_apply_1.reapplyPosManualDiscountFromMetadata)(scope, draftOrderId, confirmedBy, input.actorId);
29
+ });
30
+ let draft_order = await (0, pos_draft_edit_1.timed)("retrieve", timings, () => (0, pos_draft_edit_1.retrievePosCart)(scope, draftOrderId));
31
+ if (input.availability) {
32
+ draft_order = (0, pos_inventory_1.stampCartInventory)(draft_order, input.availability);
33
+ }
34
+ return { draft_order, autoPromoRes, manualDiscountRes };
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zLWRyYWZ0LWZpbmlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wb3MtZHJhZnQtZmluaXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLHNEQTBDQztBQXpERCwrREFBMkQ7QUFDM0QscURBQTBFO0FBQzFFLDJFQUFrRjtBQUNsRixtREFBb0Q7QUFTcEQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUscUJBQXFCLENBQUMsS0FRM0M7SUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFDbEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUE7SUFFbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUEsc0JBQUssRUFBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUEsZ0NBQWUsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7SUFDL0YsQ0FBQztJQUVELElBQUksWUFBWSxHQUFrRTtRQUNoRixHQUFHLEVBQUUsRUFBRTtRQUNQLE9BQU8sRUFBRSxFQUFFO0tBQ1osQ0FBQTtJQUNELE1BQU0sSUFBQSxzQkFBSyxFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtRQUNqRCxZQUFZLEdBQUcsTUFBTSxJQUFBLHlDQUFtQixFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDNUUsQ0FBQyxDQUFDLENBQUE7SUFFRixJQUFJLGlCQUFpQixHQUFxRTtRQUN4RixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUE7SUFDRCxNQUFNLElBQUEsc0JBQUssRUFBQyx5QkFBeUIsRUFBRSxPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekQsaUJBQWlCLEdBQUcsTUFBTSxJQUFBLGdFQUFvQyxFQUM1RCxLQUFLLEVBQ0wsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLENBQUMsT0FBTyxDQUNkLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLElBQUksV0FBVyxHQUFHLE1BQU0sSUFBQSxzQkFBSyxFQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBQSxnQ0FBZSxFQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFBO0lBQzlGLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZCLFdBQVcsR0FBRyxJQUFBLGtDQUFrQixFQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUVELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLENBQUE7QUFDekQsQ0FBQyJ9
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyPosManualDiscountOnDraft = applyPosManualDiscountOnDraft;
4
+ exports.reapplyPosManualDiscountFromMetadata = reapplyPosManualDiscountFromMetadata;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const pos_draft_edit_1 = require("./pos-draft-edit");
8
+ const pos_manual_discount_1 = require("./pos-manual-discount");
9
+ function collectPosManualCodes(order) {
10
+ const fromItems = order.items?.flatMap((item) => item.adjustments
11
+ ?.map((adj) => adj.code)
12
+ .filter((code) => (0, pos_manual_discount_1.isPosManualCode)(code)) ?? []) ?? [];
13
+ const fromPromos = order.promotions
14
+ ?.map((p) => p.code)
15
+ .filter((code) => (0, pos_manual_discount_1.isPosManualCode)(code)) ?? [];
16
+ return Array.from(new Set([...fromItems, ...fromPromos]));
17
+ }
18
+ async function loadDraftOrder(scope, id) {
19
+ const orderModule = scope.resolve(utils_1.Modules.ORDER);
20
+ try {
21
+ return await orderModule.retrieveOrder(id, {
22
+ select: [
23
+ "id",
24
+ "display_id",
25
+ "status",
26
+ "is_draft_order",
27
+ "currency_code",
28
+ "email",
29
+ "total",
30
+ "subtotal",
31
+ "discount_total",
32
+ "metadata",
33
+ ],
34
+ relations: ["items", "items.adjustments", "promotions"],
35
+ });
36
+ }
37
+ catch {
38
+ const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
39
+ const { data } = await query.graph({
40
+ entity: "order",
41
+ fields: [
42
+ "id",
43
+ "display_id",
44
+ "status",
45
+ "is_draft_order",
46
+ "currency_code",
47
+ "email",
48
+ "total",
49
+ "subtotal",
50
+ "discount_total",
51
+ "metadata",
52
+ "items.*",
53
+ "items.adjustments.*",
54
+ "promotions.code",
55
+ ],
56
+ filters: { id },
57
+ });
58
+ return (Array.isArray(data) ? data[0] : null);
59
+ }
60
+ }
61
+ async function deactivateManualPromos(scope, codes) {
62
+ if (!codes.length)
63
+ return;
64
+ const promotionModule = scope.resolve(utils_1.Modules.PROMOTION);
65
+ const promos = await promotionModule.listPromotions({ code: codes }, { take: codes.length });
66
+ if (promos.length) {
67
+ await promotionModule.updatePromotions(promos.map((p) => ({ id: p.id, status: "inactive" })));
68
+ }
69
+ }
70
+ /** Attach or replace POS manual discount (server-side amount from current lines). */
71
+ async function applyPosManualDiscountOnDraft(scope, draftOrderId, input, confirmedBy) {
72
+ const order = await loadDraftOrder(scope, draftOrderId);
73
+ if (!order)
74
+ return { applied: false, reason: "order_not_found" };
75
+ const metaCode = order.metadata &&
76
+ typeof order.metadata === "object" &&
77
+ typeof order.metadata.pos_manual_discount?.code ===
78
+ "string"
79
+ ? String(order.metadata.pos_manual_discount.code)
80
+ : "";
81
+ const existingManualCodes = Array.from(new Set([...collectPosManualCodes(order), metaCode].filter((code) => (0, pos_manual_discount_1.isPosManualCode)(code))));
82
+ const resolved = (0, pos_manual_discount_1.resolveManualDiscountAmount)((0, pos_manual_discount_1.computeManualDiscountBase)(order), input.discountType, input.discountValue);
83
+ if (!resolved.ok) {
84
+ return { applied: false, reason: resolved.message };
85
+ }
86
+ const calculatedAmount = resolved.amount;
87
+ const currency = String(order.currency_code || "inr").toLowerCase();
88
+ const shortId = String(draftOrderId).replace(/^order_/, "").slice(-4).toUpperCase();
89
+ const shortTs = Date.now().toString(36).slice(-5).toUpperCase();
90
+ const code = `${pos_manual_discount_1.POSMAN_PREFIX}${shortId}-${shortTs}`;
91
+ const appliedAt = new Date().toISOString();
92
+ const actorId = input.actorId ?? null;
93
+ const promotionModule = scope.resolve(utils_1.Modules.PROMOTION);
94
+ await Promise.all([
95
+ promotionModule.createPromotions({
96
+ code,
97
+ type: "standard",
98
+ status: "active",
99
+ is_automatic: false,
100
+ limit: 1,
101
+ metadata: {
102
+ source: "pos_manual",
103
+ type: "manual_discount",
104
+ discount_type: input.discountType,
105
+ discount_value: input.discountValue,
106
+ amount: calculatedAmount,
107
+ percentage: input.discountType === "percentage" ? input.discountValue : undefined,
108
+ currency_code: currency,
109
+ draft_order_id: draftOrderId,
110
+ applied_by: actorId,
111
+ applied_at: appliedAt,
112
+ },
113
+ application_method: {
114
+ type: "fixed",
115
+ target_type: "order",
116
+ allocation: "across",
117
+ value: calculatedAmount,
118
+ currency_code: currency,
119
+ },
120
+ }),
121
+ (0, pos_draft_edit_1.beginEditSafe)(scope, draftOrderId),
122
+ ]);
123
+ if (existingManualCodes.length) {
124
+ await (0, core_flows_1.removeDraftOrderPromotionsWorkflow)(scope).run({
125
+ input: { order_id: draftOrderId, promo_codes: existingManualCodes },
126
+ });
127
+ }
128
+ await (0, core_flows_1.addDraftOrderPromotionWorkflow)(scope).run({
129
+ input: { order_id: draftOrderId, promo_codes: [code] },
130
+ });
131
+ await (0, pos_draft_edit_1.confirmEditLite)(scope, draftOrderId, confirmedBy);
132
+ const orderModule = scope.resolve(utils_1.Modules.ORDER);
133
+ const prevMeta = order.metadata && typeof order.metadata === "object" ? order.metadata : {};
134
+ await orderModule.updateOrders(draftOrderId, {
135
+ metadata: {
136
+ ...prevMeta,
137
+ pos_manual_discount: {
138
+ code,
139
+ discount_type: input.discountType,
140
+ discount_value: input.discountValue,
141
+ amount: calculatedAmount,
142
+ currency_code: currency,
143
+ applied_by: actorId,
144
+ applied_at: appliedAt,
145
+ },
146
+ },
147
+ });
148
+ if (existingManualCodes.length) {
149
+ void deactivateManualPromos(scope, existingManualCodes);
150
+ }
151
+ return {
152
+ applied: true,
153
+ code,
154
+ amount: calculatedAmount,
155
+ discount_type: input.discountType,
156
+ discount_value: input.discountValue,
157
+ };
158
+ }
159
+ /** Re-sync manual discount from `metadata.pos_manual_discount` after a reprice. */
160
+ async function reapplyPosManualDiscountFromMetadata(scope, draftOrderId, confirmedBy, actorId) {
161
+ const order = await loadDraftOrder(scope, draftOrderId);
162
+ if (!order || !order.metadata || typeof order.metadata !== "object") {
163
+ return { applied: false };
164
+ }
165
+ const manual = order.metadata.pos_manual_discount;
166
+ if (!manual || typeof manual !== "object") {
167
+ return { applied: false };
168
+ }
169
+ const discountType = manual.discount_type === "percentage" ? "percentage" : "fixed";
170
+ const discountValue = Number(manual.discount_value);
171
+ if (!Number.isFinite(discountValue) || discountValue <= 0) {
172
+ return { applied: false };
173
+ }
174
+ return applyPosManualDiscountOnDraft(scope, draftOrderId, { discountType, discountValue, actorId }, confirmedBy);
175
+ }
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zLW1hbnVhbC1kaXNjb3VudC1hcHBseS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wb3MtbWFudWFsLWRpc2NvdW50LWFwcGx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUhBLHNFQWlIQztBQUdELG9GQTBCQztBQTlQRCxxREFBOEU7QUFDOUUsNERBR29DO0FBQ3BDLHFEQUFpRTtBQUNqRSwrREFLOEI7QUFJOUIsU0FBUyxxQkFBcUIsQ0FBQyxLQUc5QjtJQUNDLE1BQU0sU0FBUyxHQUNiLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUNsQixDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxDQUFDLFdBQVc7UUFDZCxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztTQUN2QixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQWtCLEVBQUUsQ0FBQyxJQUFBLHFDQUFlLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQ25FLElBQUksRUFBRSxDQUFBO0lBQ1QsTUFBTSxVQUFVLEdBQ2QsS0FBSyxDQUFDLFVBQVU7UUFDZCxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQWtCLEVBQUUsQ0FBQyxJQUFBLHFDQUFlLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDM0QsQ0FBQztBQUVELEtBQUssVUFBVSxjQUFjLENBQUMsS0FBNkIsRUFBRSxFQUFVO0lBQ3JFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMs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
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensurePosManualShippingOption = ensurePosManualShippingOption;
4
+ /**
5
+ * Self-heal the Manual fulfillment setup POS needs on a stock location:
6
+ * Manual provider linked → fulfillment set → service zone → Manual shipping option.
7
+ *
8
+ * The shipping option is hidden from the storefront (`enabled_in_store = false`)
9
+ * so it only serves counter sales.
10
+ */
11
+ const core_flows_1 = require("@medusajs/core-flows");
12
+ const utils_1 = require("@medusajs/framework/utils");
13
+ const POS_OPTION_NAME = "POS counter";
14
+ const POS_OPTION_CODE = "pos-counter";
15
+ function str(value) {
16
+ return typeof value === "string" && value ? value : null;
17
+ }
18
+ function rows(value) {
19
+ return Array.isArray(value) ? value.filter((v) => Boolean(v && typeof v === "object")) : [];
20
+ }
21
+ function isManual(providerId) {
22
+ return typeof providerId === "string" && providerId.toLowerCase().startsWith("manual");
23
+ }
24
+ async function graph(query, entity, fields, filters) {
25
+ const { data } = await query.graph({ entity, fields, ...(filters ? { filters } : {}) });
26
+ return rows(data);
27
+ }
28
+ async function manualProviderId(query) {
29
+ const providers = await graph(query, "fulfillment_provider", ["id", "is_enabled"]);
30
+ const hit = providers.find((p) => isManual(p.id) && p.is_enabled !== false);
31
+ return hit ? str(hit.id) : null;
32
+ }
33
+ async function loadLocation(query, locationId) {
34
+ const [location] = await graph(query, "stock_location", [
35
+ "id",
36
+ "name",
37
+ "fulfillment_providers.id",
38
+ "fulfillment_sets.id",
39
+ "fulfillment_sets.type",
40
+ "fulfillment_sets.service_zones.id",
41
+ "fulfillment_sets.service_zones.shipping_options.id",
42
+ "fulfillment_sets.service_zones.shipping_options.provider_id",
43
+ ], { id: locationId });
44
+ return location ?? null;
45
+ }
46
+ function existingManualOption(location) {
47
+ for (const set of rows(location.fulfillment_sets)) {
48
+ for (const zone of rows(set.service_zones)) {
49
+ for (const option of rows(zone.shipping_options)) {
50
+ if (isManual(option.provider_id) && str(option.id))
51
+ return str(option.id);
52
+ }
53
+ }
54
+ }
55
+ return null;
56
+ }
57
+ async function shippingProfileId(container, query) {
58
+ const profiles = await graph(query, "shipping_profile", ["id", "type"]);
59
+ const preferred = profiles.find((p) => p.type === "default") ?? profiles[0];
60
+ const existing = preferred ? str(preferred.id) : null;
61
+ if (existing)
62
+ return existing;
63
+ const { result } = await (0, core_flows_1.createShippingProfilesWorkflow)(container).run({
64
+ input: { data: [{ name: "Default Shipping Profile", type: "default" }] },
65
+ });
66
+ return result[0].id;
67
+ }
68
+ async function currencyCodes(query) {
69
+ const stores = await graph(query, "store", ["supported_currencies.currency_code"]);
70
+ const codes = new Set();
71
+ for (const store of stores) {
72
+ for (const c of rows(store.supported_currencies)) {
73
+ const code = str(c.currency_code);
74
+ if (code)
75
+ codes.add(code.toLowerCase());
76
+ }
77
+ }
78
+ return [...codes];
79
+ }
80
+ async function regionCountryCodes(query) {
81
+ const regions = await graph(query, "region", ["countries.iso_2"]);
82
+ const codes = new Set();
83
+ for (const region of regions) {
84
+ for (const c of rows(region.countries)) {
85
+ const code = str(c.iso_2);
86
+ if (code)
87
+ codes.add(code.toLowerCase());
88
+ }
89
+ }
90
+ return [...codes];
91
+ }
92
+ /**
93
+ * Returns the Manual shipping option id for this stock location, creating any
94
+ * missing pieces. Returns null when the backend has no Manual provider at all.
95
+ */
96
+ async function ensurePosManualShippingOption(container, locationId) {
97
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
98
+ const providerId = await manualProviderId(query);
99
+ if (!providerId)
100
+ return null;
101
+ let location = await loadLocation(query, locationId);
102
+ if (!location)
103
+ return null;
104
+ const found = existingManualOption(location);
105
+ if (found)
106
+ return found;
107
+ const linked = rows(location.fulfillment_providers).some((p) => p.id === providerId);
108
+ if (!linked) {
109
+ await (0, core_flows_1.batchLinksWorkflow)(container).run({
110
+ input: {
111
+ create: [
112
+ {
113
+ [utils_1.Modules.STOCK_LOCATION]: { stock_location_id: locationId },
114
+ [utils_1.Modules.FULFILLMENT]: { fulfillment_provider_id: providerId },
115
+ },
116
+ ],
117
+ },
118
+ });
119
+ }
120
+ const suffix = locationId.slice(-8);
121
+ const locationName = str(location.name) ?? "POS";
122
+ let sets = rows(location.fulfillment_sets);
123
+ if (!sets.length) {
124
+ await (0, core_flows_1.createLocationFulfillmentSetWorkflow)(container).run({
125
+ input: {
126
+ location_id: locationId,
127
+ fulfillment_set_data: { name: `${locationName} POS ${suffix}`, type: "pickup" },
128
+ },
129
+ });
130
+ location = (await loadLocation(query, locationId)) ?? location;
131
+ sets = rows(location.fulfillment_sets);
132
+ }
133
+ const set = sets.find((s) => s.type === "pickup") ?? sets[0];
134
+ const setId = set ? str(set.id) : null;
135
+ if (!setId)
136
+ return null;
137
+ let zoneId = str(rows(set.service_zones)[0]?.id);
138
+ if (!zoneId) {
139
+ const countries = await regionCountryCodes(query);
140
+ const { result } = await (0, core_flows_1.createServiceZonesWorkflow)(container).run({
141
+ input: {
142
+ data: [
143
+ {
144
+ fulfillment_set_id: setId,
145
+ name: `${POS_OPTION_NAME} ${suffix}`,
146
+ geo_zones: countries.map((country_code) => ({ type: "country", country_code })),
147
+ },
148
+ ],
149
+ },
150
+ });
151
+ zoneId = result[0].id;
152
+ }
153
+ const currencies = await currencyCodes(query);
154
+ const { result } = await (0, core_flows_1.createShippingOptionsWorkflow)(container).run({
155
+ input: [
156
+ {
157
+ name: POS_OPTION_NAME,
158
+ service_zone_id: zoneId,
159
+ shipping_profile_id: await shippingProfileId(container, query),
160
+ provider_id: providerId,
161
+ price_type: "flat",
162
+ prices: currencies.map((currency_code) => ({ currency_code, amount: 0 })),
163
+ type: {
164
+ label: POS_OPTION_NAME,
165
+ description: "In-store sale from the POS",
166
+ code: POS_OPTION_CODE,
167
+ },
168
+ data: {},
169
+ rules: [
170
+ { attribute: "enabled_in_store", operator: "eq", value: "false" },
171
+ { attribute: "is_return", operator: "eq", value: "false" },
172
+ ],
173
+ },
174
+ ],
175
+ });
176
+ return result[0]?.id ?? null;
177
+ }
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zLW1hbnVhbC1mdWxmaWxsbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wb3MtbWFudWFsLWZ1bGZpbGxtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUhBLHNFQXdGQztBQWpORDs7Ozs7O0dBTUc7QUFDSCxxREFNNkI7QUFFN0IscURBQThFO0FBVzlFLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQTtBQUNyQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUE7QUFFckMsU0FBUyxHQUFHLENBQUMsS0FBYztJQUN6QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQzFELENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxLQUFjO0lBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDdkcsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLFVBQW1CO0lBQ25DLE9BQU8sT0FBTyxVQUFVLEtBQUssUUFBUSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDeEYsQ0FBQztBQUVELEtBQUssVUFBVSxLQUFLLENBQUMsS0FBaUIsRUFBRSxNQUFjLEVBQUUsTUFBZ0IsRUFBRSxPQUFhO0lBQ3JGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN2RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBRUQsS0FBSyxVQUFVLGdCQUFnQixDQUFDLEtBQWlCO0lBQy9DLE1BQU0sU0FBUyxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFBO0lBQ2xGLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQTtJQUMzRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQ2pDLENBQUM7QUFFRCxLQUFLLFVBQVUsWUFBWSxDQUFDLEtBQWlCLEVBQUUsVUFBa0I7SUFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sS0FBSyxDQUM1QixLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCO1FBQ0UsSUFBSTtRQUNKLE1BQU07UUFDTiwwQkFBMEI7UUFDMUIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixtQ0FBbUM7UUFDbkMsb0RBQW9EO1FBQ3BELDZEQUE2RDtLQUM5RCxFQUNELEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUNuQixDQUFBO0lBQ0QsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFBO0FBQ3pCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFFBQWE7SUFDekMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUNsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzNFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxTQUEwQixFQUFFLEtBQWlCO0lBQzVFLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ3JELElBQUksUUFBUTtRQUFFLE9BQU8sUUFBUSxDQUFBO0lBQzdCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMkNBQThCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3JFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO0tBQ3pFLENBQUMsQ0FBQTtJQUNGLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLEVBQUUsQ0FBQTtBQUN0QixDQUFDO0FBRUQsS0FBSyxVQUFVLGFBQWEsQ0FBQyxLQUFpQjtJQUM1QyxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFBO0lBQ2xGLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7SUFDL0IsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUMzQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQ2pELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDakMsSUFBSSxJQUFJO2dCQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQixDQUFDLEtBQWlCO0lBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7SUFDakUsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUMvQixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDekIsSUFBSSxJQUFJO2dCQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLDZCQUE2QixDQUNqRCxTQUEwQixFQUMxQixVQUFrQjtJQUVsQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBMEIsQ0FBQTtJQUV6RixNQUFNLFVBQVUsR0FBRyxNQUFNLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hELElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFNUIsSUFBSSxRQUFRLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ3BELElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFMUIsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDNUMsSUFBSSxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQTtJQUNwRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUEsK0JBQWtCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3RDLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUU7b0JBQ047d0JBQ0UsQ0FBQyxlQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUU7d0JBQzNELENBQUMsZUFBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFFO3FCQUMvRDtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQTtJQUVoRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUEsaURBQW9DLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3hELEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUUsVUFBVTtnQkFDdkIsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLFFBQVEsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTthQUNoRjtTQUNGLENBQUMsQ0FBQTtRQUNGLFFBQVEsR0FBRyxDQUFDLE1BQU0sWUFBWSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQTtRQUM5RCxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM1RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUN0QyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBRXZCLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2pELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sU0FBUyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDakQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSx1Q0FBMEIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakUsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRTtvQkFDSjt3QkFDRSxrQkFBa0IsRUFBRSxLQUFLO3dCQUN6QixJQUFJLEVBQUUsR0FBRyxlQUFlLElBQUksTUFBTSxFQUFFO3dCQUNwQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7cUJBQ3pGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUE7UUFDRixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSwwQ0FBNkIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDcEUsS0FBSyxFQUFFO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLGVBQWUsRUFBRSxNQUFNO2dCQUN2QixtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7Z0JBQzlELFdBQVcsRUFBRSxVQUFVO2dCQUN2QixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3pFLElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsZUFBZTtvQkFDdEIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2dCQUNELElBQUksRUFBRSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7b0JBQ2pFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7aUJBQzNEO2FBQ0Y7U0FDRjtLQUNGLENBQUMsQ0FBQTtJQUNGLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUE7QUFDOUIsQ0FBQyJ9
package/README.md CHANGED
@@ -36,6 +36,7 @@ All routes keep the `/admin/pos/*` paths used by the `medusa-pos` client.
36
36
  |--------|------|---------|
37
37
  | GET | `/admin/pos/orders` | Orders tab list + optional sales total, filtered by sale time (`pos_completed_at`) |
38
38
  | GET | `/admin/pos/draft-orders` | Held carts |
39
+ | GET | `/admin/pos/fulfillment-setup?location_id=` | Preflight: Manual shipping option on the POS stock location (`ready: true/false`) |
39
40
  | POST | `/admin/pos/orders/:id/returns` | POS return (`cash` / `wallet` / `gift_card`) |
40
41
  | POST | `/admin/pos/orders/:id/cancel` | Void sale (full return + cash; `pos_voided`) |
41
42
  | … | `/admin/pos/*` | Finalize, payments, catalog, etc. |
@@ -65,16 +66,18 @@ Admin then shows **Fulfilled + Delivered**. Stock is consumed via Medusa fulfill
65
66
 
66
67
  ### Manual shipping option
67
68
 
68
- POS prefers a **Manual** shipping option on the **same stock location** as the sale. If the location is not linked to Manual (or has no shipping option), Charge still succeeds: the order is converted, paid, and completed. Fulfillment then falls back to `registerFulfillment` and may return `fulfillment_warning` instead of failing the sale.
69
+ POS requires a **Manual** shipping option on the **same stock location** as the till. The client calls `GET /admin/pos/fulfillment-setup` and **blocks Pay / Charge** until `ready` is true.
69
70
 
70
71
  To mark Admin as Fulfilled + Delivered with inventory via Medusa fulfillment:
71
72
 
72
73
  ```text
73
- 1. Admin → Settings → Locations → (your stock location)
74
+ 1. Medusa Admin → Settings → Locations → (your stock location)
74
75
  2. Enable fulfillment provider "Manual"
75
- 3. Add a Shipping option (or Return option) using the Manual provider
76
+ 3. Add a shipping option that uses Manual on that location's fulfillment set
76
77
  ```
77
78
 
79
+ If Manual is missing at finalize time (older POS builds), the sale may still complete with `fulfillment_warning`.
80
+
78
81
  Shiprocket (or other carriers) are **not** used as a POS fallback.
79
82
 
80
83
  `POST /admin/pos/orders/:id/fulfill` uses the same helper (admin repair).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "medusa-pos-plugin",
3
- "version": "0.0.30",
3
+ "version": "0.0.33",
4
4
  "description": "Medusa v2 POS operations: draft carts, finalize, payments, returns, catalog, refunds.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",