@zaamx/netme-pos 0.0.15 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.medusa/server/src/admin/index.js +216 -216
  2. package/.medusa/server/src/admin/index.mjs +220 -220
  3. package/.medusa/server/src/api/admin/orders/sales/pending-by-location/route.js +152 -0
  4. package/.medusa/server/src/api/admin/orders/sales/route.js +398 -0
  5. package/.medusa/server/src/api/middlewares.js +168 -1
  6. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/convert-to-order/route.js +37 -0
  7. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/confirm/route.js +20 -0
  8. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/items/[action_id]/route.js +74 -0
  9. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/items/item/[item_id]/route.js +41 -0
  10. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/items/route.js +31 -0
  11. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/promotions/route.js +31 -0
  12. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/request/route.js +16 -0
  13. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/route.js +32 -0
  14. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/shipping-methods/[action_id]/route.js +32 -0
  15. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/shipping-methods/method/[method_id]/route.js +30 -0
  16. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/edit/shipping-methods/route.js +19 -0
  17. package/.medusa/server/src/api/store/netme-pos/draft-orders/[id]/route.js +63 -0
  18. package/.medusa/server/src/api/store/netme-pos/draft-orders/guards.js +77 -0
  19. package/.medusa/server/src/api/store/netme-pos/draft-orders/helpers.js +19 -0
  20. package/.medusa/server/src/api/store/netme-pos/draft-orders/pricing.js +136 -0
  21. package/.medusa/server/src/api/store/netme-pos/draft-orders/query-config.js +60 -0
  22. package/.medusa/server/src/api/store/netme-pos/draft-orders/route.js +140 -0
  23. package/.medusa/server/src/api/store/netme-pos/draft-orders/validators.js +217 -0
  24. package/.medusa/server/src/api/store/netme-pos/fulfillment-validators.js +74 -0
  25. package/.medusa/server/src/api/store/netme-pos/payment-collections/[id]/mark-as-paid/route.js +34 -0
  26. package/.medusa/server/src/api/store/netme-pos/payment-collections/[id]/payment-sessions/route.js +28 -0
  27. package/.medusa/server/src/api/store/netme-pos/payment-collections/guards.js +27 -0
  28. package/.medusa/server/src/api/store/netme-pos/products/[id]/route.js +10 -0
  29. package/.medusa/server/src/api/store/netme-pos/products/route.js +14 -0
  30. package/.medusa/server/src/api/store/netme-pos/scope.js +106 -0
  31. package/.medusa/server/src/api/store/netme-pos/shipping-options/route.js +100 -0
  32. package/.medusa/server/src/api/store/netme-pos/stock-locations/route.js +45 -0
  33. package/.medusa/server/src/links/agent-draft-order.js +31 -0
  34. package/.medusa/server/src/workflows/ensure-agent-can-act-for/index.js +36 -0
  35. package/package.json +1 -1
@@ -38,6 +38,11 @@ const http_1 = require("@medusajs/framework/http");
38
38
  const context_middlewares_1 = require("./admin/netme-pos/products/context-middlewares");
39
39
  const ProductsQueryConfig = __importStar(require("./admin/netme-pos/products/query-config"));
40
40
  const validators_1 = require("./admin/netme-pos/products/validators");
