@hszrdm/core 1.5.0 → 1.7.0

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 (48) hide show
  1. package/.medusa/server/src/admin/index.js +3834 -2905
  2. package/.medusa/server/src/admin/index.mjs +3834 -2905
  3. package/.medusa/server/src/api/admin/core-carts/[id]/items/[itemId]/route.d.ts +3 -0
  4. package/.medusa/server/src/api/admin/core-carts/[id]/items/[itemId]/route.js +64 -0
  5. package/.medusa/server/src/api/admin/core-carts/[id]/items/route.d.ts +2 -0
  6. package/.medusa/server/src/api/admin/core-carts/[id]/items/route.js +40 -0
  7. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/[code]/route.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/[code]/route.js +40 -0
  9. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/route.d.ts +2 -0
  10. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/route.js +41 -0
  11. package/.medusa/server/src/api/admin/core-carts/[id]/route.d.ts +2 -0
  12. package/.medusa/server/src/api/admin/core-carts/[id]/route.js +28 -0
  13. package/.medusa/server/src/api/admin/core-carts/customer/[id]/route.d.ts +2 -0
  14. package/.medusa/server/src/api/admin/core-carts/customer/[id]/route.js +34 -0
  15. package/.medusa/server/src/api/admin/core-carts/route.d.ts +3 -0
  16. package/.medusa/server/src/api/admin/core-carts/route.js +69 -0
  17. package/.medusa/server/src/api/admin/shared-cart/settings/route.d.ts +5 -0
  18. package/.medusa/server/src/api/admin/shared-cart/settings/route.js +31 -0
  19. package/.medusa/server/src/api/middlewares.js +9 -1
  20. package/.medusa/server/src/api/store/core-carts/me/active/route.d.ts +2 -0
  21. package/.medusa/server/src/api/store/core-carts/me/active/route.js +54 -0
  22. package/.medusa/server/src/api/store/shared-carts/[token]/route.d.ts +2 -0
  23. package/.medusa/server/src/api/store/shared-carts/[token]/route.js +52 -0
  24. package/.medusa/server/src/api/store/shared-carts/route.d.ts +13 -0
  25. package/.medusa/server/src/api/store/shared-carts/route.js +78 -0
  26. package/.medusa/server/src/core/admin-cart-management.d.ts +18 -0
  27. package/.medusa/server/src/core/admin-cart-management.js +102 -0
  28. package/.medusa/server/src/core/admin-cart-visibility.d.ts +94 -0
  29. package/.medusa/server/src/core/admin-cart-visibility.js +192 -0
  30. package/.medusa/server/src/core/cart-observability.d.ts +23 -0
  31. package/.medusa/server/src/core/cart-observability.js +54 -0
  32. package/.medusa/server/src/core/customer-cart-resume.d.ts +21 -0
  33. package/.medusa/server/src/core/customer-cart-resume.js +72 -0
  34. package/.medusa/server/src/core/version.d.ts +2 -2
  35. package/.medusa/server/src/core/version.js +2 -2
  36. package/.medusa/server/src/jobs/abandoned-cart-recovery.js +6 -7
  37. package/.medusa/server/src/modules/shared-cart/index.d.ts +21 -0
  38. package/.medusa/server/src/modules/shared-cart/index.js +13 -0
  39. package/.medusa/server/src/modules/shared-cart/migrations/Migration20261102010000.d.ts +5 -0
  40. package/.medusa/server/src/modules/shared-cart/migrations/Migration20261102010000.js +16 -0
  41. package/.medusa/server/src/modules/shared-cart/models/shared-cart.d.ts +10 -0
  42. package/.medusa/server/src/modules/shared-cart/models/shared-cart.js +17 -0
  43. package/.medusa/server/src/modules/shared-cart/service.d.ts +14 -0
  44. package/.medusa/server/src/modules/shared-cart/service.js +11 -0
  45. package/.medusa/server/src/modules/shared-cart/settings.d.ts +7 -0
  46. package/.medusa/server/src/modules/shared-cart/settings.js +64 -0
  47. package/README.md +1 -1
  48. package/package.json +29 -8
