@mercurjs/b2c-core 1.4.3 → 1.4.4

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 (108) hide show
  1. package/.medusa/server/src/admin/index.js +3 -1
  2. package/.medusa/server/src/admin/index.mjs +3 -1
  3. package/.medusa/server/src/api/admin/attributes/validators.d.ts +355 -59
  4. package/.medusa/server/src/api/admin/configuration/validators.d.ts +3 -2
  5. package/.medusa/server/src/api/admin/notifications/route.js +8 -2
  6. package/.medusa/server/src/api/admin/order-sets/validators.d.ts +5 -3
  7. package/.medusa/server/src/api/admin/products/validators.d.ts +909 -500
  8. package/.medusa/server/src/api/admin/sellers/validators.d.ts +20 -16
  9. package/.medusa/server/src/api/store/carts/[id]/promotions/route.d.ts +3 -0
  10. package/.medusa/server/src/api/store/carts/[id]/promotions/route.js +34 -0
  11. package/.medusa/server/src/api/store/order-set/validators.d.ts +3 -2
  12. package/.medusa/server/src/api/store/returns/validators.d.ts +3 -2
  13. package/.medusa/server/src/api/store/seller/validators.d.ts +3 -2
  14. package/.medusa/server/src/api/store/shipping-options/validators.d.ts +24 -26
  15. package/.medusa/server/src/api/store/wishlist/validators.d.ts +3 -2
  16. package/.medusa/server/src/api/vendor/attributes/validators.d.ts +9 -7
  17. package/.medusa/server/src/api/vendor/campaigns/[id]/promotions/route.d.ts +76 -0
  18. package/.medusa/server/src/api/vendor/campaigns/[id]/promotions/route.js +89 -0
  19. package/.medusa/server/src/api/vendor/campaigns/middlewares.js +11 -2
  20. package/.medusa/server/src/api/vendor/campaigns/route.d.ts +6 -0
  21. package/.medusa/server/src/api/vendor/campaigns/route.js +10 -4
  22. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +20 -12
  23. package/.medusa/server/src/api/vendor/campaigns/validators.js +10 -4
  24. package/.medusa/server/src/api/vendor/customer-groups/route.d.ts +2 -2
  25. package/.medusa/server/src/api/vendor/customer-groups/route.js +5 -5
  26. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +604 -2
  27. package/.medusa/server/src/api/vendor/customer-groups/validators.js +37 -2
  28. package/.medusa/server/src/api/vendor/customers/validators.d.ts +6 -4
  29. package/.medusa/server/src/api/vendor/fulfillment-providers/validators.d.ts +3 -2
  30. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +22 -6
  31. package/.medusa/server/src/api/vendor/inventory-items/[id]/route.d.ts +23 -0
  32. package/.medusa/server/src/api/vendor/inventory-items/[id]/route.js +48 -2
  33. package/.medusa/server/src/api/vendor/inventory-items/middlewares.js +12 -1
  34. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +37 -104
  35. package/.medusa/server/src/api/vendor/invites/validators.d.ts +3 -2
  36. package/.medusa/server/src/api/vendor/members/validators.d.ts +7 -6
  37. package/.medusa/server/src/api/vendor/notifications/validators.d.ts +3 -2
  38. package/.medusa/server/src/api/vendor/orders/validators.d.ts +13 -11
  39. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +3 -2
  40. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +18 -16
  41. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +37 -29
  42. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +317 -26
  43. package/.medusa/server/src/api/vendor/product-collections/validators.d.ts +6 -4
  44. package/.medusa/server/src/api/vendor/product-tags/route.js +8 -2
  45. package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +31 -29
  46. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +3 -2
  47. package/.medusa/server/src/api/vendor/products/route.js +7 -3
  48. package/.medusa/server/src/api/vendor/products/utils.d.ts +4 -1
  49. package/.medusa/server/src/api/vendor/products/utils.js +40 -2
  50. package/.medusa/server/src/api/vendor/products/validators.d.ts +905 -377
  51. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +57 -53
  52. package/.medusa/server/src/api/vendor/regions/validators.d.ts +3 -2
  53. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +7 -6
  54. package/.medusa/server/src/api/vendor/returns/validators.d.ts +9 -8
  55. package/.medusa/server/src/api/vendor/sellers/validators.d.ts +20 -20
  56. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +27 -26
  57. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +5 -4
  58. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +49 -59
  59. package/.medusa/server/src/links/seller-campaign.js +1 -1
  60. package/.medusa/server/src/links/seller-customer-group.js +1 -1
  61. package/.medusa/server/src/modules/attribute/migrations/Migration20250617080244.d.ts +1 -1
  62. package/.medusa/server/src/modules/attribute/migrations/Migration20250617080244.js +2 -2
  63. package/.medusa/server/src/modules/attribute/migrations/Migration20250620110849.d.ts +1 -1
  64. package/.medusa/server/src/modules/attribute/migrations/Migration20250620110849.js +2 -2
  65. package/.medusa/server/src/modules/attribute/migrations/Migration20250828065431.d.ts +1 -1
  66. package/.medusa/server/src/modules/attribute/migrations/Migration20250828065431.js +2 -2
  67. package/.medusa/server/src/modules/attribute/service.d.ts +1 -1
  68. package/.medusa/server/src/modules/configuration/migrations/Migration20250114063624.d.ts +1 -1
  69. package/.medusa/server/src/modules/configuration/migrations/Migration20250114063624.js +2 -2
  70. package/.medusa/server/src/modules/configuration/migrations/Migration20250324131111.d.ts +1 -1
  71. package/.medusa/server/src/modules/configuration/migrations/Migration20250324131111.js +2 -2
  72. package/.medusa/server/src/modules/marketplace/migrations/Migration20241207151814.d.ts +1 -1
  73. package/.medusa/server/src/modules/marketplace/migrations/Migration20241207151814.js +2 -2
  74. package/.medusa/server/src/modules/payout/migrations/Migration20250317090626.d.ts +1 -1
  75. package/.medusa/server/src/modules/payout/migrations/Migration20250317090626.js +2 -2
  76. package/.medusa/server/src/modules/payout/migrations/Migration20250612144913.d.ts +1 -1
  77. package/.medusa/server/src/modules/payout/migrations/Migration20250612144913.js +2 -2
  78. package/.medusa/server/src/modules/payout/service.d.ts +1 -1
  79. package/.medusa/server/src/modules/secondary_categories/migrations/Migration20251014102054.d.ts +1 -1
  80. package/.medusa/server/src/modules/secondary_categories/migrations/Migration20251014102054.js +2 -2
  81. package/.medusa/server/src/modules/seller/migrations/Migration20241206125415.d.ts +1 -1
  82. package/.medusa/server/src/modules/seller/migrations/Migration20241206125415.js +2 -2
  83. package/.medusa/server/src/modules/seller/migrations/Migration20250212131627.d.ts +1 -1
  84. package/.medusa/server/src/modules/seller/migrations/Migration20250212131627.js +2 -2
  85. package/.medusa/server/src/modules/seller/migrations/Migration20250225083755.d.ts +1 -1
  86. package/.medusa/server/src/modules/seller/migrations/Migration20250225083755.js +2 -2
  87. package/.medusa/server/src/modules/seller/migrations/Migration20250225094708.d.ts +1 -1
  88. package/.medusa/server/src/modules/seller/migrations/Migration20250225094708.js +2 -2
  89. package/.medusa/server/src/modules/seller/migrations/Migration20250307091819.d.ts +1 -1
  90. package/.medusa/server/src/modules/seller/migrations/Migration20250307091819.js +2 -2
  91. package/.medusa/server/src/modules/seller/migrations/Migration20250313065552.d.ts +1 -1
  92. package/.medusa/server/src/modules/seller/migrations/Migration20250313065552.js +2 -2
  93. package/.medusa/server/src/modules/seller/migrations/Migration20250530111528.d.ts +1 -1
  94. package/.medusa/server/src/modules/seller/migrations/Migration20250530111528.js +2 -2
  95. package/.medusa/server/src/modules/seller/utils.d.ts +4 -0
  96. package/.medusa/server/src/modules/seller/utils.js +18 -1
  97. package/.medusa/server/src/modules/split-order-payment/migrations/Migration20250516075429.d.ts +1 -1
  98. package/.medusa/server/src/modules/split-order-payment/migrations/Migration20250516075429.js +2 -2
  99. package/.medusa/server/src/modules/taxcode/migrations/Migration20250116135408.d.ts +1 -1
  100. package/.medusa/server/src/modules/taxcode/migrations/Migration20250116135408.js +2 -2
  101. package/.medusa/server/src/modules/wishlist/migrations/Migration20250424110903.d.ts +1 -1
  102. package/.medusa/server/src/modules/wishlist/migrations/Migration20250424110903.js +2 -2
  103. package/.medusa/server/src/workflows/cart/workflows/split-and-complete-cart.js +2 -2
  104. package/.medusa/server/src/workflows/order/steps/calculate-payout-for-order.d.ts +1 -1
  105. package/.medusa/server/src/workflows/promotions/steps/register-usage-step.d.ts +7 -2
  106. package/.medusa/server/src/workflows/promotions/steps/register-usage-step.js +6 -6
  107. package/.medusa/server/src/workflows/seller/steps/validate-products-to-import.d.ts +10 -10
  108. package/package.json +15 -28
