@mercurjs/core 2.2.0-rc.1 → 2.2.0-rc.3

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 (47) hide show
  1. package/.medusa/server/src/api/store/middlewares.js +3 -5
  2. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +53 -19
  3. package/package.json +3 -3
  4. package/.medusa/server/src/api/store/search/middlewares.d.ts +0 -2
  5. package/.medusa/server/src/api/store/search/middlewares.js +0 -73
  6. package/.medusa/server/src/api/store/search/route.d.ts +0 -8
  7. package/.medusa/server/src/api/store/search/route.js +0 -25
  8. package/.medusa/server/src/api/store/search/validators.d.ts +0 -27
  9. package/.medusa/server/src/api/store/search/validators.js +0 -17
  10. package/.medusa/server/src/migration-scripts/rename-default-store.d.ts +0 -2
  11. package/.medusa/server/src/migration-scripts/rename-default-store.js +0 -12
  12. package/.medusa/server/src/modules/search/abstract-search-provider.d.ts +0 -9
  13. package/.medusa/server/src/modules/search/abstract-search-provider.js +0 -20
  14. package/.medusa/server/src/modules/search/index.d.ts +0 -10
  15. package/.medusa/server/src/modules/search/index.js +0 -31
  16. package/.medusa/server/src/modules/search/lib/build-docs.d.ts +0 -84
  17. package/.medusa/server/src/modules/search/lib/build-docs.js +0 -207
  18. package/.medusa/server/src/modules/search/lib/reindex.d.ts +0 -7
  19. package/.medusa/server/src/modules/search/lib/reindex.js +0 -61
  20. package/.medusa/server/src/modules/search/lib/sync.d.ts +0 -9
  21. package/.medusa/server/src/modules/search/lib/sync.js +0 -73
  22. package/.medusa/server/src/modules/search/loaders/providers.d.ts +0 -5
  23. package/.medusa/server/src/modules/search/loaders/providers.js +0 -26
  24. package/.medusa/server/src/modules/search/providers/index.d.ts +0 -1
  25. package/.medusa/server/src/modules/search/providers/index.js +0 -6
  26. package/.medusa/server/src/modules/search/providers/orama/index.d.ts +0 -4
  27. package/.medusa/server/src/modules/search/providers/orama/index.js +0 -12
  28. package/.medusa/server/src/modules/search/providers/orama/service.d.ts +0 -19
  29. package/.medusa/server/src/modules/search/providers/orama/service.js +0 -148
  30. package/.medusa/server/src/modules/search/providers/orama/types.d.ts +0 -10
  31. package/.medusa/server/src/modules/search/providers/orama/types.js +0 -3
  32. package/.medusa/server/src/modules/search/services/index.d.ts +0 -2
  33. package/.medusa/server/src/modules/search/services/index.js +0 -24
  34. package/.medusa/server/src/modules/search/services/search-module-service.d.ts +0 -25
  35. package/.medusa/server/src/modules/search/services/search-module-service.js +0 -60
  36. package/.medusa/server/src/modules/search/services/search-provider-service.d.ts +0 -15
  37. package/.medusa/server/src/modules/search/services/search-provider-service.js +0 -30
  38. package/.medusa/server/src/subscribers/search-offer-changed.d.ts +0 -6
  39. package/.medusa/server/src/subscribers/search-offer-changed.js +0 -34
  40. package/.medusa/server/src/subscribers/search-product-changed.d.ts +0 -5
  41. package/.medusa/server/src/subscribers/search-product-changed.js +0 -29
  42. package/.medusa/server/src/subscribers/search-product-deleted.d.ts +0 -5
  43. package/.medusa/server/src/subscribers/search-product-deleted.js +0 -23
  44. package/.medusa/server/src/subscribers/search-reindex.d.ts +0 -3
  45. package/.medusa/server/src/subscribers/search-reindex.js +0 -23
  46. package/.medusa/server/src/subscribers/search-seller-changed.d.ts +0 -5
  47. package/.medusa/server/src/subscribers/search-seller-changed.js +0 -44
@@ -7,8 +7,7 @@ const middlewares_3 = require("./order-groups/middlewares");
7
7
  const middlewares_4 = require("./product-attributes/middlewares");
8
8
  const middlewares_5 = require("./product-categories/middlewares");
9
9
  const middlewares_6 = require("./products/middlewares");