@@ -0,0 +1,3 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function POST(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
3
+ export declare function DELETE(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,64 @@
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
+ const admin_cart_visibility_1 = require("../../../../../../core/admin-cart-visibility");
8
+ const admin_cart_management_1 = require("../../../../../../core/admin-cart-management");
9
+ const cart_observability_1 = require("../../../../../../core/cart-observability");
10
+ const integration_settings_1 = require("../../../../../../modules/integration-settings");
11
+ async function POST(req, res) {
12
+ try {
13
+ const cartId = (0, admin_cart_management_1.requireAdminCartId)(req.params?.id);
14
+ const itemId = (0, admin_cart_management_1.requireLineItemId)(req.params?.itemId);
15
+ const body = (req.body || {});
16
+ const quantity = (0, admin_cart_management_1.requireCartQuantity)(body.quantity);
17
+ const { query, delayHours } = await cartContext(req);
18
+ (0, admin_cart_management_1.assertAdminCartMutable)(await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours));
19
+ await (0, core_flows_1.updateLineItemInCartWorkflow)(req.scope).run({
20
+ input: {
21
+ cart_id: cartId,
22
+ item_id: itemId,
23
+ update: { quantity },
24
+ },
25
+ });
26
+ const cart = await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours);
27
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
28
+ return res.json({ cart });
29
+ }
30
+ catch (error) {
31
+ return res.status((0, admin_cart_management_1.adminCartManagementStatus)(error)).json({
32
+ message: error instanceof Error ? error.message : "A kosártétel nem módosítható.",
33
+ });
34
+ }
35
+ }
36
+ async function DELETE(req, res) {
37
+ try {
38
+ const cartId = (0, admin_cart_management_1.requireAdminCartId)(req.params?.id);
39
+ const itemId = (0, admin_cart_management_1.requireLineItemId)(req.params?.itemId);
40
+ const { query, delayHours } = await cartContext(req);
41
+ (0, admin_cart_management_1.assertAdminCartMutable)(await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours));
42
+ await (0, core_flows_1.deleteLineItemsWorkflow)(req.scope).run({
43
+ input: {
44
+ cart_id: cartId,
45
+ ids: [itemId],
46
+ },
47
+ });
48
+ const cart = await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours);
49
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
50
+ return res.json({ cart });
51
+ }
52
+ catch (error) {
53
+ return res.status((0, admin_cart_management_1.adminCartManagementStatus)(error)).json({
54
+ message: error instanceof Error ? error.message : "A kosártétel nem törölhető.",
55
+ });
56
+ }
57
+ }
58
+ async function cartContext(req) {
59
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
60
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
61
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
62
+ return { query, delayHours };
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvcmUtY2FydHMvW2lkXS9pdGVtcy9baXRlbUlkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVCQSxvQkEwQkM7QUFFRCx3QkF1QkM7QUF6RUQscURBQXFFO0FBQ3JFLDREQUdvQztBQUNwQyx3RkFHcUQ7QUFDckQsd0ZBTXFEO0FBQ3JELGtGQUEwRjtBQUMxRix5RkFHdUQ7QUFFaEQsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQ2hFLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUEsMENBQWtCLEVBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHlDQUFpQixFQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDcEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBNEIsQ0FBQTtRQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFBLDJDQUFtQixFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNuRCxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRXBELElBQUEsOENBQXNCLEVBQUMsTUFBTSxJQUFBLG9DQUFZLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO1FBRXJFLE1BQU0sSUFBQSx5Q0FBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2hELEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsTUFBTTtnQkFDZixPQUFPLEVBQUUsTUFBTTtnQkFDZixNQUFNLEVBQUUsRUFBRSxRQUFR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
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function POST(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,40 @@
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 admin_cart_visibility_1 = require("../../../../../core/admin-cart-visibility");
7
+ const admin_cart_management_1 = require("../../../../../core/admin-cart-management");
8
+ const cart_observability_1 = require("../../../../../core/cart-observability");
9
+ const integration_settings_1 = require("../../../../../modules/integration-settings");
10
+ async function POST(req, res) {
11
+ try {
12
+ const cartId = (0, admin_cart_management_1.requireAdminCartId)(req.params?.id);
13
+ const body = (req.body || {});
14
+ const variantId = (0, admin_cart_management_1.requireVariantId)(body.variant_id);
15
+ const quantity = (0, admin_cart_management_1.requireCartQuantity)(body.quantity);
16
+ const { query, delayHours } = await cartContext(req);
17
+ (0, admin_cart_management_1.assertAdminCartMutable)(await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours));
18
+ await (0, core_flows_1.addToCartWorkflow)(req.scope).run({
19
+ input: {
20
+ cart_id: cartId,
21
+ items: [{ variant_id: variantId, quantity }],
22
+ },
23
+ });
24
+ const cart = await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours);
25
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
26
+ return res.json({ cart });
27
+ }
28
+ catch (error) {
29
+ return res.status((0, admin_cart_management_1.adminCartManagementStatus)(error)).json({
30
+ message: error instanceof Error ? error.message : "A termék nem adható a kosárhoz.",
31
+ });
32
+ }
33
+ }
34
+ async function cartContext(req) {
35
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
36
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
37
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
38
+ return { query, delayHours };
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvcmUtY2FydHMvW2lkXS9pdGVtcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9CQSxvQkF5QkM7QUE1Q0QscURBQXFFO0FBQ3JFLDREQUErRDtBQUMvRCxxRkFHa0Q7QUFDbEQscUZBTWtEO0FBQ2xELCtFQUF1RjtBQUN2RixzRkFHb0Q7QUFFN0MsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQ2hFLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUEsMENBQWtCLEVBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNqRCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUE0QixDQUFBO1FBQ3hELE1BQU0sU0FBUyxHQUFHLElBQUEsd0NBQWdCLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUEsMkNBQW1CLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFcEQsSUFBQSw4Q0FBc0IsRUFBQyxNQUFNLElBQUEsb0NBQVksRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFFckUsTUFBTSxJQUFBLDhCQUFpQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDckMsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxNQUFNO2dCQUNmLEtBQUssRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUM3QztTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxvQ0FBWSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDMUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUMsQ0FBQTtRQUM5RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUEsaURBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkQsT0FBTyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGlDQUFpQztTQUNwRixDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxXQUFXLENBQUMsR0FBa0I7SUFDM0MsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGlDQUF5QixDQUFDLEtBQUssQ0FDRSxDQUFBO0lBQ25DLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNyQyxrREFBMkIsQ0FDVyxDQUFBO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxtREFBOEIsRUFBQyxhQUFhLENBQUMsQ0FBQTtJQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFBO0FBQzlCLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function DELETE(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DELETE = DELETE;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const admin_cart_visibility_1 = require("../../../../../../core/admin-cart-visibility");
7
+ const admin_cart_management_1 = require("../../../../../../core/admin-cart-management");
8
+ const cart_observability_1 = require("../../../../../../core/cart-observability");
9
+ const integration_settings_1 = require("../../../../../../modules/integration-settings");
10
+ async function DELETE(req, res) {
11
+ try {
12
+ const cartId = (0, admin_cart_management_1.requireAdminCartId)(req.params?.id);
13
+ const code = (0, admin_cart_management_1.requirePromotionCode)(req.params?.code);
14
+ const { query, delayHours } = await cartContext(req);
15
+ (0, admin_cart_management_1.assertAdminCartMutable)(await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours));
16
+ await (0, core_flows_1.updateCartPromotionsWorkflow)(req.scope).run({
17
+ input: {
18
+ cart_id: cartId,
19
+ promo_codes: [code],
20
+ action: utils_1.PromotionActions.REMOVE,
21
+ force_refresh_payment_collection: true,
22
+ },
23
+ });
24
+ const cart = await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours);
25
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
26
+ return res.json({ cart });
27
+ }
28
+ catch (error) {
29
+ return res.status((0, admin_cart_management_1.adminCartManagementStatus)(error)).json({
30
+ message: error instanceof Error ? error.message : "A promóció nem távolítható el.",
31
+ });
32
+ }
33
+ }
34
+ async function cartContext(req) {
35
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
36
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
37
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
38
+ return { query, delayHours };
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvcmUtY2FydHMvW2lkXS9wcm9tb3Rpb25zL1tjb2RlXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNCQSx3QkF5QkM7QUE5Q0QscURBR2tDO0FBQ2xDLDREQUEwRTtBQUMxRSx3RkFHcUQ7QUFDckQsd0ZBS3FEO0FBQ3JELGtGQUEwRjtBQUMxRix5RkFHdUQ7QUFFaEQsS0FBSyxVQUFVLE1BQU0sQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQ2xFLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUEsMENBQWtCLEVBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFBLDRDQUFvQixFQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDbkQsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVwRCxJQUFBLDhDQUFzQixFQUFDLE1BQU0sSUFBQSxvQ0FBWSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtRQUVyRSxNQUFNLElBQUEseUNBQTRCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNoRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUNuQixNQUFNLEVBQUUsd0JBQWdCLENBQUMsTUFBTTtnQkFDL0IsZ0NBQWdDLEVBQUUsSUFBSTthQUN2QztTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxvQ0FBWSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDMUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUMsQ0FBQTtRQUM5RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUEsaURBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkQsT0FBTyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztTQUNuRixDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxXQUFXLENBQUMsR0FBa0I7SUFDM0MsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGlDQUF5QixDQUFDLEtBQUssQ0FDRSxDQUFBO0lBQ25DLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNyQyxrREFBMkIsQ0FDVyxDQUFBO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxtREFBOEIsRUFBQyxhQUFhLENBQUMsQ0FBQTtJQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFBO0FBQzlCLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function POST(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -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
+ const admin_cart_visibility_1 = require("../../../../../core/admin-cart-visibility");
7
+ const admin_cart_management_1 = require("../../../../../core/admin-cart-management");
8
+ const cart_observability_1 = require("../../../../../core/cart-observability");
9
+ const integration_settings_1 = require("../../../../../modules/integration-settings");
10
+ async function POST(req, res) {
11
+ try {
12
+ const cartId = (0, admin_cart_management_1.requireAdminCartId)(req.params?.id);
13
+ const body = (req.body || {});
14
+ const code = (0, admin_cart_management_1.requirePromotionCode)(body.code);
15
+ const { query, delayHours } = await cartContext(req);
16
+ (0, admin_cart_management_1.assertAdminCartMutable)(await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours));
17
+ await (0, core_flows_1.updateCartPromotionsWorkflow)(req.scope).run({
18
+ input: {
19
+ cart_id: cartId,
20
+ promo_codes: [code],
21
+ action: utils_1.PromotionActions.ADD,
22
+ force_refresh_payment_collection: true,
23
+ },
24
+ });
25
+ const cart = await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours);
26
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
27
+ return res.json({ cart });
28
+ }
29
+ catch (error) {
30
+ return res.status((0, admin_cart_management_1.adminCartManagementStatus)(error)).json({
31
+ message: error instanceof Error ? error.message : "A promóció nem alkalmazható.",
32
+ });
33
+ }
34
+ }
35
+ async function cartContext(req) {
36
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
37
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
38
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
39
+ return { query, delayHours };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvcmUtY2FydHMvW2lkXS9wcm9tb3Rpb25zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBc0JBLG9CQTBCQztBQS9DRCxxREFHa0M7QUFDbEMsNERBQTBFO0FBQzFFLHFGQUdrRDtBQUNsRCxxRkFLa0Q7QUFDbEQsK0VBQXVGO0FBQ3ZGLHNGQUdvRDtBQUU3QyxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDaEUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBQSwwQ0FBa0IsRUFBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQTRCLENBQUE7UUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBQSw0Q0FBb0IsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUMsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVwRCxJQUFBLDhDQUFzQixFQUFDLE1BQU0sSUFBQSxvQ0FBWSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtRQUVyRSxNQUFNLElBQUEseUNBQTRCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNoRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUNuQixNQUFNLEVBQUUsd0JBQWdCLENBQUMsR0FBRztnQkFDNUIsZ0NBQWdDLEVBQUUsSUFBSTthQUN2QztTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxvQ0FBWSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDMUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUMsQ0FBQTtRQUM5RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUEsaURBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkQsT0FBTyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtTQUNqRixDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxXQUFXLENBQUMsR0FBa0I7SUFDM0MsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGlDQUF5QixDQUFDLEtBQUssQ0FDRSxDQUFBO0lBQ25DLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNyQyxrREFBMkIsQ0FDVyxDQUFBO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxtREFBOEIsRUFBQyxhQUFhLENBQUMsQ0FBQTtJQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFBO0FBQzlCLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const admin_cart_visibility_1 = require("../../../../core/admin-cart-visibility");
6
+ const cart_observability_1 = require("../../../../core/cart-observability");
7
+ const integration_settings_1 = require("../../../../modules/integration-settings");
8
+ async function GET(req, res) {
9
+ try {
10
+ const id = String(req.params?.id || "").trim();
11
+ if (!id)
12
+ return res.status(400).json({ message: "A kosár azonosítója hiányzik." });
13
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
14
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
15
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
16
+ const cart = await (0, admin_cart_visibility_1.getAdminCart)(query, id, delayHours);
17
+ if (!cart)
18
+ return res.status(404).json({ message: "A kosár nem található." });
19
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
20
+ return res.json({ cart, abandoned_delay_hours: delayHours });
21
+ }
22
+ catch (error) {
23
+ return res.status(500).json({
24
+ message: error instanceof Error ? error.message : "A kosár nem tölthető be.",
25
+ });
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvcmUtY2FydHMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVlBLGtCQXNCQztBQWpDRCxxREFBcUU7QUFDckUsa0ZBRytDO0FBQy9DLDRFQUFvRjtBQUNwRixtRkFHaUQ7QUFFMUMsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUM5QyxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsQ0FBQyxDQUFBO1FBRWxGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ0UsQ0FBQTtRQUNuQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsa0RBQTJCLENBQ1csQ0FBQTtRQUN4QyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEsbURBQThCLEVBQUMsYUFBYSxDQUFDLENBQUE7UUFDdEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLG9DQUFZLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUV0RCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFBO1FBQzdFLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLDhCQUE4QixDQUFDLENBQUE7UUFDOUQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7U0FDN0UsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const admin_cart_visibility_1 = require("../../../../../core/admin-cart-visibility");
6
+ const cart_observability_1 = require("../../../../../core/cart-observability");
7
+ const integration_settings_1 = require("../../../../../modules/integration-settings");
8
+ async function GET(req, res) {
9
+ try {
10
+ const customerId = String(req.params?.id || "").trim();
11
+ if (!customerId) {
12
+ return res.status(400).json({ message: "A vásárló azonosítója hiányzik." });
13
+ }
14
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
15
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
16
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
17
+ const [cart, activeCart] = await Promise.all([
18
+ (0, admin_cart_visibility_1.getLatestCustomerCart)(query, customerId, delayHours),
19
+ (0, admin_cart_visibility_1.getActiveCustomerCart)(query, customerId, delayHours),
20
+ ]);
21
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
22
+ return res.json({
23
+ cart,
24
+ active_cart: activeCart,
25
+ abandoned_delay_hours: delayHours,
26
+ });
27
+ }
28
+ catch (error) {
29
+ return res.status(500).json({
30
+ message: error instanceof Error ? error.message : "A vásárló kosara nem tölthető be.",
31
+ });
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvcmUtY2FydHMvY3VzdG9tZXIvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLGtCQThCQztBQTFDRCxxREFBcUU7QUFDckUscUZBSWtEO0FBQ2xELCtFQUF1RjtBQUN2RixzRkFHb0Q7QUFFN0MsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELElBQUksQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxDQUFDLENBQUE7UUFDN0UsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ0UsQ0FBQTtRQUNuQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsa0RBQTJCLENBQ1csQ0FBQTtRQUN4QyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEsbURBQThCLEVBQUMsYUFBYSxDQUFDLENBQUE7UUFDdEUsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDM0MsSUFBQSw2Q0FBcUIsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztZQUNwRCxJQUFBLDZDQUFxQixFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO1NBQ3JELENBQUMsQ0FBQTtRQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLDhCQUE4QixDQUFDLENBQUE7UUFDOUQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ2QsSUFBSTtZQUNKLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLHFCQUFxQixFQUFFLFVBQVU7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7U0FDdEYsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
3
+ export declare function POST(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ exports.POST = POST;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const admin_cart_visibility_1 = require("../../../core/admin-cart-visibility");
8
+ const admin_cart_management_1 = require("../../../core/admin-cart-management");
9
+ const cart_observability_1 = require("../../../core/cart-observability");
10
+ const integration_settings_1 = require("../../../modules/integration-settings");
11
+ const STATUSES = new Set(["all", "active", "abandoned", "converted"]);
12
+ async function GET(req, res) {
13
+ try {
14
+ const raw = (req.query || {});
15
+ const requestedStatus = String(raw.status || "all").trim().toLowerCase();
16
+ const status = STATUSES.has(requestedStatus) ? requestedStatus : "all";
17
+ const { query, delayHours } = await cartContext(req);
18
+ const result = await (0, admin_cart_visibility_1.listAdminCarts)(query, delayHours, {
19
+ status: status,
20
+ search: String(raw.search || ""),
21
+ offset: Number(raw.offset || 0),
22
+ limit: Number(raw.limit || 25),
23
+ });
24
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
25
+ return res.json(result);
26
+ }
27
+ catch (error) {
28
+ return res.status(500).json({
29
+ message: error instanceof Error ? error.message : "A kosarak nem tölthetők be.",
30
+ });
31
+ }
32
+ }
33
+ async function POST(req, res) {
34
+ try {
35
+ const body = (req.body || {});
36
+ const customerId = (0, admin_cart_management_1.requireCustomerId)(body.customer_id);
37
+ const regionId = (0, admin_cart_management_1.requireRegionId)(body.region_id);
38
+ const { query, delayHours } = await cartContext(req);
39
+ const existingCart = await (0, admin_cart_visibility_1.getActiveCustomerCart)(query, customerId, delayHours);
40
+ if (existingCart) {
41
+ return res.status(409).json({
42
+ message: "A vásárlónak már van aktív kosara.",
43
+ existing_cart: existingCart,
44
+ });
45
+ }
46
+ const { result } = await (0, core_flows_1.createCartWorkflow)(req.scope).run({
47
+ input: {
48
+ customer_id: customerId,
49
+ region_id: regionId,
50
+ },
51
+ });
52
+ const cartId = String(result?.id || "").trim();
53
+ const cart = cartId ? await (0, admin_cart_visibility_1.getAdminCart)(query, cartId, delayHours) : null;
54
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
55
+ return res.status(201).json({ cart: cart || result });
56
+ }
57
+ catch (error) {
58
+ return res.status((0, admin_cart_management_1.adminCartManagementStatus)(error)).json({
59
+ message: error instanceof Error ? error.message : "A kosár nem hozható létre.",
60
+ });
61
+ }
62
+ }
63
+ async function cartContext(req) {
64
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
65
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
66
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
67
+ return { query, delayHours };
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvcmUtY2FydHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzQkEsa0JBcUJDO0FBRUQsb0JBZ0NDO0FBNUVELHFEQUFxRTtBQUNyRSw0REFBZ0U7QUFDaEUsK0VBSzRDO0FBQzVDLCtFQUk0QztBQUM1Qyx5RUFBaUY7QUFDakYsZ0ZBRzhDO0FBRTlDLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQTtBQUU5RCxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBNEIsQ0FBQTtRQUN4RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN4RSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUV0RSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3BELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxzQ0FBYyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckQsTUFBTSxFQUFFLE1BQXNEO1lBQzlELE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJ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
@@ -0,0 +1,5 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
3
+ export declare function POST(req: MedusaRequest<{
4
+ ttl_days?: number;
5
+ }>, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ exports.POST = POST;
5
+ const integration_settings_1 = require("../../../../modules/integration-settings");
6
+ const settings_1 = require("../../../../modules/shared-cart/settings");
7
+ async function GET(req, res) {
8
+ try {
9
+ const store = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
10
+ const ttl_days = await (0, settings_1.getSharedCartTtlDays)(store);
11
+ return res.json({ ttl_days });
12
+ }
13
+ catch (error) {
14
+ return res.status(500).json({
15
+ message: error instanceof Error ? error.message : "A kosármegosztás beállítása nem tölthető be.",
16
+ });
17
+ }
18
+ }
19
+ async function POST(req, res) {
20
+ try {
21
+ const store = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
22
+ const ttl_days = await (0, settings_1.saveSharedCartTtlDays)(store, Number(req.body?.ttl_days));
23
+ return res.json({ ttl_days });
24
+ }
25
+ catch (error) {
26
+ return res.status(400).json({
27
+ message: error instanceof Error ? error.message : "A kosármegosztás beállítása nem menthető.",
28
+ });
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NoYXJlZC1jYXJ0L3NldHRpbmdzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsa0JBVUM7QUFFRCxvQkFhQztBQWxDRCxtRkFHaUQ7QUFDakQsdUVBR2lEO0FBRTFDLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrREFBMkIsQ0FBd0MsQ0FBQTtRQUNuRyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsK0JBQW9CLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsT0FBTyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhDQUE4QztTQUNqRyxDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQXlDLEVBQ3pDLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGtEQUEyQixDQUF3QyxDQUFBO1FBQ25HLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxnQ0FBcUIsRUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtRQUMvRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQixPQUFPLEVBQUUsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsMkNBQTJDO1NBQzlGLENBQUMsQ0FBQTtJQUNKLENBQUM7QUFDSCxDQUFDIn0=
@@ -222,6 +222,14 @@ exports.default = (0, http_1.defineMiddlewares)({
222
222
  (0, http_1.authenticate)("customer", ["bearer", "session"]),
223
223
  ],
224
224
  },
225
+ {
226
+ matcher: "/store/core-carts/me/active",
227
+ method: ["GET"],
228
+ middlewares: [
229
+ preventCustomerDataCaching,
230
+ (0, http_1.authenticate)("customer", ["bearer", "session"]),
231
+ ],
232
+ },
225
233
  {
226
234
  matcher: "/store/products/:id/reviews",
227
235
  method: ["POST"],
@@ -331,4 +339,4 @@ exports.default = (0, http_1.defineMiddlewares)({
331
339
  },
332
340
  ],
333
341
  });
334
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBTWlDO0FBQ2pDLHFEQUFxRTtBQUNyRSxpRUFBZ0U7QUFDaEUsaUVBR2tDO0FBQ2xDLDJEQUcrQjtBQUMvQiw0REFJaUM7QUFDakMsd0NBS3VCO0FBc0J2QixTQUFTLDBCQUEwQixDQUNqQyxJQUFtQixFQUNuQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxrREFBOEIsQ0FBQyxDQUFBO0lBQzlELEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ25DLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdCLE9BQU8sSUFBSSxFQUFFLENBQUE7QUFDZixDQUFDO0FBRUQsS0FBSyxVQUFVLG9CQUFvQixDQUNqQyxHQUFrQixFQUNsQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDbEMsb0NBQW9CLENBQ1csQ0FBQTtRQUVqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsMkNBQTJCLEVBQUM7WUFDL0MsVUFBVTtZQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7U0FDdEIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBRTdELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUUs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
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBTWlDO0FBQ2pDLHFEQUFxRTtBQUNyRSxpRUFBZ0U7QUFDaEUsaUVBR2tDO0FBQ2xDLDJEQUcrQjtBQUMvQiw0REFJaUM7QUFDakMsd0NBS3VCO0FBc0J2QixTQUFTLDBCQUEwQixDQUNqQyxJQUFtQixFQUNuQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxrREFBOEIsQ0FBQyxDQUFBO0lBQzlELEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ25DLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdCLE9BQU8sSUFBSSxFQUFFLENBQUE7QUFDZixDQUFDO0FBRUQsS0FBSyxVQUFVLG9CQUFvQixDQUNqQyxHQUFrQixFQUNsQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDbEMsb0NBQW9CLENBQ1csQ0FBQTtRQUVqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsMkNBQTJCLEVBQUM7WUFDL0MsVUFBVTtZQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7U0FDdEIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBRTdELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUUs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
@@ -0,0 +1,2 @@
1
+ import type { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: AuthenticatedMedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const admin_cart_visibility_1 = require("../../../../../core/admin-cart-visibility");
6
+ const customer_cart_resume_1 = require("../../../../../core/customer-cart-resume");
7
+ const cart_observability_1 = require("../../../../../core/cart-observability");
8
+ const integration_settings_1 = require("../../../../../modules/integration-settings");
9
+ async function GET(req, res) {
10
+ try {
11
+ const customerId = (0, customer_cart_resume_1.requireResumeCustomerId)(req.auth_context?.actor_id);
12
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
13
+ const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
14
+ const delayHours = await (0, cart_observability_1.resolveAbandonedCartDelayHours)(settingsStore);
15
+ const activeCart = await (0, admin_cart_visibility_1.getActiveCustomerCart)(query, customerId, delayHours);
16
+ const raw = (req.query || {});
17
+ const currentCartId = String(raw.current_cart_id || "").trim();
18
+ const currentCart = currentCartId
19
+ ? await (0, admin_cart_visibility_1.getAdminCart)(query, currentCartId, delayHours)
20
+ : null;
21
+ const activeSummary = toResumeCart(activeCart);
22
+ const currentSummary = toResumeCart(currentCart);
23
+ const decision = (0, customer_cart_resume_1.decideCustomerCartResume)({
24
+ customerId,
25
+ activeCart: activeSummary,
26
+ currentCart: currentSummary,
27
+ });
28
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
29
+ return res.json({
30
+ ...decision,
31
+ merge_required: decision.action === "merge-required",
32
+ active_cart: activeSummary,
33
+ current_cart: currentSummary,
34
+ });
35
+ }
36
+ catch (error) {
37
+ return res.status((0, customer_cart_resume_1.customerCartResumeStatus)(error)).json({
38
+ message: error instanceof Error
39
+ ? error.message
40
+ : "A vásárlói kosár nem állítható helyre.",
41
+ });
42
+ }
43
+ }
44
+ function toResumeCart(value) {
45
+ if (!value?.id)
46
+ return null;
47
+ return {
48
+ id: String(value.id),
49
+ customer_id: value.customer_id || null,
50
+ item_count: Number(value.item_count || 0),
51
+ status: value.status || null,
52
+ };
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2NvcmUtY2FydHMvbWUvYWN0aXZlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBc0JBLGtCQTRDQztBQTlERCxxREFBcUU7QUFDckUscUZBSWtEO0FBQ2xELG1GQUtpRDtBQUNqRCwrRUFBdUY7QUFDdkYsc0ZBR29EO0FBRTdDLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLElBQUEsOENBQXVCLEVBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUN0RSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNFLENBQUE7UUFDbkMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ3JDLGtEQUEyQixDQUNXLENBQUE7UUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLG1EQUE4QixFQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRXRFLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSw2Q0FBcUIsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzdFLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQTRCLENBQUE7UUFDeEQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDOUQsTUFBTSxXQUFXLEdBQUcsYUFBYTtZQUMvQixDQUFDLENBQUMsTUFBTSxJQUFBLG9DQUFZLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUM7WUFDdEQsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUVSLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM5QyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQ0FBd0IsRUFBQztZQUN4QyxVQUFVO1lBQ1YsVUFBVSxFQUFFLGFBQWE7WUFDekIsV0FBVyxFQUFFLGNBQWM7U0FDNUIsQ0FBQyxDQUFBO1FBRUYsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUMsQ0FBQTtRQUM5RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDZCxHQUFHLFFBQVE7WUFDWCxjQUFjLEVBQUUsUUFBUSxDQUFDLE1BQU0sS0FBSyxnQkFBZ0I7WUFDcEQsV0FBVyxFQUFFLGFBQWE7WUFDMUIsWUFBWSxFQUFFLGNBQWM7U0FDN0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBQSwrQ0FBd0IsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN0RCxPQUFPLEVBQ0wsS0FBSyxZQUFZLEtBQUs7Z0JBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFDZixDQUFDLENBQUMsd0NBQXdDO1NBQy9DLENBQUMsQ0FBQTtJQUNKLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsS0FBaUM7SUFDckQsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDM0IsT0FBTztRQUNMLEVBQUUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO1FBQ3RDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDekMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSTtLQUM3QixDQUFBO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;