@@ -12,49 +12,51 @@ export declare const VendorGetProductTagsParamsFields: z.ZodObject<{
12
12
  id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
13
13
  value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
14
14
  }, "strip", z.ZodTypeAny, {
15
- q?: string | undefined;
16
- id?: string | string[] | undefined;
17
15
  value?: string | string[] | undefined;
18
- }, {
19
- q?: string | undefined;
20
16
  id?: string | string[] | undefined;
17
+ q?: string | undefined;
18
+ }, {
21
19
  value?: string | string[] | undefined;
20
+ id?: string | string[] | undefined;
21
+ q?: string | undefined;
22
22
  }>;
23
23
  export type VendorGetProductTagsParamsType = z.infer<typeof VendorGetProductTagsParams>;
24
- export declare const VendorGetProductTagsParams: z.ZodObject<{
24
+ export declare const VendorGetProductTagsParams: z.ZodObject<{} & {
25
25
  [x: string]: any;
26
- [x: number]: any;
27
- [x: symbol]: any;
28
- $and: z.ZodOptional<z.ZodLazy<z.ZodArray<z.ZodObject<any, z.UnknownKeysParam, z.ZodTypeAny, {
29
- [x: string]: any;
26
+ $and: z.ZodOptional<z.ZodLazy<z.ZodArray<z.ZodObject<{
27
+ q: z.ZodOptional<z.ZodString>;
28
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
29
+ value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ value?: string | string[] | undefined;
32
+ id?: string | string[] | undefined;
33
+ q?: string | undefined;
30
34
  }, {
31
- [x: string]: any;
35
+ value?: string | string[] | undefined;
36
+ id?: string | string[] | undefined;
37
+ q?: string | undefined;
32
38
  }>, "many">>>;
33
- $or: z.ZodOptional<z.ZodLazy<z.ZodArray<z.ZodObject<any, z.UnknownKeysParam, z.ZodTypeAny, {
34
- [x: string]: any;
39
+ $or: z.ZodOptional<z.ZodLazy<z.ZodArray<z.ZodObject<{
40
+ q: z.ZodOptional<z.ZodString>;
41
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
42
+ value: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ value?: string | string[] | undefined;
45
+ id?: string | string[] | undefined;
46
+ q?: string | undefined;
35
47
  }, {
36
- [x: string]: any;
48
+ value?: string | string[] | undefined;
49
+ id?: string | string[] | undefined;
50
+ q?: string | undefined;
37
51
  }>, "many">>>;
38
52
  }, "strip", z.ZodTypeAny, {
39
53
  [x: string]: any;
40
- [x: number]: any;
41
- [x: symbol]: any;
42
- $and?: {
43
- [x: string]: any;
44
- }[] | undefined;
45
- $or?: {
46
- [x: string]: any;
47
- }[] | undefined;
54
+ $and?: unknown;
55
+ $or?: unknown;
48
56
  }, {
49
57
  [x: string]: any;
50
- [x: number]: any;
51
- [x: symbol]: any;
52
- $and?: {
53
- [x: string]: any;
54
- }[] | undefined;
55
- $or?: {
56
- [x: string]: any;
57
- }[] | undefined;
58
+ $and?: unknown;
59
+ $or?: unknown;
58
60
  }>;
59
61
  /**
60
62
  * @schema VendorCreateProductTag
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  export type VendorGetProductTypesParamsType = z.infer<typeof VendorGetProductTypesParams>;
3
3
  export declare const VendorGetProductTypesParams: z.ZodObject<{
4
4
  fields: z.ZodOptional<z.ZodString>;
5
+ } & {
5
6
  offset: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
6
7
  limit: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
7
8
  order: z.ZodOptional<z.ZodString> | z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -9,13 +10,13 @@ export declare const VendorGetProductTypesParams: z.ZodObject<{
9
10
  }, "strip", z.ZodTypeAny, {
10
11
  offset: number;
11
12
  limit: number;
12
- fields?: string | undefined;
13
13
  order?: string | undefined;
14
+ fields?: string | undefined;
14
15
  with_deleted?: boolean | undefined;
15
16
  }, {
17
+ order?: string | undefined;
16
18
  fields?: string | undefined;
17
19
  offset?: unknown;
18
20
  limit?: unknown;
19
- order?: string | undefined;
20
21
  with_deleted?: unknown;
21
22
  }>;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.POST = exports.GET = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- const utils_2 = require("../../../shared/infra/http/utils");
6
5
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
6
  const framework_1 = require("@mercurjs/framework");
7
+ const utils_2 = require("../../../shared/infra/http/utils");
8
8
  const utils_3 = require("./utils");
9
9
  /**
10
10
  * @oas [get] /vendor/products
@@ -66,19 +66,23 @@ const utils_3 = require("./utils");
66
66
  */
67
67
  const GET = async (req, res) => {
68
68
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
69
- const { productIds, count } = await (0, utils_3.filterProductsBySeller)(req.scope, req.filterableFields.seller_id, req.queryConfig.pagination?.skip || 0, req.queryConfig.pagination?.take || 10, req.filterableFields.sales_channel_id);
69
+ const { productIds, count } = await (0, utils_3.filterProductsBySeller)(req.scope, req.filterableFields.seller_id, req.queryConfig.pagination?.skip || 0, req.queryConfig.pagination?.take || 10, req.filterableFields.sales_channel_id, req.queryConfig.pagination?.order);
70
70
  const { data: sellerProducts } = await query.graph({
71
71
  entity: "product",
72
72
  fields: req.queryConfig.fields,
73
73
  filters: {
74
74
  id: productIds,
75
75
  },
76
+ pagination: {
77
+ order: req.queryConfig.pagination?.order
78
+ }
76
79
  });
77
80
  res.json({
78
81
  products: sellerProducts,
79
82
  count: count,
80
83
  offset: req.queryConfig.pagination?.skip || 0,
81
84
  limit: req.queryConfig.pagination?.take || 10,
85
+ order: req.queryConfig.pagination?.order
82
86
  });
83
87
  };
84
88
  exports.GET = GET;
@@ -150,4 +154,4 @@ const POST = async (req, res) => {
150
154
  res.status(201).json({ product });
151
155
  };
152
156
  exports.POST = POST;
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxREFBK0U7QUFFL0UsNERBQTRFO0FBSzVFLDREQUFxRTtBQUNyRSxtREFBaUU7QUFDakUsbUNBQWlEO0FBRWpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5REc7QUFDSSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQThDLEVBQzlDLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBQSw4QkFBc0IsRUFDeEQsR0FBRyxDQUFDLEtBQUssRUFDVCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBbUIsRUFDeEMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFDckMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFDdEMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGdCQUEwQixDQUNoRCxDQUFDO0lBRUYsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUUsVUFBVTtTQUNmO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLFFBQVEsRUFBRSxjQUFjO1FBQ3hC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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxREFBK0U7QUFFL0UsNERBQXFFO0FBQ3JFLG1EQUFpRTtBQUNqRSw0REFBNEU7QUFDNUUsbUNBQThEO0FBTTlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5REc7QUFDSSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQThDLEVBQzlDLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBQSw4QkFBc0IsRUFDeEQsR0FBRyxDQUFDLEtBQUssRUFDVCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBbUIsRUFDeEMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFDckMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFDdEMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGdCQUEwQixFQUMvQyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFnQyxDQUM3RCxDQUFDO0lBRUYsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUUsVUFBVTtTQUNmO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsS0FB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
@@ -1,5 +1,8 @@
1
1
  import { MedusaContainer } from '@medusajs/framework';
2
- export declare const filterProductsBySeller: (container: MedusaContainer, sellerId: string, skip: number, take: number, salesChannelId?: string) => Promise<{
2
+ type OrderDirection = 'ASC' | 'DESC' | 'asc' | 'desc';
3
+ export type OrderObject = Record<string, OrderDirection | Record<string, OrderDirection>>;
4
+ export declare const filterProductsBySeller: (container: MedusaContainer, sellerId: string, skip: number, take: number, salesChannelId?: string, order?: OrderObject) => Promise<{
3
5
  productIds: any[];
4
6
  count: number;
5
7
  }>;
8
+ export {};
@@ -2,7 +2,36 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.filterProductsBySeller = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- const filterProductsBySeller = async (container, sellerId, skip, take, salesChannelId) => {
5
+ const cleanKey = (key) => {
6
+ return key.split('=').pop()?.replace(/^\*/, '') || key;
7
+ };
8
+ const normalizeDirection = (direction) => {
9
+ return direction.toLowerCase() === 'desc' ? 'desc' : 'asc';
10
+ };
11
+ const addOrderEntry = (orderBy, key, direction) => {
12
+ const column = key.includes('.') ? key : `product.${key}`;
13
+ orderBy.push({ column, order: normalizeDirection(direction) });
14
+ };
15
+ const parseOrderForKnex = (order) => {
16
+ if (!order || typeof order !== 'object') {
17
+ return [];
18
+ }
19
+ const orderBy = [];
20
+ for (const [key, value] of Object.entries(order)) {
21
+ if (typeof value === 'string') {
22
+ addOrderEntry(orderBy, cleanKey(key), value);
23
+ }
24
+ else if (value && typeof value === 'object') {
25
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
26
+ if (typeof nestedValue === 'string') {
27
+ addOrderEntry(orderBy, nestedKey, nestedValue);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ return orderBy;
33
+ };
34
+ const filterProductsBySeller = async (container, sellerId, skip, take, salesChannelId, order) => {
6
35
  const knex = container.resolve(utils_1.ContainerRegistrationKeys.PG_CONNECTION);
7
36
  let baseQuery = knex('product')
8
37
  .distinct('product.id')
@@ -23,6 +52,15 @@ const filterProductsBySeller = async (container, sellerId, skip, take, salesChan
23
52
  .count('product.id as count');
24
53
  const [{ count }] = await countQuery;
25
54
  const totalCount = parseInt(count, 10);
55
+ if (order) {
56
+ const parsedOrder = parseOrderForKnex(order);
57
+ if (parsedOrder.length > 0) {
58
+ const orderColumns = parsedOrder.map(o => o.column);
59
+ const selectColumns = ['product.id', ...orderColumns.filter(col => col !== 'product.id')];
60
+ baseQuery = baseQuery.distinct(...selectColumns);
61
+ baseQuery = baseQuery.orderBy(parsedOrder);
62
+ }
63
+ }
26
64
  const productIds = await baseQuery
27
65
  .offset(skip)
28
66
  .limit(take)
@@ -30,4 +68,4 @@ const filterProductsBySeller = async (container, sellerId, skip, take, salesChan
30
68
  return { productIds, count: totalCount };
31
69
  };
32
70
  exports.filterProductsBySeller = filterProductsBySeller;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFFOUQsTUFBTSxzQkFBc0IsR0FBRyxLQUFLLEVBQ3pDLFNBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLElBQVksRUFDWixJQUFZLEVBQ1osY0FBdUIsRUFDdkIsRUFBRTtJQUNGLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsYUFBYSxDQUFDLENBQUE7SUFFdkUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUM1QixRQUFRLENBQUMsWUFBWSxDQUFDO1NBQ3RCLFNBQVMsQ0FDUiwrQkFBK0IsRUFDL0IsWUFBWSxFQUNaLDBDQUEwQyxDQUMzQztTQUNBLEtBQUssQ0FBQztRQUNMLHlDQUF5QyxFQUFFLFFBQVE7UUFDbkQsMENBQTBDLEVBQUUsSUFBSTtRQUNoRCxvQkFBb0IsRUFBRSxJQUFJO0tBQzNCLENBQUMsQ0FBQTtJQUVKLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsU0FBUyxHQUFHLFNBQVM7YUFDbEIsU0FBUyxDQUNSLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osa0NBQWtDLENBQ25DO2FBQ0EsS0FBSyxDQUFDLHdDQUF3QyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxTQUFTO1NBQ3pCLEtBQUssRUFBRTtTQUNQLFdBQVcsRUFBRTtTQUNiLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQy9CLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsTUFBTSxVQUFVLENBQUE7SUFDcEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVoRCxNQUFNLFVBQVUsR0FBRyxNQUFNLFNBQVM7U0FDL0IsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNaLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDWCxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7SUFFdEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUE7QUFDMUMsQ0FBQyxDQUFBO0FBN0NZLFFBQUEsc0JBQXNCLDBCQTZDbEMifQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBc0U7QUFLdEUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtJQUN2QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFNBQWlCLEVBQWtCLEVBQUU7SUFDL0QsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUNwQixPQUF5RCxFQUN6RCxHQUFXLEVBQ1gsU0FBaUIsRUFDWCxFQUFFO0lBQ1IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqRSxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQ3hCLEtBQXFDLEVBQ2EsRUFBRTtJQUNwRCxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFxRCxFQUFFLENBQUM7SUFFckUs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