10
- const middlewares_7 = require("./search/middlewares");
11
- const middlewares_8 = require("./sellers/middlewares");
10
+ const middlewares_7 = require("./sellers/middlewares");
12
11
  exports.storeMiddlewares = [
13
12
  ...middlewares_1.storeCartsMiddlewares,
14
13
  ...middlewares_2.storeOffersMiddlewares,
@@ -16,7 +15,6 @@ exports.storeMiddlewares = [
16
15
  ...middlewares_4.storeProductAttributesMiddlewares,
17
16
  ...middlewares_5.storeProductCategoriesMiddlewares,
18
17
  ...middlewares_6.storeProductsMiddlewares,
19
- ...middlewares_7.storeSearchMiddlewares,
20
- ...middlewares_8.storeSellersMiddlewares,
18
+ ...middlewares_7.storeSellersMiddlewares,
21
19
  ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHFEQUEyRDtBQUMzRCxzREFBNkQ7QUFDN0QsNERBQXdFO0FBQ3hFLGtFQUFvRjtBQUNwRixrRUFBb0Y7QUFDcEYsd0RBQWlFO0FBQ2pFLHNEQUE2RDtBQUM3RCx1REFBK0Q7QUFFbEQsUUFBQSxnQkFBZ0IsR0FBc0I7SUFDakQsR0FBRyxtQ0FBcUI7SUFDeEIsR0FBRyxvQ0FBc0I7SUFDekIsR0FBRyx5Q0FBMkI7SUFDOUIsR0FBRywrQ0FBaUM7SUFDcEMsR0FBRywrQ0FBaUM7SUFDcEMsR0FBRyxzQ0FBd0I7SUFDM0IsR0FBRyxvQ0FBc0I7SUFDekIsR0FBRyxxQ0FBdUI7Q0FDM0IsQ0FBQSJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHFEQUEyRDtBQUMzRCxzREFBNkQ7QUFDN0QsNERBQXdFO0FBQ3hFLGtFQUFvRjtBQUNwRixrRUFBb0Y7QUFDcEYsd0RBQWlFO0FBQ2pFLHVEQUErRDtBQUVsRCxRQUFBLGdCQUFnQixHQUFzQjtJQUNqRCxHQUFHLG1DQUFxQjtJQUN4QixHQUFHLG9DQUFzQjtJQUN6QixHQUFHLHlDQUEyQjtJQUM5QixHQUFHLCtDQUFpQztJQUNwQyxHQUFHLCtDQUFpQztJQUNwQyxHQUFHLHNDQUF3QjtJQUMzQixHQUFHLHFDQUF1QjtDQUMzQixDQUFBIn0=
@@ -4,6 +4,8 @@ exports.confirmOrderEditRequestWorkflow = exports.confirmOrderEditRequestWorkflo
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
5
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
6
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ // Prefer the raw BigNumber values so precision survives large quantities.
8
+ const levelAvailable = (lvl) => Number(utils_1.MathBN.sub(lvl.raw_stocked_quantity?.value ?? lvl.stocked_quantity ?? 0, lvl.raw_reserved_quantity?.value ?? lvl.reserved_quantity ?? 0).toString());
7
9
  const adjustOrderEditReservationsForOffersStepId = "mercur-adjust-order-edit-reservations-for-offers";
8
10
  const adjustOrderEditReservationsForOffersStep = (0, workflows_sdk_1.createStep)(adjustOrderEditReservationsForOffersStepId, async (input, { container }) => {
9
11
  const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
@@ -41,47 +43,79 @@ const adjustOrderEditReservationsForOffersStep = (0, workflows_sdk_1.createStep)
41
43
  .map((link) => ({
42
44
  inventory_item_id: link.inventory_item?.id ?? link.inventory_item_id ?? null,
43
45
  required_quantity: Number(link.required_quantity ?? 1),
44
- location_id: link.inventory_item?.location_levels?.[0]?.location_id ?? null,
46
+ levels: (link.inventory_item?.location_levels ?? []).filter((lvl) => !!lvl.location_id),
45
47
  }))
46
48
  .filter((l) => !!l.inventory_item_id);
47
49
  if (normalizedLinks.length === 0) {
48
50
  continue;
49
51
  }
50
- const inventoryItemIdsMissingLocation = normalizedLinks
51
- .filter((l) => !l.location_id)
52
+ // Fall back to the inventory module when the nested location_levels
53
+ // relation didn't come back expanded on the offer link.
54
+ const inventoryItemIdsMissingLevels = normalizedLinks
55
+ .filter((l) => l.levels.length === 0)
52
56
  .map((l) => l.inventory_item_id);
53
- if (inventoryItemIdsMissingLocation.length) {
57
+ if (inventoryItemIdsMissingLevels.length) {
54
58
  const levels = await inventoryService.listInventoryLevels({
55
- inventory_item_id: inventoryItemIdsMissingLocation,
59
+ inventory_item_id: inventoryItemIdsMissingLevels,
56
60
  });
57
- const firstLocationByItem = new Map();
61
+ const levelsByItem = new Map();
58
62
  for (const lvl of levels) {
59
63
  const itemId = lvl.inventory_item_id;
60
- if (!firstLocationByItem.has(itemId)) {
61
- firstLocationByItem.set(itemId, lvl.location_id);
64
+ const locId = lvl.location_id;
65
+ if (!locId) {
66
+ continue;
62
67
  }
68
+ const arr = levelsByItem.get(itemId) ?? [];
69
+ arr.push({
70
+ location_id: locId,
71
+ stocked_quantity: lvl
72
+ .stocked_quantity,
73
+ reserved_quantity: lvl
74
+ .reserved_quantity,
75
+ });
76
+ levelsByItem.set(itemId, arr);
63
77
  }
64
78
  for (const link of normalizedLinks) {
65
- if (!link.location_id) {
66
- link.location_id =
67
- firstLocationByItem.get(link.inventory_item_id) ?? null;
79
+ if (link.levels.length === 0) {
80
+ link.levels = levelsByItem.get(link.inventory_item_id) ?? [];
68
81
  }
69
82
  }
70
83
  }
71
84
  const existingReservations = await inventoryService.listReservationItems({
72
85
  line_item_id: lineItemId,
73
86
  });
87
+ const existingByInventoryItem = new Map();
88
+ for (const r of existingReservations) {
89
+ existingByInventoryItem.set(r.inventory_item_id, r);
90
+ }
91
+ // This line's existing reservation is deleted below, freeing its units
92
+ // back, so credit them when scoring its current location.
93
+ const pickLocation = (link, desired) => {
94
+ const existing = existingByInventoryItem.get(link.inventory_item_id);
95
+ const existingLoc = existing?.location_id ?? null;
96
+ const existingQty = Number(existing?.quantity ?? 0);
97
+ const adjustedAvailable = (locId) => {
98
+ const lvl = link.levels.find((l) => l.location_id === locId);
99
+ const base = lvl ? levelAvailable(lvl) : 0;
100
+ return base + (existingLoc === locId ? existingQty : 0);
101
+ };
102
+ if (existingLoc && adjustedAvailable(existingLoc) >= desired) {
103
+ return existingLoc;
104
+ }
105
+ const fit = link.levels.find((l) => !!l.location_id && adjustedAvailable(l.location_id) >= desired);
106
+ if (fit?.location_id) {
107
+ return fit.location_id;
108
+ }
109
+ return existingLoc ?? link.levels[0]?.location_id ?? null;
110
+ };
74
111
  const desiredByInventoryItem = new Map();
75
112
  for (const link of normalizedLinks) {
113
+ const quantity = Number(utils_1.MathBN.mult(reservationQuantity, link.required_quantity).toString());
76
114
  desiredByInventoryItem.set(link.inventory_item_id, {
77
- quantity: Number(utils_1.MathBN.mult(reservationQuantity, link.required_quantity).toString()),
78
- location_id: link.location_id,
115
+ quantity,
116
+ location_id: pickLocation(link, quantity),
79
117
  });
80
118
  }
81
- const existingByInventoryItem = new Map();
82
- for (const r of existingReservations) {
83
- existingByInventoryItem.set(r.inventory_item_id, r);
84
- }
85
119
  const allMatch = existingReservations.length === desiredByInventoryItem.size &&
86
120
  normalizedLinks.every((link) => {
87
121
  const existing = existingByInventoryItem.get(link.inventory_item_id);
@@ -98,7 +132,7 @@ const adjustOrderEditReservationsForOffersStep = (0, workflows_sdk_1.createStep)
98
132
  const toCreate = normalizedLinks
99
133
  .map((link) => {
100
134
  const desired = desiredByInventoryItem.get(link.inventory_item_id);
101
- const locationId = link.location_id ?? inheritedLocation?.location_id ?? null;
135
+ const locationId = desired.location_id ?? inheritedLocation?.location_id ?? null;
102
136
  return {
103
137
  line_item_id: lineItemId,
104
138
  inventory_item_id: link.inventory_item_id,
@@ -162,4 +196,4 @@ exports.confirmOrderEditRequestWorkflow = (0, workflows_sdk_1.createWorkflow)(ex
162
196
  adjustOrderEditReservationsForOffersStep({ order_id: input.order_id });
163
197
  return new workflows_sdk_1.WorkflowResponse(orderPreview);
164
198
  });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1vcmRlci1lZGl0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3dvcmtmbG93cy9jb25maXJtLW9yZGVyLWVkaXQtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFJa0M7QUFDbEMscUVBSzBDO0FBQzFDLDREQUFvSDtBQTBCcEgsTUFBTSwwQ0FBMEMsR0FDOUMsa0RBQWtELENBQUE7QUFFcEQsTUFBTSx3Q0FBd0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3pELDBDQUEwQyxFQUMxQyxLQUFLLEVBQUUsS0FBMkIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbkQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixTQUFTO1lBQ1QsZ0JBQWdCO1lBQ2hCLG1DQUFtQztZQUNuQyxrREFBa0Q7WUFDbEQsa0VBQWtFO1NBQ25FO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQVNYLENBQUE7SUFFYixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUF5QixDQUFDLENBQUE7SUFDekUsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxl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
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1vcmRlci1lZGl0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3dvcmtmbG93cy9jb25maXJtLW9yZGVyLWVkaXQtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFJa0M7QUFDbEMscUVBSzBDO0FBQzFDLDREQUFvSDtBQTZCcEgsMEVBQTBFO0FBQzFFLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBa0IsRUFBVSxFQUFFLENBQ3BELE1BQU0sQ0FDSixjQUFNLENBQUMsR0FBRyxDQUNSLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLElBQUksR0FBRyxDQUFDLGdCQUFnQixJQUFJLENBQUMsRUFDNUQsR0FBRyxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxHQUFHLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUMvRCxDQUFDLFFBQVEsRUFBRSxDQUNiLENBQUE7QUFpQkgsTUFBTSwwQ0FBMEMsR0FDOUMsa0RBQWtELENBQUE7QUFFcEQsTUFBTSx3Q0FBd0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3pELDBDQUEwQyxFQUMxQyxLQUFLLEVBQUUsS0FBMkIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbkQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixTQUFTO1lBQ1QsZ0JBQWdCO1lBQ2hCLG1DQUFtQztZQUNuQyxrREFBa0Q7WUFDbEQsa0VBQWtFO1NBQ25FO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mercurjs/core",
3
- "version": "2.2.0-rc.1",
3
+ "version": "2.2.0-rc.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/mercurjs/mercur",
@@ -60,7 +60,7 @@
60
60
  "@medusajs/medusa": "2.17.2",
61
61
  "@medusajs/test-utils": "2.17.2",
62
62
  "@medusajs/ui": "4.1.19",
63
- "@mercurjs/types": "2.2.0-rc.1",
63
+ "@mercurjs/types": "2.2.0-rc.3",
64
64
  "@swc/core": "^1.7.28",
65
65
  "@types/cors": "^2.8.17",
66
66
  "@types/express": "^4.17.21",
@@ -80,7 +80,7 @@
80
80
  "multer": "^2.0.2",
81
81
  "http-proxy-middleware": "^3.0.3",
82
82
  "jsonwebtoken": "^9.0.2",
83
- "@mercurjs/cli": "2.2.0-rc.1"
83
+ "@mercurjs/cli": "2.2.0-rc.3"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@medusajs/admin-sdk": ">=2.17.2",
@@ -1,2 +0,0 @@
1
- import { MiddlewareRoute } from "@medusajs/framework/http";
2
- export declare const storeSearchMiddlewares: MiddlewareRoute[];
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storeSearchMiddlewares = void 0;
4
- const http_1 = require("@medusajs/framework/http");
5
- const framework_1 = require("@medusajs/framework");
6
- const utils_1 = require("@medusajs/framework/utils");
7
- const validators_1 = require("./validators");
8
- // Refetches the region (never trusts the body) to build the pricing/tax context,
9
- // mirroring the /store/products chain. No region_id -> no pricing context.
10
- const setSearchPricingContext = async (req, _res, next) => {
11
- const body = req.validatedBody;
12
- const regionId = body?.region_id;
13
- if (!regionId) {
14
- return next();
15
- }
16
- try {
17
- const region = await (0, http_1.refetchEntity)({
18
- entity: "region",
19
- idOrFilter: regionId,
20
- scope: req.scope,
21
- fields: ["id", "currency_code", "automatic_taxes"],
22
- options: { cache: { enable: true } },
23
- });
24
- if (!region) {
25
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Region with id ${regionId} not found when populating the pricing context`);
26
- }
27
- const pricingContext = {
28
- region_id: region.id,
29
- currency_code: region.currency_code,
30
- };
31
- if (req.auth_context?.actor_id) {
32
- const { data: customerGroups } = await (0, http_1.refetchEntities)({
33
- entity: "customer_group",
34
- idOrFilter: { customers: { id: req.auth_context.actor_id } },
35
- scope: req.scope,
36
- fields: ["id"],
37
- });
38
- pricingContext.customer = {
39
- groups: customerGroups.map((cg) => ({ id: cg.id })),
40
- };
41
- }
42
- req.pricingContext = pricingContext;
43
- if (region.automatic_taxes && body?.country_code) {
44
- req.taxContext = {
45
- taxInclusivityContext: { automaticTaxes: true },
46
- taxLineContext: {
47
- address: {
48
- country_code: body.country_code,
49
- province_code: body.province,
50
- },
51
- },
52
- };
53
- }
54
- return next();
55
- }
56
- catch (e) {
57
- return next(e);
58
- }
59
- };
60
- exports.storeSearchMiddlewares = [
61
- {
62
- method: ["POST"],
63
- matcher: "/store/search",
64
- middlewares: [
65
- (0, http_1.authenticate)("customer", ["session", "bearer"], {
66
- allowUnauthenticated: true,
67
- }),
68
- (0, framework_1.validateAndTransformBody)(validators_1.StoreSearchSchema),
69
- setSearchPricingContext,
70
- ],
71
- },
72
- ];
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3NlYXJjaC9taWRkbGV3YXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFRaUM7QUFFakMsbURBQThEO0FBQzlELHFEQUF1RDtBQUV2RCw2Q0FBaUU7QUFVakUsaUZBQWlGO0FBQ2pGLDJFQUEyRTtBQUMzRSxNQUFNLHVCQUF1QixHQUFHLEtBQUssRUFDbkMsR0FBdUIsRUFDdkIsSUFBb0IsRUFDcEIsSUFBd0IsRUFDeEIsRUFBRTtJQUNGLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLFNBQVMsQ0FBQTtJQUNoQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksRUFBRSxDQUFBO0lBQ2YsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxvQkFBYSxFQUFDO1lBQ2pDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO1lBQ2xELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtTQUNyQyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixrQkFBa0IsUUFBUSxnREFBZ0QsQ0FDM0UsQ0FBQTtRQUNILENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBeUI7WUFDM0MsU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ3BCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtTQUNwQyxDQUFBO1FBRUQsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxJQUFBLHNCQUFlLEVBQUM7Z0JBQ3JELE1BQU0sRUFBRSxnQkFBZ0I7Z0JBQ3hCLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUM1RCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7Z0JBQ2hCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQzthQUNmLENBQUMsQ0FBQTtZQUNGLGNBQWMsQ0FBQyxRQUFRLEdBQUc7Z0JBQ3hCLE1BQU0sRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNwRSxDQUFBO1FBQ0gsQ0FBQztRQUVELEdBQUcsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO1FBRW5DLElBQUksTUFBTSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDakQsR0FBRyxDQUFDLFVBQVUsR0FBRztnQkFDZixxQkFBcUIsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUU7Z0JBQy9DLGNBQWMsRUFBRTtvQkFDZCxPQUFPLEVBQUU7d0JBQ1AsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO3dCQUMvQixhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVE7cUJBQzdCO2lCQUNGO2FBQ0YsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPLElBQUksRUFBRSxDQUFBO0lBQ2YsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNoQixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRVksUUFBQSxzQkFBc0IsR0FBc0I7SUFDdkQ7UUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLGVBQWU7UUFDeEIsV0FBVyxFQUFFO1lBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDOUMsb0JBQW9CLEVBQUUsSUFBSTthQUMzQixDQUFDO1lBQ0YsSUFBQSxvQ0FBd0IsRUFBQyw4QkFBaUIsQ0FBQztZQUMzQyx1QkFBdUI7U0FDeEI7S0FDRjtDQUNGLENBQUEifQ==
@@ -1,8 +0,0 @@
1
- import { MedusaResponse, MedusaStoreRequest } from "@medusajs/framework/http";
2
- import { MedusaPricingContext } from "@medusajs/framework/types";
3
- import { StoreSearchType } from "./validators";
4
- type StoreSearchRequest = MedusaStoreRequest<StoreSearchType> & {
5
- pricingContext?: MedusaPricingContext;
6
- };
7
- export declare const POST: (req: StoreSearchRequest, res: MedusaResponse) => Promise<void>;
8
- export {};
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POST = void 0;
4
- const types_1 = require("@mercurjs/types");
5
- const POST = async (req, res) => {
6
- const search = req.scope.resolve(types_1.MercurModules.SEARCH);
7
- const body = req.validatedBody;
8
- const result = await search.search({
9
- q: body.q,
10
- limit: body.limit,
11
- offset: body.offset,
12
- // Built by `setSearchPricingContext`; the provider projects calculated_price.
13
- context: req.pricingContext,
14
- filters: body.filters,
15
- });
16
- res.json({
17
- hits: result.hits,
18
- count: result.count,
19
- limit: body.limit,
20
- offset: body.offset,
21
- facets: result.facets,
22
- });
23
- };
24
- exports.POST = POST;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3NlYXJjaC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwyQ0FBOEQ7QUFTdkQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUF1QixFQUN2QixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXNCLHFCQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0UsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUU5QixNQUFNLE1BQU0sR0FBa0IsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2hELENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNULEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDbkIsOEVBQThFO1FBQzlFLE9BQU8sRUFBRSxHQUFHLENBQUMsY0FBYztRQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87S0FDdEIsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtRQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtRQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07S0FDdEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBdkJZLFFBQUEsSUFBSSxRQXVCaEIifQ==
@@ -1,27 +0,0 @@
1
- import { z } from "zod";
2
- export declare const StoreSearchSchema: z.ZodObject<{
3
- q: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4
- limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
5
- offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
- region_id: z.ZodOptional<z.ZodString>;
7
- country_code: z.ZodOptional<z.ZodString>;
8
- province: z.ZodOptional<z.ZodString>;
9
- filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
10
- }, "strict", z.ZodTypeAny, {
11
- offset: number;
12
- limit: number;
13
- q: string;
14
- region_id?: string | undefined;
15
- country_code?: string | undefined;
16
- province?: string | undefined;
17
- filters?: Record<string, unknown> | undefined;
18
- }, {
19
- offset?: number | undefined;
20
- limit?: number | undefined;
21
- q?: string | undefined;
22
- region_id?: string | undefined;
23
- country_code?: string | undefined;
24
- province?: string | undefined;
25
- filters?: Record<string, unknown> | undefined;
26
- }>;
27
- export type StoreSearchType = z.infer<typeof StoreSearchSchema>;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StoreSearchSchema = void 0;
4
- const zod_1 = require("zod");
5
- // `filters` is passed straight to the active provider, which owns its shape.
6
- exports.StoreSearchSchema = zod_1.z
7
- .object({
8
- q: zod_1.z.string().optional().default(""),
9
- limit: zod_1.z.coerce.number().int().min(1).max(100).optional().default(12),
10
- offset: zod_1.z.coerce.number().int().min(0).optional().default(0),
11
- region_id: zod_1.z.string().optional(),
12
- country_code: zod_1.z.string().optional(),
13
- province: zod_1.z.string().optional(),
14
- filters: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
15
- })
16
- .strict();
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvc2VhcmNoL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXVCO0FBRXZCLDZFQUE2RTtBQUNoRSxRQUFBLGlCQUFpQixHQUFHLE9BQUM7S0FDL0IsTUFBTSxDQUFDO0lBQ04sQ0FBQyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQ3BDLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUNyRSxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RCxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ3RELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQSJ9
@@ -1,2 +0,0 @@
1
- import { ExecArgs } from "@medusajs/framework/types";
2
- export default function renameDefaultStore({ container }: ExecArgs): Promise<void>;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = renameDefaultStore;
4
- const utils_1 = require("@medusajs/framework/utils");
5
- const DEFAULT_STORE_NAME = "Medusa Store";
6
- const MERCUR_STORE_NAME = "Mercur Marketplace";
7
- async function renameDefaultStore({ container }) {
8
- const storeService = container.resolve(utils_1.Modules.STORE);
9
- const stores = await storeService.listStores({ name: DEFAULT_STORE_NAME });
10
- await storeService.updateStores(stores[0].id, { name: MERCUR_STORE_NAME });
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLWRlZmF1bHQtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWlncmF0aW9uLXNjcmlwdHMvcmVuYW1lLWRlZmF1bHQtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxxQ0FNQztBQVhELHFEQUFtRDtBQUVuRCxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQTtBQUN6QyxNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFBO0FBRS9CLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxFQUFFLFNBQVMsRUFBWTtJQUN0RSxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFzQixlQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFMUUsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtJQUUxRSxNQUFNLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUE7QUFDNUUsQ0FBQyJ9
@@ -1,9 +0,0 @@
1
- import { SearchDoc, SearchProvider, SearchQueryBase, SearchResults } from "@mercurjs/types";
2
- export declare class AbstractSearchProvider implements SearchProvider {
3
- static identifier: string;
4
- static validateOptions(_options: Record<string, unknown>): void | never;
5
- getIdentifier(): string;
6
- index(_docs: SearchDoc[]): Promise<void>;
7
- remove(_ids: string[]): Promise<void>;
8
- search(_query: SearchQueryBase): Promise<SearchResults>;
9
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractSearchProvider = void 0;
4
- class AbstractSearchProvider {
5
- static validateOptions(_options) { }
6
- getIdentifier() {
7
- return this.constructor.identifier;
8
- }
9
- async index(_docs) {
10
- throw new Error("index must be overridden by the search provider");
11
- }
12
- async remove(_ids) {
13
- throw new Error("remove must be overridden by the search provider");
14
- }
15
- async search(_query) {
16
- throw new Error("search must be overridden by the search provider");
17
- }
18
- }
19
- exports.AbstractSearchProvider = AbstractSearchProvider;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc2VhcmNoLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvc2VhcmNoL2Fic3RyYWN0LXNlYXJjaC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxNQUFhLHNCQUFzQjtJQUdqQyxNQUFNLENBQUMsZUFBZSxDQUFDLFFBQWlDLElBQWlCLENBQUM7SUFFMUUsYUFBYTtRQUNYLE9BQVEsSUFBSSxDQUFDLFdBQTZDLENBQUMsVUFBVSxDQUFBO0lBQ3ZFLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQWtCO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFjO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUF1QjtRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUE7SUFDckUsQ0FBQztDQUNGO0FBcEJELHdEQW9CQyJ9
@@ -1,10 +0,0 @@
1
- import SearchModuleService from "./services/search-module-service";
2
- export { AbstractSearchProvider } from "./abstract-search-provider";
3
- export { default as SearchModuleService } from "./services/search-module-service";
4
- export { SearchProviderRegistrationPrefix, SearchProviderIdentifierRegistrationName, } from "./services/search-provider-service";
5
- export { reindexAll, indexProductPage, SEARCH_REINDEX_EVENT, } from "./lib/reindex";
6
- export { reindexProductsById, removeProductAndOffers, removeOfferDocs, offersForSeller, } from "./lib/sync";
7
- declare const _default: import("@mercurjs/types").ModuleExports<typeof SearchModuleService> & {
8
- linkable: Record<string, any>;
9
- };
10
- export default _default;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.offersForSeller = exports.removeOfferDocs = exports.removeProductAndOffers = exports.reindexProductsById = exports.SEARCH_REINDEX_EVENT = exports.indexProductPage = exports.reindexAll = exports.SearchProviderIdentifierRegistrationName = exports.SearchProviderRegistrationPrefix = exports.SearchModuleService = exports.AbstractSearchProvider = void 0;
7
- const utils_1 = require("@medusajs/framework/utils");
8
- const types_1 = require("@mercurjs/types");
9
- const search_module_service_1 = __importDefault(require("./services/search-module-service"));
10
- const providers_1 = __importDefault(require("./loaders/providers"));
11
- var abstract_search_provider_1 = require("./abstract-search-provider");
12
- Object.defineProperty(exports, "AbstractSearchProvider", { enumerable: true, get: function () { return abstract_search_provider_1.AbstractSearchProvider; } });
13
- var search_module_service_2 = require("./services/search-module-service");
14
- Object.defineProperty(exports, "SearchModuleService", { enumerable: true, get: function () { return __importDefault(search_module_service_2).default; } });
15
- var search_provider_service_1 = require("./services/search-provider-service");
16
- Object.defineProperty(exports, "SearchProviderRegistrationPrefix", { enumerable: true, get: function () { return search_provider_service_1.SearchProviderRegistrationPrefix; } });
17
- Object.defineProperty(exports, "SearchProviderIdentifierRegistrationName", { enumerable: true, get: function () { return search_provider_service_1.SearchProviderIdentifierRegistrationName; } });
18
- var reindex_1 = require("./lib/reindex");
19
- Object.defineProperty(exports, "reindexAll", { enumerable: true, get: function () { return reindex_1.reindexAll; } });
20
- Object.defineProperty(exports, "indexProductPage", { enumerable: true, get: function () { return reindex_1.indexProductPage; } });
21
- Object.defineProperty(exports, "SEARCH_REINDEX_EVENT", { enumerable: true, get: function () { return reindex_1.SEARCH_REINDEX_EVENT; } });
22
- var sync_1 = require("./lib/sync");
23
- Object.defineProperty(exports, "reindexProductsById", { enumerable: true, get: function () { return sync_1.reindexProductsById; } });
24
- Object.defineProperty(exports, "removeProductAndOffers", { enumerable: true, get: function () { return sync_1.removeProductAndOffers; } });
25
- Object.defineProperty(exports, "removeOfferDocs", { enumerable: true, get: function () { return sync_1.removeOfferDocs; } });
26
- Object.defineProperty(exports, "offersForSeller", { enumerable: true, get: function () { return sync_1.offersForSeller; } });
27
- exports.default = (0, utils_1.Module)(types_1.MercurModules.SEARCH, {
28
- service: search_module_service_1.default,
29
- loaders: [providers_1.default],
30
- });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zZWFyY2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscURBQWtEO0FBQ2xELDJDQUErQztBQUUvQyw2RkFBa0U7QUFDbEUsb0VBQStDO0FBRS9DLHVFQUFtRTtBQUExRCxrSUFBQSxzQkFBc0IsT0FBQTtBQUMvQiwwRUFBaUY7QUFBeEUsNklBQUEsT0FBTyxPQUF1QjtBQUN2Qyw4RUFHMkM7QUFGekMsMklBQUEsZ0NBQWdDLE9BQUE7QUFDaEMsbUpBQUEsd0NBQXdDLE9BQUE7QUFFMUMseUNBSXNCO0FBSHBCLHFHQUFBLFVBQVUsT0FBQTtBQUNWLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLCtHQUFBLG9CQUFvQixPQUFBO0FBRXRCLG1DQUttQjtBQUpqQiwyR0FBQSxtQkFBbUIsT0FBQTtBQUNuQiw4R0FBQSxzQkFBc0IsT0FBQTtBQUN0Qix1R0FBQSxlQUFlLE9BQUE7QUFDZix1R0FBQSxlQUFlLE9BQUE7QUFHakIsa0JBQWUsSUFBQSxjQUFNLEVBQUMscUJBQWEsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsT0FBTyxFQUFFLCtCQUFtQjtJQUM1QixPQUFPLEVBQUUsQ0FBQyxtQkFBYSxDQUFDO0NBQ3pCLENBQUMsQ0FBQSJ9
@@ -1,84 +0,0 @@
1
- import { MedusaContainer } from "@medusajs/framework/types";
2
- import { SearchDoc, SearchDocAttribute } from "@mercurjs/types";
3
- import { EnrichableOffer } from "../../../api/store/offers/helpers";
4
- export type SearchRegion = {
5
- id: string;
6
- currency_code: string;
7
- automatic_taxes?: boolean;
8
- countries?: {
9
- iso_2?: string | null;
10
- }[] | null;
11
- };
12
- type CalculatedPrice = {
13
- calculated_amount?: number | null;
14
- original_amount?: number | null;
15
- currency_code?: string | null;
16
- calculated_amount_with_tax?: number | null;
17
- original_amount_with_tax?: number | null;
18
- };
19
- type ProductVariantRow = {
20
- id: string;
21
- calculated_price?: CalculatedPrice | null;
22
- };
23
- type ProductAttributeValueRow = {
24
- id: string;
25
- name: string;
26
- attribute?: {
27
- id: string;
28
- handle?: string | null;
29
- name?: string | null;
30
- type?: string | null;
31
- is_filterable?: boolean | null;
32
- } | null;
33
- };
34
- export type SearchProductRow = {
35
- id: string;
36
- title: string;
37
- description?: string | null;
38
- handle?: string | null;
39
- thumbnail?: string | null;
40
- status?: string | null;
41
- collection_id?: string | null;
42
- collection?: {
43
- id?: string;
44
- title?: string | null;
45
- } | null;
46
- categories?: {
47
- id: string;
48
- name?: string | null;
49
- }[] | null;
50
- variants?: ProductVariantRow[] | null;
51
- product_attribute_values?: ProductAttributeValueRow[] | null;
52
- };
53
- export declare const searchProductFields: string[];
54
- export declare const searchOfferFields: string[];
55
- export declare const buildProductDocs: (container: MedusaContainer, products: SearchProductRow[], regions: SearchRegion[]) => Promise<{
56
- docs: SearchDoc[];
57
- attributesByProduct: Map<string, {
58
- tokens: string[];
59
- attributes: SearchDocAttribute[];
60
- }>;
61
- }>;
62
- type OfferRow = EnrichableOffer & {
63
- variant_id?: string;
64
- sku?: string | null;
65
- seller?: {
66
- handle?: string | null;
67
- status?: string | null;
68
- } | null;
69
- product_variant?: {
70
- id?: string;
71
- title?: string | null;
72
- price_set?: {
73
- id?: string;
74
- } | null;
75
- } | null;
76
- };
77
- export declare const buildOfferDocs: (container: MedusaContainer, offers: OfferRow[], regions: SearchRegion[], context: {
78
- productById: Map<string, SearchProductRow>;
79
- attributesByProduct: Map<string, {
80
- tokens: string[];
81
- attributes: SearchDocAttribute[];
82
- }>;
83
- }) => Promise<SearchDoc[]>;
84
- export {};