41
+ const guards_1 = require("./store/netme-pos/draft-orders/guards");
42
+ const scope_1 = require("./store/netme-pos/scope");
43
+ const DraftOrdersQueryConfig = __importStar(require("./store/netme-pos/draft-orders/query-config"));
44
+ const DO = __importStar(require("./store/netme-pos/draft-orders/validators"));
45
+ const FV = __importStar(require("./store/netme-pos/fulfillment-validators"));
41
46
  /**
42
47
  * Middleware chain for the admin product clone of `GET /store/products`.
43
48
  *
@@ -57,6 +62,18 @@ const clearContextKeys = (0, http_1.clearFiltersByKey)([
57
62
  "customer",
58
63
  "stock_location_id",
59
64
  ]);
65
+ /**
66
+ * Store draft-orders for customer agents (docs/store-draft-orders-spec.md §8).
67
+ *
68
+ * `/store/*` already gets the publishable-key middleware and a permissive
69
+ * (`allowUnauthenticated`) customer auth globally; `authStoreCustomer` is the
70
+ * STRICT version that rejects anonymous requests.
71
+ *
72
+ * Entries WITHOUT a `method` are mounted with `app.use(matcher)`, i.e. they
73
+ * PREFIX-match: the single `:id` entry guards the whole `/:id/**` subtree.
74
+ */
75
+ const authStoreCustomer = (0, http_1.authenticate)("customer", ["session", "bearer"]);
76
+ const DRAFT_ORDERS_BASE = "/store/netme-pos/draft-orders";
60
77
  exports.default = (0, http_1.defineMiddlewares)({
61
78
  routes: [
62
79
  {
@@ -86,6 +103,156 @@ exports.default = (0, http_1.defineMiddlewares)({
86
103
  clearContextKeys,
87
104
  ],
88
105
  },
106
+ // ------------------------------------------------------------------
107
+ // Store draft-orders (agent) — auth + ownership guard (prefix-mounted)
108
+ // ------------------------------------------------------------------
109
+ {
110
+ matcher: DRAFT_ORDERS_BASE,
111
+ middlewares: [authStoreCustomer],
112
+ },
113
+ {
114
+ matcher: `${DRAFT_ORDERS_BASE}/:id`,
115
+ middlewares: [guards_1.ensureDraftOrderAgent],
116
+ },
117
+ {
118
+ matcher: "/store/netme-pos/payment-collections",
119
+ middlewares: [authStoreCustomer],
120
+ },
121
+ // ------------------------------------------------------------------
122
+ // Store catalog / locations / shipping for the agent — same pricing
123
+ // engine as /admin/netme-pos/products, scoped to the publishable key.
124
+ // ------------------------------------------------------------------
125
+ {
126
+ method: ["GET"],
127
+ matcher: "/store/netme-pos/stock-locations",
128
+ middlewares: [
129
+ authStoreCustomer,
130
+ (0, framework_1.validateAndTransformQuery)(FV.StoreGetStockLocationsParams, FV.listStockLocationsQueryConfig),
131
+ ],
132
+ },
133
+ {
134
+ method: ["GET"],
135
+ matcher: "/store/netme-pos/shipping-options",
136
+ middlewares: [
137
+ authStoreCustomer,
138
+ (0, framework_1.validateAndTransformQuery)(FV.StoreGetShippingOptionsParams, FV.listShippingOptionsQueryConfig),
139
+ ],
140
+ },
141
+ {
142
+ method: ["GET"],
143
+ matcher: "/store/netme-pos/products",
144
+ middlewares: [
145
+ authStoreCustomer,
146
+ (0, framework_1.validateAndTransformQuery)(validators_1.AdminGetProductsParams, ProductsQueryConfig.listProductQueryConfig),
147
+ scope_1.scopeProductsToPublishableKey,
148
+ context_middlewares_1.applyMaybeLinkFilterIfNecessary,
149
+ scope_1.forcePublishedStatus,
150
+ (0, context_middlewares_1.normalizeDataForContext)(),
151
+ (0, context_middlewares_1.setPricingContextFromCustomer)(),
152
+ (0, context_middlewares_1.setTaxContext)(),
153
+ clearContextKeys,
154
+ ],
155
+ },
156
+ {
157
+ method: ["GET"],
158
+ matcher: "/store/netme-pos/products/:id",
159
+ middlewares: [
160
+ authStoreCustomer,
161
+ (0, framework_1.validateAndTransformQuery)(validators_1.AdminGetProductsParams, ProductsQueryConfig.retrieveProductQueryConfig),
162
+ (0, http_1.applyParamsAsFilters)({ id: "id" }),
163
+ scope_1.scopeProductsToPublishableKey,
164
+ context_middlewares_1.applyMaybeLinkFilterIfNecessary,
165
+ scope_1.forcePublishedStatus,
166
+ (0, context_middlewares_1.normalizeDataForContext)(),
167
+ (0, context_middlewares_1.setPricingContextFromCustomer)(),
168
+ (0, context_middlewares_1.setTaxContext)(),
169
+ clearContextKeys,
170
+ ],
171
+ },
172
+ // ------------------------------------------------------------------
173
+ // Store draft-orders — per-route validation (§8)
174
+ // ------------------------------------------------------------------
175
+ {
176
+ method: ["GET"],
177
+ matcher: DRAFT_ORDERS_BASE,
178
+ middlewares: [
179
+ (0, framework_1.validateAndTransformQuery)(DO.StoreGetDraftOrdersParams, DraftOrdersQueryConfig.listTransformQueryConfig),
180
+ ],
181
+ },
182
+ {
183
+ method: ["POST"],
184
+ matcher: DRAFT_ORDERS_BASE,
185
+ middlewares: [
186
+ (0, http_1.validateAndTransformBody)(DO.StoreCreateDraftOrder),
187
+ (0, framework_1.validateAndTransformQuery)(DO.StoreGetDraftOrderParams, DraftOrdersQueryConfig.retrieveTransformQueryConfig),
188
+ ],
189
+ },
190
+ {
191
+ method: ["GET"],
192
+ matcher: `${DRAFT_ORDERS_BASE}/:id`,
193
+ middlewares: [
194
+ (0, framework_1.validateAndTransformQuery)(DO.StoreGetDraftOrderParams, DraftOrdersQueryConfig.retrieveTransformQueryConfig),
195
+ ],
196
+ },
197
+ {
198
+ method: ["POST"],
199
+ matcher: `${DRAFT_ORDERS_BASE}/:id`,
200
+ middlewares: [
201
+ (0, http_1.validateAndTransformBody)(DO.StoreUpdateDraftOrder),
202
+ (0, framework_1.validateAndTransformQuery)(DO.StoreGetDraftOrderParams, DraftOrdersQueryConfig.retrieveTransformQueryConfig),
203
+ ],
204
+ },
205
+ {
206
+ method: ["POST"],
207
+ matcher: `${DRAFT_ORDERS_BASE}/:id/convert-to-order`,
208
+ middlewares: [
209
+ (0, framework_1.validateAndTransformQuery)(DO.StoreGetDraftOrderParams, DraftOrdersQueryConfig.retrieveTransformQueryConfig),
210
+ ],
211
+ },
212
+ {
213
+ method: ["POST"],
214
+ matcher: `${DRAFT_ORDERS_BASE}/:id/edit/items`,
215
+ middlewares: [(0, http_1.validateAndTransformBody)(DO.StoreAddDraftOrderItems)],
216
+ },
217
+ {
218
+ method: ["POST"],
219
+ matcher: `${DRAFT_ORDERS_BASE}/:id/edit/items/item/:item_id`,
220
+ middlewares: [(0, http_1.validateAndTransformBody)(DO.StoreUpdateDraftOrderItem)],
221
+ },
222
+ {
223
+ method: ["POST"],
224
+ matcher: `${DRAFT_ORDERS_BASE}/:id/edit/items/:action_id`,
225
+ middlewares: [
226
+ (0, http_1.validateAndTransformBody)(DO.StoreUpdateDraftOrderActionItem),
227
+ ],
228
+ },
229
+ {
230
+ method: ["POST", "DELETE"],
231
+ matcher: `${DRAFT_ORDERS_BASE}/:id/edit/promotions`,
232
+ middlewares: [(0, http_1.validateAndTransformBody)(DO.StoreDraftOrderPromotions)],
233
+ },
234
+ {
235
+ method: ["POST"],
236
+ matcher: `${DRAFT_ORDERS_BASE}/:id/edit/shipping-methods`,
237
+ middlewares: [
238
+ (0, http_1.validateAndTransformBody)(DO.StoreAddDraftOrderShippingMethod),
239
+ ],
240
+ },
241
+ {
242
+ method: ["POST"],
243
+ matcher: `${DRAFT_ORDERS_BASE}/:id/edit/shipping-methods/method/:method_id`,
244
+ middlewares: [
245
+ (0, http_1.validateAndTransformBody)(DO.StoreUpdateDraftOrderShippingMethod),
246
+ ],
247
+ },
248
+ {
249
+ method: ["POST"],
250
+ matcher: `${DRAFT_ORDERS_BASE}/:id/edit/shipping-methods/:action_id`,
251
+ middlewares: [
252
+ (0, http_1.validateAndTransformBody)(DO.StoreUpdateDraftOrderActionShippingMethod),
253
+ ],
254
+ },
255
+ // edit begin/cancel, request, confirm: auth + guard only (no body).
89
256
  ],
90
257
  });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQStEO0FBQy9ELG1EQUlpQztBQUNqQyx3RkFNdUQ7QUFDdkQsNkZBQThFO0FBQzlFLHNFQUE4RTtBQUU5RTs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHdCQUFpQixFQUFDO0lBQ3pDLFdBQVc7SUFDWCxjQUFjO0lBQ2QsVUFBVTtJQUNWLFNBQVM7SUFDVCxVQUFVO0lBQ1YsbUJBQW1CO0NBQ3BCLENBQUMsQ0FBQTtBQUVGLGtCQUFlLElBQUEsd0JBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ047WUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDZixPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFdBQVcsRUFBRTtnQkFDWCxJQUFBLHFDQUF5QixFQUN2QixtQ0FBc0IsRUFDdEIsbUJBQW1CLENBQUMsc0JBQXNCLENBQzNDO2dCQUNELHFEQUErQjtnQkFDL0IsSUFBQSwrQ0FBeUIsR0FBRTtnQkFDM0IsSUFBQSw2Q0FBdUIsR0FBRTtnQkFDekIsSUFBQSxtREFBNkIsR0FBRTtnQkFDL0IsSUFBQSxtQ0FBYSxHQUFFO2dCQUNmLGdCQUFnQjthQUNqQjtTQUNGO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDZixPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLFdBQVcsRUFBRTtnQkFDWCxJQUFBLHFDQUF5QixFQUN2QixtQ0FBc0IsRUFDdEIsbUJBQW1CLENBQUMsMEJBQTBCLENBQy9DO2dCQUNELElBQUEsMkJBQW9CLEVBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ2xDLHFEQUErQjtnQkFDL0IsSUFBQSwrQ0FBeUIsR0FBRTtnQkFDM0IsSUFBQSw2Q0FBdUIsR0FBRTtnQkFDekIsSUFBQSxtREFBNkIsR0FBRTtnQkFDL0IsSUFBQSxtQ0FBYSxHQUFFO2dCQUNmLGdCQUFnQjthQUNqQjtTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUEifQ==
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQStEO0FBQy9ELG1EQU1pQztBQUNqQyx3RkFNdUQ7QUFDdkQsNkZBQThFO0FBQzlFLHNFQUE4RTtBQUM5RSxrRUFBNkU7QUFDN0UsbURBR2dDO0FBQ2hDLG9HQUFxRjtBQUNyRiw4RUFBK0Q7QUFDL0QsNkVBQThEO0FBRTlEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLElBQUEsd0JBQWlCLEVBQUM7SUFDekMsV0FBVztJQUNYLGNBQWM7SUFDZCxVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixtQkFBbUI7Q0FDcEIsQ0FBQyxDQUFBO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7QUFDekUsTUFBTSxpQkFBaUIsR0FBRywrQkFBK0IsQ0FBQTtBQUV6RCxrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2YsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxxQ0FBeUIsRUFDdkIsbUNBQXNCLEVBQ3RCLG1CQUFtQixDQUFDLHNCQUFzQixDQUMzQztnQkFDRCxxREFBK0I7Z0JBQy9CLElBQUEsK0NBQXlCLEdBQUU7Z0JBQzNCLElBQUEsNkNBQXVCLEdBQUU7Z0JBQ3pCLElBQUEsbURBQTZCLEdBQUU7Z0JBQy9CLElBQUEsbUNBQWEsR0FBRTtnQkFDZixnQkFBZ0I7YUFDakI7U0FDRjtRQUNEO1lBQ0UsTUFBTSxFQUFFLENBQUMs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
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const ensure_agent_can_act_for_1 = require("../../../../../../workflows/ensure-agent-can-act-for");
7
+ const guards_1 = require("../../guards");
8
+ /**
9
+ * `POST /store/netme-pos/draft-orders/:id/convert-to-order` (spec §7.6).
10
+ *
11
+ * ⚠️ Converting does NOT charge: the payment (wallet credit lines included)
12
+ * must be settled BEFORE converting (spec §10) or it is lost on conversion.
13
+ */
14
+ async function POST(req, res) {
15
+ const actorId = req.auth_context.actor_id;
16
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
17
+ // MLM policy re-check on conversion (§3.2) against the order's target.
18
+ const order = await (0, guards_1.assertAgentDraftOrder)(req.scope, actorId, req.params.id);
19
+ await (0, ensure_agent_can_act_for_1.ensureAgentCanActForWorkflow)(req.scope).run({
20
+ input: {
21
+ agent_customer_id: actorId,
22
+ target_customer_id: order.customer_id,
23
+ },
24
+ });
25
+ await (0, core_flows_1.convertDraftOrderWorkflow)(req.scope).run({
26
+ input: {
27
+ id: req.params.id,
28
+ },
29
+ });
30
+ const result = await query.graph({
31
+ entity: "orders",
32
+ filters: { id: req.params.id },
33
+ fields: req.queryConfig.fields,
34
+ });
35
+ res.status(200).json({ order: result.data[0] });
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9jb252ZXJ0LXRvLW9yZGVyL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsb0JBNkJDO0FBeENELHFEQUFxRTtBQUNyRSw0REFBdUU7QUFDdkUsbUdBQW1HO0FBQ25HLHlDQUFvRDtBQUVwRDs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFBO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLHVFQUF1RTtJQUN2RSxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsOEJBQXFCLEVBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1RSxNQUFNLElBQUEsdURBQTRCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNoRCxLQUFLLEVBQUU7WUFDTCxpQkFBaUIsRUFBRSxPQUFPO1lBQzFCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQ3RDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxJQUFBLHNDQUF5QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDN0MsS0FBSyxFQUFFO1lBQ0wsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtTQUNsQjtLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMvQixNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7UUFDOUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtLQUMvQixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNqRCxDQUFDIn0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
5
+ /**
6
+ * `POST /store/netme-pos/draft-orders/:id/edit/confirm` (spec §7.10).
7
+ * Each confirm recalculates totals and creates/updates the draft's payment
8
+ * collection (`createOrUpdateOrderPaymentCollectionWorkflow` inside core).
9
+ */
10
+ async function POST(req, res) {
11
+ const { id } = req.params;
12
+ const { result } = await (0, core_flows_1.confirmDraftOrderEditWorkflow)(req.scope).run({
13
+ input: {
14
+ order_id: id,
15
+ confirmed_by: req.auth_context.actor_id,
16
+ },
17
+ });
18
+ res.json({ draft_order_preview: result });
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L2NvbmZpcm0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSxvQkFjQztBQXJCRCw0REFBMkU7QUFFM0U7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMENBQTZCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNwRSxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsRUFBRTtZQUNaLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDeEM7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUMzQyxDQUFDIn0=
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ exports.DELETE = DELETE;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ /**
8
+ * `/store/netme-pos/draft-orders/:id/edit/items/:action_id` (spec §7.13) —
9
+ * update / remove a pending (change-set) item.
10
+ *
11
+ * Same bundle protection as §7.12: quantity changes on bundle lines are
12
+ * blocked. Fails CLOSED: if the action can't be resolved for this order, the
13
+ * request is rejected (a bundle child is a $0 line — letting an unknown action
14
+ * through would allow free product).
15
+ */
16
+ const bundleQuantityLocked = () => new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Cannot change the quantity of a bundle line — remove the bundle and add it again");
17
+ const assertNotBundleQuantityChange = async (req, orderId, actionId) => {
18
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
19
+ // `order_change_action` is not an entity of the Order module's joiner config
20
+ // (2.14.2), so it can't be queried directly — reach it through `order_change`.
21
+ const { data: changes } = await query.graph({
22
+ entity: "order_change",
23
+ filters: { order_id: orderId },
24
+ fields: ["id", "actions.id", "actions.action", "actions.details"],
25
+ });
26
+ const action = changes
27
+ .flatMap((c) => c.actions ?? [])
28
+ .find((a) => a?.id === actionId);
29
+ if (!action) {
30
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Action ${actionId} was not found in draft order ${orderId}`);
31
+ }
32
+ const details = (action.details ?? {});
33
+ // ITEM_ADD: the line only exists inside the pending change, so its bundle
34
+ // metadata lives in `details.metadata` (it is NOT in order.items yet).
35
+ if (details.metadata?.bundle_type) {
36
+ throw bundleQuantityLocked();
37
+ }
38
+ // ITEM_UPDATE on an existing line: its metadata lives on the order item.
39
+ const itemId = details.reference_id;
40
+ if (itemId) {
41
+ const { data: orders } = await query.graph({
42
+ entity: "order",
43
+ filters: { id: orderId },
44
+ fields: ["id", "items.id", "items.metadata"],
45
+ });
46
+ const item = orders[0]?.items?.find((i) => i?.id === itemId);
47
+ if (item?.metadata?.bundle_type) {
48
+ throw bundleQuantityLocked();
49
+ }
50
+ }
51
+ };
52
+ async function POST(req, res) {
53
+ const { id, action_id } = req.params;
54
+ await assertNotBundleQuantityChange(req, id, action_id);
55
+ const { result } = await (0, core_flows_1.updateDraftOrderActionItemWorkflow)(req.scope).run({
56
+ input: {
57
+ data: req.validatedBody,
58
+ order_id: id,
59
+ action_id,
60
+ },
61
+ });
62
+ res.json({ draft_order_preview: result });
63
+ }
64
+ async function DELETE(req, res) {
65
+ const { id, action_id } = req.params;
66
+ const { result } = await (0, core_flows_1.removeDraftOrderActionItemWorkflow)(req.scope).run({
67
+ input: {
68
+ order_id: id,
69
+ action_id,
70
+ },
71
+ });
72
+ res.json({ draft_order_preview: result });
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L2l0ZW1zL1thY3Rpb25faWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkVBLG9CQWlCQztBQUVELHdCQWNDO0FBMUdELHFEQUdrQztBQUNsQyw0REFHb0M7QUFHcEM7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRSxDQUNoQyxJQUFJLG1CQUFXLENBQ2IsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3QixrRkFBa0YsQ0FDbkYsQ0FBQTtBQUVILE1BQU0sNkJBQTZCLEdBQUcsS0FBSyxFQUN6QyxHQUFvRSxFQUNwRSxPQUFlLEVBQ2YsUUFBZ0IsRUFDaEIsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLDZFQUE2RTtJQUM3RSwrRUFBK0U7SUFDL0UsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUMsTUFBTSxFQUFFLGNBQWM7UUFDdEIsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtRQUM5QixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDO0tBQ2xFLENBQUMsQ0FBQTtJQUNGLE1BQU0sTUFBTSxHQUFHLE9BQU87U0FDbkIsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNwQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFF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
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ /**
7
+ * `POST /store/netme-pos/draft-orders/:id/edit/items/item/:item_id`
8
+ * (spec §7.12) — update an existing item's quantity. No prices.
9
+ *
10
+ * Bundle lines are protected: changing the quantity of a bundle parent or
11
+ * child is blocked (children are $0 lines — a free-product exploit otherwise).
12
+ * The client removes/re-adds the whole bundle instead, same as the POS front.
13
+ */
14
+ async function POST(req, res) {
15
+ const { id, item_id } = req.params;
16
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
17
+ const { data: orders } = await query.graph({
18
+ entity: "order",
19
+ filters: { id },
20
+ fields: ["id", "items.id", "items.quantity", "items.metadata"],
21
+ });
22
+ const item = orders[0]?.items?.find((i) => i?.id === item_id);
23
+ if (item?.metadata?.bundle_type &&
24
+ Number(req.validatedBody.quantity) !== Number(item.quantity)) {
25
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Cannot change the quantity of a bundle line — remove the bundle and add it again");
26
+ }
27
+ const { result } = await (0, core_flows_1.updateDraftOrderItemWorkflow)(req.scope).run({
28
+ input: {
29
+ ...req.validatedBody,
30
+ order_id: id,
31
+ items: [
32
+ {
33
+ ...req.validatedBody,
34
+ id: item_id,
35
+ },
36
+ ],
37
+ },
38
+ });
39
+ res.json({ draft_order_preview: result });
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L2l0ZW1zL2l0ZW0vW2l0ZW1faWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBbUJBLG9CQXNDQztBQXJERCxxREFHa0M7QUFDbEMsNERBQTBFO0FBRzFFOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUE4RCxFQUM5RCxHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDbEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekMsTUFBTSxFQUFFLE9BQU87UUFDZixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDZixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0tBQy9ELENBQUMsQ0FBQTtJQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFBO0lBRWxFLElBQ0UsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXO1FBQzNCLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQzVELENBQUM7UUFDRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3QixrRkFBa0YsQ0FDbkYsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLHlDQUE0QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDbkUsS0FBSyxFQUFFO1lBQ0wsR0FBRyxHQUFHLENBQUMsYUFBYTtZQUNwQixRQUFRLEVBQUUsRUFBRTtZQUNaLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxHQUFHLEdBQUcsQ0FBQyxhQUFhO29CQUNwQixFQUFFLEVBQUUsT0FBTztpQkFDWjthQUNGO1NBQ0s7S0FDVCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUMzQyxDQUFDIn0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
5
+ const guards_1 = require("../../../guards");
6
+ const pricing_1 = require("../../../pricing");
7
+ /**
8
+ * `POST /store/netme-pos/draft-orders/:id/edit/items` (spec §7.11) — the main
9
+ * cart route. The client declares WHAT (variants, quantities, bundle
10
+ * structure); prices are resolved server-side for the order's TARGET customer
11
+ * (`buildResolvedLineItems`, §4–§5). Any client-sent price is rejected by the
12
+ * strict validator.
13
+ */
14
+ async function POST(req, res) {
15
+ const { id } = req.params;
16
+ // Target customer + region come from the order itself, never the client.
17
+ const order = await (0, guards_1.assertAgentDraftOrder)(req.scope, req.auth_context.actor_id, id);
18
+ const resolved = await (0, pricing_1.buildResolvedLineItems)(req.scope, {
19
+ customerId: order.customer_id,
20
+ regionId: order.region_id,
21
+ items: req.validatedBody.items,
22
+ });
23
+ const { result } = await (0, core_flows_1.addDraftOrderItemsWorkflow)(req.scope).run({
24
+ input: {
25
+ items: resolved,
26
+ order_id: id,
27
+ },
28
+ });
29
+ res.json({ draft_order_preview: result });
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L2l0ZW1zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLG9CQTJCQztBQXZDRCw0REFBd0U7QUFDeEUsNENBQXVEO0FBQ3ZELDhDQUF5RDtBQUd6RDs7Ozs7O0dBTUc7QUFDSSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUE0RCxFQUM1RCxHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6Qix5RUFBeUU7SUFDekUsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLDhCQUFxQixFQUN2QyxHQUFHLENBQUMsS0FBSyxFQUNULEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUN6QixFQUFFLENBQ0gsQ0FBQTtJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxnQ0FBc0IsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1FBQ3ZELFVBQVUsRUFBRSxLQUFLLENBQUMsV0FBVztRQUM3QixRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDekIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSztLQUMvQixDQUFDLENBQUE7SUFFRixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLHVDQUEwQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDakUsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFLFFBQVE7WUFDZixRQUFRLEVBQUUsRUFBRTtTQUNiO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDM0MsQ0FBQyJ9
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ exports.DELETE = DELETE;
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ /**
7
+ * `/store/netme-pos/draft-orders/:id/edit/promotions` (spec §7.14) —
8
+ * add / remove promo codes. Any public promo code is accepted (an allowlist
9
+ * per agent can be layered on later if the business requires it).
10
+ */
11
+ async function POST(req, res) {
12
+ const { id } = req.params;
13
+ const { result } = await (0, core_flows_1.addDraftOrderPromotionWorkflow)(req.scope).run({
14
+ input: {
15
+ ...req.validatedBody,
16
+ order_id: id,
17
+ },
18
+ });
19
+ res.json({ draft_order_preview: result });
20
+ }
21
+ async function DELETE(req, res) {
22
+ const { id } = req.params;
23
+ const { result } = await (0, core_flows_1.removeDraftOrderPromotionsWorkflow)(req.scope).run({
24
+ input: {
25
+ ...req.validatedBody,
26
+ order_id: id,
27
+ },
28
+ });
29
+ res.json({ draft_order_preview: result });
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L3Byb21vdGlvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsb0JBY0M7QUFFRCx3QkFjQztBQTFDRCw0REFHb0M7QUFHcEM7Ozs7R0FJRztBQUVJLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQThELEVBQzlELEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMkNBQThCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNyRSxLQUFLLEVBQUU7WUFDTCxHQUFHLEdBQUcsQ0FBQyxhQUFhO1lBQ3BCLFFBQVEsRUFBRSxFQUFFO1NBQ2I7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRU0sS0FBSyxVQUFVLE1BQU0sQ0FDMUIsR0FBOEQsRUFDOUQsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFekIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSwrQ0FBa0MsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3pFLEtBQUssRUFBRTtZQUNMLEdBQUcsR0FBRyxDQUFDLGFBQWE7WUFDcEIsUUFBUSxFQUFFLEVBQUU7U0FDYjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQzNDLENBQUMifQ==
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
5
+ /** `POST /store/netme-pos/draft-orders/:id/edit/request` (spec §7.9). */
6
+ async function POST(req, res) {
7
+ const { id } = req.params;
8
+ const { result } = await (0, core_flows_1.requestDraftOrderEditWorkflow)(req.scope).run({
9
+ input: {
10
+ order_id: id,
11
+ requested_by: req.auth_context.actor_id,
12
+ },
13
+ });
14
+ res.json({ draft_order_preview: result });
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L3JlcXVlc3Qvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPQSxvQkFjQztBQWpCRCw0REFBMkU7QUFFM0UseUVBQXlFO0FBQ2xFLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMENBQTZCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNwRSxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsRUFBRTtZQUNaLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDeEM7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUMzQyxDQUFDIn0=
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ exports.DELETE = DELETE;
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ /**
7
+ * `/store/netme-pos/draft-orders/:id/edit` — begin / cancel the edit cycle
8
+ * (spec §7.7–§7.8).
9
+ */
10
+ async function POST(req, res) {
11
+ const { id } = req.params;
12
+ const { result } = await (0, core_flows_1.beginDraftOrderEditWorkflow)(req.scope).run({
13
+ input: {
14
+ order_id: id,
15
+ },
16
+ });
17
+ res.json({ draft_order_preview: result });
18
+ }
19
+ async function DELETE(req, res) {
20
+ const { id } = req.params;
21
+ await (0, core_flows_1.cancelDraftOrderEditWorkflow)(req.scope).run({
22
+ input: {
23
+ order_id: id,
24
+ },
25
+ });
26
+ res.status(200).json({
27
+ id,
28
+ object: "draft-order-edit",
29
+ deleted: true,
30
+ });
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBY0Esb0JBYUM7QUFFRCx3QkFpQkM7QUExQ0QsNERBR29DO0FBRXBDOzs7R0FHRztBQUVJLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsd0NBQTJCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNsRSxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsRUFBRTtTQUNiO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDM0MsQ0FBQztBQUVNLEtBQUssVUFBVSxNQUFNLENBQzFCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sSUFBQSx5Q0FBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2hELEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxFQUFFO1NBQ2I7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuQixFQUFFO1FBQ0YsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsQ0FBQTtBQUNKLENBQUMifQ==
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ exports.DELETE = DELETE;
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ /**
7
+ * `/store/netme-pos/draft-orders/:id/edit/shipping-methods/:action_id`
8
+ * (spec §7.17) — update / remove a pending (change-set) shipping method.
9
+ * No `custom_amount`.
10
+ */
11
+ async function POST(req, res) {
12
+ const { id, action_id } = req.params;
13
+ const { result } = await (0, core_flows_1.updateDraftOrderActionShippingMethodWorkflow)(req.scope).run({
14
+ input: {
15
+ data: { ...req.validatedBody },
16
+ order_id: id,
17
+ action_id,
18
+ },
19
+ });
20
+ res.json({ draft_order_preview: result });
21
+ }
22
+ async function DELETE(req, res) {
23
+ const { id, action_id } = req.params;
24
+ const { result } = await (0, core_flows_1.removeDraftOrderActionShippingMethodWorkflow)(req.scope).run({
25
+ input: {
26
+ order_id: id,
27
+ action_id,
28
+ },
29
+ });
30
+ res.json({ draft_order_preview: result });
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L3NoaXBwaW5nLW1ldGhvZHMvW2FjdGlvbl9pZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsb0JBaUJDO0FBRUQsd0JBZ0JDO0FBL0NELDREQUdvQztBQUdwQzs7OztHQUlHO0FBRUksS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBOEUsRUFDOUUsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEseURBQTRDLEVBQ25FLEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQyxHQUFHLENBQUM7UUFDSixLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDOUIsUUFBUSxFQUFFLEVBQUU7WUFDWixTQUFTO1NBQ1Y7S0FDRixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRU0sS0FBSyxVQUFVLE1BQU0sQ0FDMUIsR0FBK0IsRUFDL0IsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEseURBQTRDLEVBQ25FLEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQyxHQUFHLENBQUM7UUFDSixLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsRUFBRTtZQUNaLFNBQVM7U0FDVjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQzNDLENBQUMifQ==
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ exports.DELETE = DELETE;
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ /**
7
+ * `/store/netme-pos/draft-orders/:id/edit/shipping-methods/method/:method_id`
8
+ * (spec §7.16) — update / remove an existing shipping method. No `custom_amount`.
9
+ */
10
+ async function POST(req, res) {
11
+ const { id, method_id } = req.params;
12
+ const { result } = await (0, core_flows_1.updateDraftOrderShippingMethodWorkflow)(req.scope).run({
13
+ input: {
14
+ data: { shipping_method_id: method_id, ...req.validatedBody },
15
+ order_id: id,
16
+ },
17
+ });
18
+ res.json({ draft_order_preview: result });
19
+ }
20
+ async function DELETE(req, res) {
21
+ const { id, method_id } = req.params;
22
+ const { result } = await (0, core_flows_1.removeDraftOrderShippingMethodWorkflow)(req.scope).run({
23
+ input: {
24
+ order_id: id,
25
+ shipping_method_id: method_id,
26
+ },
27
+ });
28
+ res.json({ draft_order_preview: result });
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L3NoaXBwaW5nLW1ldGhvZHMvbWV0aG9kL1ttZXRob2RfaWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsb0JBZ0JDO0FBRUQsd0JBZ0JDO0FBN0NELDREQUdvQztBQUdwQzs7O0dBR0c7QUFFSSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUF3RSxFQUN4RSxHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxtREFBc0MsRUFDN0QsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDN0QsUUFBUSxFQUFFLEVBQUU7U0FDYjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFTSxLQUFLLFVBQVUsTUFBTSxDQUMxQixHQUErQixFQUMvQixHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxtREFBc0MsRUFDN0QsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxFQUFFO1lBQ1osa0JBQWtCLEVBQUUsU0FBUztTQUM5QjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQzNDLENBQUMifQ==
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
5
+ /**
6
+ * `POST /store/netme-pos/draft-orders/:id/edit/shipping-methods` (spec §7.15).
7
+ * No `custom_amount` — the amount always comes from the shipping option.
8
+ */
9
+ async function POST(req, res) {
10
+ const { id } = req.params;
11
+ const { result } = await (0, core_flows_1.addDraftOrderShippingMethodsWorkflow)(req.scope).run({
12
+ input: {
13
+ order_id: id,
14
+ ...req.validatedBody,
15
+ },
16
+ });
17
+ res.json({ draft_order_preview: result });
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL25ldG1lLXBvcy9kcmFmdC1vcmRlcnMvW2lkXS9lZGl0L3NoaXBwaW5nLW1ldGhvZHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSxvQkFjQztBQXJCRCw0REFBa0Y7QUFHbEY7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBcUUsRUFDckUsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFekIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxpREFBb0MsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzNFLEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxFQUFFO1lBQ1osR0FBRyxHQUFHLENBQUMsYUFBYTtTQUNyQjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQzNDLENBQUMifQ==