@mercurjs/core 2.2.0-rc.0 → 2.2.0-rc.2

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 (127) hide show
  1. package/.medusa/server/src/api/admin/offers/batch/route.js +3 -3
  2. package/.medusa/server/src/api/admin/offers/validators.d.ts +5 -2
  3. package/.medusa/server/src/api/admin/offers/validators.js +3 -2
  4. package/.medusa/server/src/api/admin/product-categories/[id]/products/route.js +3 -3
  5. package/.medusa/server/src/api/admin/product-changes/[id]/cancel/route.js +2 -1
  6. package/.medusa/server/src/api/admin/product-changes/[id]/confirm/route.js +2 -1
  7. package/.medusa/server/src/api/admin/product-changes/validators.d.ts +8 -4
  8. package/.medusa/server/src/api/admin/product-changes/validators.js +6 -3
  9. package/.medusa/server/src/api/admin/products/[id]/attributes/batch/route.js +3 -3
  10. package/.medusa/server/src/api/admin/products/[id]/confirm/route.js +2 -1
  11. package/.medusa/server/src/api/admin/products/[id]/reject/route.js +2 -1
  12. package/.medusa/server/src/api/admin/products/[id]/request-changes/route.js +2 -1
  13. package/.medusa/server/src/api/admin/products/validators.d.ts +12 -8
  14. package/.medusa/server/src/api/admin/products/validators.js +9 -5
  15. package/.medusa/server/src/api/admin/sellers/[id]/address/route.js +4 -2
  16. package/.medusa/server/src/api/admin/sellers/[id]/approve/route.d.ts +2 -1
  17. package/.medusa/server/src/api/admin/sellers/[id]/approve/route.js +2 -1
  18. package/.medusa/server/src/api/admin/sellers/[id]/payment-details/route.js +4 -2
  19. package/.medusa/server/src/api/admin/sellers/[id]/professional-details/route.js +4 -2
  20. package/.medusa/server/src/api/admin/sellers/[id]/route.js +4 -2
  21. package/.medusa/server/src/api/admin/sellers/[id]/suspend/route.js +2 -1
  22. package/.medusa/server/src/api/admin/sellers/[id]/terminate/route.js +2 -1
  23. package/.medusa/server/src/api/admin/sellers/[id]/unsuspend/route.d.ts +2 -1
  24. package/.medusa/server/src/api/admin/sellers/[id]/unsuspend/route.js +2 -1
  25. package/.medusa/server/src/api/admin/sellers/[id]/unterminate/route.d.ts +2 -1
  26. package/.medusa/server/src/api/admin/sellers/[id]/unterminate/route.js +2 -1
  27. package/.medusa/server/src/api/admin/sellers/middlewares.js +4 -1
  28. package/.medusa/server/src/api/admin/sellers/route.js +4 -2
  29. package/.medusa/server/src/api/admin/sellers/validators.d.ts +14 -4
  30. package/.medusa/server/src/api/admin/sellers/validators.js +10 -4
  31. package/.medusa/server/src/api/store/middlewares.js +3 -5
  32. package/.medusa/server/src/api/vendor/members/me/route.js +3 -2
  33. package/.medusa/server/src/api/vendor/members/validators.d.ts +4 -2
  34. package/.medusa/server/src/api/vendor/members/validators.js +5 -3
  35. package/.medusa/server/src/api/vendor/offers/[id]/route.js +4 -2
  36. package/.medusa/server/src/api/vendor/offers/batch/route.js +3 -2
  37. package/.medusa/server/src/api/vendor/offers/route.js +4 -2
  38. package/.medusa/server/src/api/vendor/offers/validators.d.ts +14 -8
  39. package/.medusa/server/src/api/vendor/offers/validators.js +9 -5
  40. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.d.ts +2 -1
  41. package/.medusa/server/src/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route.js +4 -1
  42. package/.medusa/server/src/api/vendor/orders/middlewares.js +2 -1
  43. package/.medusa/server/src/api/vendor/orders/validators.d.ts +14 -2
  44. package/.medusa/server/src/api/vendor/orders/validators.js +10 -3
  45. package/.medusa/server/src/api/vendor/product-categories/[id]/products/route.js +3 -3
  46. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.d.ts +2 -1
  47. package/.medusa/server/src/api/vendor/products/[id]/cancel/route.js +2 -1
  48. package/.medusa/server/src/api/vendor/products/[id]/route.js +3 -2
  49. package/.medusa/server/src/api/vendor/products/validators.d.ts +3 -2
  50. package/.medusa/server/src/api/vendor/products/validators.js +3 -2
  51. package/.medusa/server/src/api/vendor/sellers/[id]/address/route.js +4 -2
  52. package/.medusa/server/src/api/vendor/sellers/[id]/payment-details/route.js +4 -2
  53. package/.medusa/server/src/api/vendor/sellers/[id]/professional-details/route.js +4 -2
  54. package/.medusa/server/src/api/vendor/sellers/[id]/route.js +4 -2
  55. package/.medusa/server/src/api/vendor/sellers/me/route.js +10 -1
  56. package/.medusa/server/src/api/vendor/sellers/route.js +3 -2
  57. package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +53 -19
  58. package/.medusa/server/src/workflows/order/workflows/confirm-return-receive.js +2 -2
  59. package/.medusa/server/src/workflows/product/workflows/assign-products-to-category.d.ts +12 -0
  60. package/.medusa/server/src/workflows/product/workflows/assign-products-to-category.js +23 -0
  61. package/.medusa/server/src/workflows/product/workflows/confirm-products.d.ts +4 -4
  62. package/.medusa/server/src/workflows/product/workflows/confirm-products.js +2 -1
  63. package/.medusa/server/src/workflows/product/workflows/index.d.ts +1 -0
  64. package/.medusa/server/src/workflows/product/workflows/index.js +2 -1
  65. package/.medusa/server/src/workflows/product/workflows/reject-product.d.ts +4 -4
  66. package/.medusa/server/src/workflows/product/workflows/reject-product.js +2 -1
  67. package/.medusa/server/src/workflows/product/workflows/request-product-change.d.ts +4 -4
  68. package/.medusa/server/src/workflows/product/workflows/request-product-change.js +2 -1
  69. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.d.ts +1 -0
  70. package/.medusa/server/src/workflows/product-attribute/workflows/create-and-link-product-attributes.js +2 -1
  71. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.d.ts +8 -3
  72. package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-product.js +8 -2
  73. package/.medusa/server/src/workflows/seller/workflows/approve-seller.d.ts +4 -4
  74. package/.medusa/server/src/workflows/seller/workflows/approve-seller.js +2 -1
  75. package/.medusa/server/src/workflows/seller/workflows/suspend-seller.d.ts +4 -4
  76. package/.medusa/server/src/workflows/seller/workflows/suspend-seller.js +2 -1
  77. package/.medusa/server/src/workflows/seller/workflows/terminate-seller.d.ts +4 -4
  78. package/.medusa/server/src/workflows/seller/workflows/terminate-seller.js +2 -1
  79. package/.medusa/server/src/workflows/seller/workflows/unsuspend-seller.d.ts +4 -4
  80. package/.medusa/server/src/workflows/seller/workflows/unsuspend-seller.js +2 -1
  81. package/.medusa/server/src/workflows/seller/workflows/unterminate-seller.d.ts +4 -4
  82. package/.medusa/server/src/workflows/seller/workflows/unterminate-seller.js +2 -1
  83. package/.medusa/server/src/workflows/seller/workflows/update-member.d.ts +12 -101
  84. package/.medusa/server/src/workflows/seller/workflows/update-member.js +6 -2
  85. package/package.json +6 -6
  86. package/.medusa/server/src/api/store/search/middlewares.d.ts +0 -2
  87. package/.medusa/server/src/api/store/search/middlewares.js +0 -73
  88. package/.medusa/server/src/api/store/search/route.d.ts +0 -8
  89. package/.medusa/server/src/api/store/search/route.js +0 -25
  90. package/.medusa/server/src/api/store/search/validators.d.ts +0 -27
  91. package/.medusa/server/src/api/store/search/validators.js +0 -17
  92. package/.medusa/server/src/modules/search/abstract-search-provider.d.ts +0 -9
  93. package/.medusa/server/src/modules/search/abstract-search-provider.js +0 -20
  94. package/.medusa/server/src/modules/search/index.d.ts +0 -10
  95. package/.medusa/server/src/modules/search/index.js +0 -31
  96. package/.medusa/server/src/modules/search/lib/build-docs.d.ts +0 -84
  97. package/.medusa/server/src/modules/search/lib/build-docs.js +0 -207
  98. package/.medusa/server/src/modules/search/lib/reindex.d.ts +0 -7
  99. package/.medusa/server/src/modules/search/lib/reindex.js +0 -61
  100. package/.medusa/server/src/modules/search/lib/sync.d.ts +0 -9
  101. package/.medusa/server/src/modules/search/lib/sync.js +0 -73
  102. package/.medusa/server/src/modules/search/loaders/providers.d.ts +0 -5
  103. package/.medusa/server/src/modules/search/loaders/providers.js +0 -26
  104. package/.medusa/server/src/modules/search/providers/index.d.ts +0 -1
  105. package/.medusa/server/src/modules/search/providers/index.js +0 -6
  106. package/.medusa/server/src/modules/search/providers/orama/index.d.ts +0 -4
  107. package/.medusa/server/src/modules/search/providers/orama/index.js +0 -12
  108. package/.medusa/server/src/modules/search/providers/orama/service.d.ts +0 -19
  109. package/.medusa/server/src/modules/search/providers/orama/service.js +0 -148
  110. package/.medusa/server/src/modules/search/providers/orama/types.d.ts +0 -10
  111. package/.medusa/server/src/modules/search/providers/orama/types.js +0 -3
  112. package/.medusa/server/src/modules/search/services/index.d.ts +0 -2
  113. package/.medusa/server/src/modules/search/services/index.js +0 -24
  114. package/.medusa/server/src/modules/search/services/search-module-service.d.ts +0 -25
  115. package/.medusa/server/src/modules/search/services/search-module-service.js +0 -60
  116. package/.medusa/server/src/modules/search/services/search-provider-service.d.ts +0 -15
  117. package/.medusa/server/src/modules/search/services/search-provider-service.js +0 -30
  118. package/.medusa/server/src/subscribers/search-offer-changed.d.ts +0 -6
  119. package/.medusa/server/src/subscribers/search-offer-changed.js +0 -34
  120. package/.medusa/server/src/subscribers/search-product-changed.d.ts +0 -5
  121. package/.medusa/server/src/subscribers/search-product-changed.js +0 -29
  122. package/.medusa/server/src/subscribers/search-product-deleted.d.ts +0 -5
  123. package/.medusa/server/src/subscribers/search-product-deleted.js +0 -23
  124. package/.medusa/server/src/subscribers/search-reindex.d.ts +0 -3
  125. package/.medusa/server/src/subscribers/search-reindex.js +0 -23
  126. package/.medusa/server/src/subscribers/search-seller-changed.d.ts +0 -5
  127. package/.medusa/server/src/subscribers/search-seller-changed.js +0 -44
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zZWFyY2gvcHJvdmlkZXJzL29yYW1hL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,2 +0,0 @@
1
- export { default as SearchProviderService } from "./search-provider-service";
2
- export * from "./search-provider-service";
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.SearchProviderService = void 0;
21
- var search_provider_service_1 = require("./search-provider-service");
22
- Object.defineProperty(exports, "SearchProviderService", { enumerable: true, get: function () { return __importDefault(search_provider_service_1).default; } });
23
- __exportStar(require("./search-provider-service"), exports);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zZWFyY2gvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxRUFBNEU7QUFBbkUsaUpBQUEsT0FBTyxPQUF5QjtBQUN6Qyw0REFBeUMifQ==
@@ -1,25 +0,0 @@
1
- import { IEventBusModuleService, InternalModuleDeclaration, Logger } from "@medusajs/framework/types";
2
- import { ContainerRegistrationKeys, Modules } from "@medusajs/framework/utils";
3
- import { SearchDoc, SearchQueryBase, SearchResults } from "@mercurjs/types";
4
- import SearchProviderService from "./search-provider-service";
5
- type InjectedDependencies = {
6
- searchProviderService: SearchProviderService;
7
- [ContainerRegistrationKeys.LOGGER]: Logger;
8
- [Modules.EVENT_BUS]: IEventBusModuleService;
9
- };
10
- export default class SearchModuleService {
11
- #private;
12
- protected readonly searchProviderService_: SearchProviderService;
13
- protected readonly logger_: Logger;
14
- protected readonly eventBus_: IEventBusModuleService;
15
- constructor(container: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration);
16
- __hooks: {
17
- onApplicationStart(this: SearchModuleService): Promise<void>;
18
- };
19
- protected onApplicationStart_(): Promise<void>;
20
- getProviderIdentifier(): string;
21
- index(docs: SearchDoc[]): Promise<void>;
22
- remove(ids: string[]): Promise<void>;
23
- search(query: SearchQueryBase): Promise<SearchResults>;
24
- }
25
- export {};
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _SearchModuleService_isWorkerMode;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const utils_1 = require("@medusajs/framework/utils");
16
- const reindex_1 = require("../lib/reindex");
17
- class SearchModuleService {
18
- constructor(container, moduleDeclaration) {
19
- _SearchModuleService_isWorkerMode.set(this, false);
20
- this.__hooks = {
21
- onApplicationStart() {
22
- return this.onApplicationStart_();
23
- },
24
- };
25
- this.searchProviderService_ = container.searchProviderService;
26
- this.logger_ = container[utils_1.ContainerRegistrationKeys.LOGGER];
27
- this.eventBus_ = container[utils_1.Modules.EVENT_BUS];
28
- __classPrivateFieldSet(this, _SearchModuleService_isWorkerMode, moduleDeclaration.worker_mode !== "server", "f");
29
- }
30
- // The module service is constructed with the awilix cradle, not the app
31
- // container, so it can't run the cross-module reindex itself. It emits an
32
- // event instead; the `search-reindex` subscriber handles it with the real
33
- // request-scoped container.
34
- async onApplicationStart_() {
35
- if (!__classPrivateFieldGet(this, _SearchModuleService_isWorkerMode, "f")) {
36
- return;
37
- }
38
- try {
39
- await this.eventBus_.emit({ name: reindex_1.SEARCH_REINDEX_EVENT, data: {} });
40
- }
41
- catch (e) {
42
- this.logger_.error(e);
43
- }
44
- }
45
- getProviderIdentifier() {
46
- return this.searchProviderService_.getIdentifier();
47
- }
48
- async index(docs) {
49
- return await this.searchProviderService_.index(docs);
50
- }
51
- async remove(ids) {
52
- return await this.searchProviderService_.remove(ids);
53
- }
54
- async search(query) {
55
- return await this.searchProviderService_.search(query);
56
- }
57
- }
58
- _SearchModuleService_isWorkerMode = new WeakMap();
59
- exports.default = SearchModuleService;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vZHVsZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvc2VhcmNoL3NlcnZpY2VzL3NlYXJjaC1tb2R1bGUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUtBLHFEQUE4RTtBQU85RSw0Q0FBcUQ7QUFTckQsTUFBcUIsbUJBQW1CO0lBTXRDLFlBQ0UsU0FBK0IsRUFDL0IsaUJBQTRDO1FBSjlDLDRDQUFnQixLQUFLLEVBQUE7UUFZckIsWUFBTyxHQUFHO1lBQ1Isa0JBQWtCO2dCQUNoQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO1lBQ25DLENBQUM7U0FDRixDQUFBO1FBVkMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQTtRQUM3RCxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxlQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDN0MsdUJBQUEsSUFBSSxxQ0FBaUIsaUJBQWlCLENBQUMsV0FBVyxLQUFLLFFBQVEsTUFBQSxDQUFBO0lBQ2pFLENBQUM7SUFRRCx3RUFBd0U7SUFDeEUsMEVBQTBFO0lBQzFFLDBFQUEwRTtJQUMxRSw0QkFBNEI7SUFDbEIsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsdUJBQUEsSUFBSSx5Q0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTTtRQUNSLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLDhCQUFvQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBaUI7UUFDM0IsT0FBTyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBYTtRQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFzQjtRQUNqQyxPQUFPLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0NBQ0Y7O2tCQXJEb0IsbUJBQW1CIn0=
@@ -1,15 +0,0 @@
1
- import { SearchDoc, SearchProvider, SearchQueryBase, SearchResults } from "@mercurjs/types";
2
- export declare const SearchProviderIdentifierRegistrationName = "search_providers_identifier";
3
- export declare const SearchProviderRegistrationPrefix = "search_";
4
- type InjectedDependencies = {
5
- [key: `${typeof SearchProviderRegistrationPrefix}${string}`]: SearchProvider;
6
- };
7
- export default class SearchProviderService {
8
- protected readonly searchProvider_: SearchProvider;
9
- constructor(container: InjectedDependencies);
10
- getIdentifier(): string;
11
- index(docs: SearchDoc[]): Promise<void>;
12
- remove(ids: string[]): Promise<void>;
13
- search(query: SearchQueryBase): Promise<SearchResults>;
14
- }
15
- export {};
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SearchProviderRegistrationPrefix = exports.SearchProviderIdentifierRegistrationName = void 0;
4
- const utils_1 = require("@medusajs/framework/utils");
5
- exports.SearchProviderIdentifierRegistrationName = "search_providers_identifier";
6
- exports.SearchProviderRegistrationPrefix = "search_";
7
- class SearchProviderService {
8
- constructor(container) {
9
- const searchProviderKeys = Object.keys(container).filter((k) => k.startsWith(exports.SearchProviderRegistrationPrefix));
10
- if (searchProviderKeys.length !== 1) {
11
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Search module should be initialized with exactly one provider`);
12
- }
13
- this.searchProvider_ = container[searchProviderKeys[0]];
14
- }
15
- getIdentifier() {
16
- const provider = this.searchProvider_;
17
- return provider.getIdentifier?.() ?? "unknown";
18
- }
19
- async index(docs) {
20
- return await this.searchProvider_.index(docs);
21
- }
22
- async remove(ids) {
23
- return await this.searchProvider_.remove(ids);
24
- }
25
- async search(query) {
26
- return await this.searchProvider_.search(query);
27
- }
28
- }
29
- exports.default = SearchProviderService;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXByb3ZpZGVyLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zZWFyY2gvc2VydmljZXMvc2VhcmNoLXByb3ZpZGVyLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBUTFDLFFBQUEsd0NBQXdDLEdBQ25ELDZCQUE2QixDQUFBO0FBRWxCLFFBQUEsZ0NBQWdDLEdBQUcsU0FBUyxDQUFBO0FBTXpELE1BQXFCLHFCQUFxQjtJQUd4QyxZQUFZLFNBQStCO1FBQ3pDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUM3RCxDQUFDLENBQUMsVUFBVSxDQUFDLHdDQUFnQyxDQUFDLENBQy9DLENBQUE7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QiwrREFBK0QsQ0FDaEUsQ0FBQTtRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FDOUIsa0JBQWtCLENBQUMsQ0FBQyxDQUErQixDQUNsQyxDQUFBO0lBQ3JCLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBRXJCLENBQUE7UUFDRCxPQUFPLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLFNBQVMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFpQjtRQUMzQixPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBYTtRQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBc0I7UUFDakMsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2pELENBQUM7Q0FDRjtBQXRDRCx3Q0FzQ0MifQ==
@@ -1,6 +0,0 @@
1
- import { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
2
- export default function searchOfferChangedHandler({ event, container, }: SubscriberArgs<{
3
- id: string;
4
- product_id?: string;
5
- }>): Promise<void>;
6
- export declare const config: SubscriberConfig;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.config = void 0;
4
- exports.default = searchOfferChangedHandler;
5
- const utils_1 = require("@medusajs/framework/utils");
6
- const events_1 = require("../workflows/events");
7
- const sync_1 = require("../modules/search/lib/sync");
8
- async function searchOfferChangedHandler({ event, container, }) {
9
- const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
10
- const { id, product_id } = event.data;
11
- try {
12
- if (event.name === events_1.OfferWorkflowEvents.DELETED) {
13
- await (0, sync_1.removeOfferDocs)(container, [id]);
14
- }
15
- if (product_id) {
16
- await (0, sync_1.reindexProductsById)(container, [product_id]);
17
- }
18
- }
19
- catch (error) {
20
- logger.error(`Search sync failed for offer ${id}:`, error);
21
- throw error;
22
- }
23
- }
24
- exports.config = {
25
- event: [
26
- events_1.OfferWorkflowEvents.CREATED,
27
- events_1.OfferWorkflowEvents.UPDATED,
28
- events_1.OfferWorkflowEvents.DELETED,
29
- ],
30
- context: {
31
- subscriberId: "search-offer-changed-handler",
32
- },
33
- };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW9mZmVyLWNoYW5nZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvc2VhcmNoLW9mZmVyLWNoYW5nZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsNENBa0JDO0FBMUJELHFEQUFxRTtBQUVyRSxnREFBeUQ7QUFDekQscURBR21DO0FBRXBCLEtBQUssVUFBVSx5QkFBeUIsQ0FBQyxFQUN0RCxLQUFLLEVBQ0wsU0FBUyxHQUMyQztJQUNwRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQTtJQUVyQyxJQUFJLENBQUM7UUFDSCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssNEJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFBLHNCQUFlLEVBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN4QyxDQUFDO1FBQ0QsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBQSwwQkFBbUIsRUFBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFLEtBQWMsQ0FBQyxDQUFBO1FBQ25FLE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFO1FBQ0wsNEJBQW1CLENBQUMsT0FBTztRQUMzQiw0QkFBbUIsQ0FBQyxPQUFPO1FBQzNCLDRCQUFtQixDQUFDLE9BQU87S0FDNUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxZQUFZLEVBQUUsOEJBQThCO0tBQzdDO0NBQ0YsQ0FBQSJ9
@@ -1,5 +0,0 @@
1
- import { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
2
- export default function searchProductChangedHandler({ event, container, }: SubscriberArgs<{
3
- id: string;
4
- }>): Promise<void>;
5
- export declare const config: SubscriberConfig;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.config = void 0;
4
- exports.default = searchProductChangedHandler;
5
- const utils_1 = require("@medusajs/framework/utils");
6
- const events_1 = require("../workflows/product/events");
7
- const sync_1 = require("../modules/search/lib/sync");
8
- async function searchProductChangedHandler({ event, container, }) {
9
- const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
10
- try {
11
- await (0, sync_1.reindexProductsById)(container, [event.data.id]);
12
- }
13
- catch (error) {
14
- logger.error(`Search sync failed for product ${event.data.id}:`, error);
15
- throw error;
16
- }
17
- }
18
- exports.config = {
19
- event: [
20
- events_1.ProductWorkflowEvents.PUBLISHED,
21
- events_1.ProductWorkflowEvents.REJECTED,
22
- "product.updated",
23
- "product.product.updated",
24
- ],
25
- context: {
26
- subscriberId: "search-product-changed-handler",
27
- },
28
- };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXByb2R1Y3QtY2hhbmdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9zZWFyY2gtcHJvZHVjdC1jaGFuZ2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDhDQWNDO0FBbkJELHFEQUFxRTtBQUVyRSx3REFBbUU7QUFDbkUscURBQWdFO0FBRWpELEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxFQUN4RCxLQUFLLEVBQ0wsU0FBUyxHQUNzQjtJQUMvQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLElBQUksQ0FBQztRQUNILE1BQU0sSUFBQSwwQkFBbUIsRUFBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUNWLGtDQUFrQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUNsRCxLQUFjLENBQ2YsQ0FBQTtRQUNELE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFO1FBQ0wsOEJBQXFCLENBQUMsU0FBUztRQUMvQiw4QkFBcUIsQ0FBQyxRQUFRO1FBQzlCLGlCQUFpQjtRQUNqQix5QkFBeUI7S0FDMUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxZQUFZLEVBQUUsZ0NBQWdDO0tBQy9DO0NBQ0YsQ0FBQSJ9
@@ -1,5 +0,0 @@
1
- import { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
2
- export default function searchProductDeletedHandler({ event, container, }: SubscriberArgs<{
3
- id: string;
4
- }>): Promise<void>;
5
- export declare const config: SubscriberConfig;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.config = void 0;
4
- exports.default = searchProductDeletedHandler;
5
- const utils_1 = require("@medusajs/framework/utils");
6
- const sync_1 = require("../modules/search/lib/sync");
7
- async function searchProductDeletedHandler({ event, container, }) {
8
- const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
9
- try {
10
- await (0, sync_1.removeProductAndOffers)(container, [event.data.id]);
11
- }
12
- catch (error) {
13
- logger.error(`Search delete failed for product ${event.data.id}:`, error);
14
- throw error;
15
- }
16
- }
17
- exports.config = {
18
- event: ["product.deleted", "product.product.deleted"],
19
- context: {
20
- subscriberId: "search-product-deleted-handler",
21
- },
22
- };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXByb2R1Y3QtZGVsZXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9zZWFyY2gtcHJvZHVjdC1kZWxldGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLDhDQWNDO0FBbEJELHFEQUFxRTtBQUVyRSxxREFBbUU7QUFFcEQsS0FBSyxVQUFVLDJCQUEyQixDQUFDLEVBQ3hELEtBQUssRUFDTCxTQUFTLEdBQ3NCO0lBQy9CLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFBLDZCQUFzQixFQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQ1Ysb0NBQW9DLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQ3BELEtBQWMsQ0FDZixDQUFBO1FBQ0QsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSx5QkFBeUIsQ0FBQztJQUNyRCxPQUFPLEVBQUU7UUFDUCxZQUFZLEVBQUUsZ0NBQWdDO0tBQy9DO0NBQ0YsQ0FBQSJ9
@@ -1,3 +0,0 @@
1
- import { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
2
- export default function searchReindexHandler({ container, }: SubscriberArgs): Promise<void>;
3
- export declare const config: SubscriberConfig;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.config = void 0;
4
- exports.default = searchReindexHandler;
5
- const utils_1 = require("@medusajs/framework/utils");
6
- const search_1 = require("../modules/search");
7
- async function searchReindexHandler({ container, }) {
8
- const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
9
- try {
10
- await (0, search_1.reindexAll)(container);
11
- }
12
- catch (error) {
13
- logger.error("Full search reindex failed:", error);
14
- throw error;
15
- }
16
- }
17
- exports.config = {
18
- event: search_1.SEARCH_REINDEX_EVENT,
19
- context: {
20
- subscriberId: "search-reindex-handler",
21
- },
22
- };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvc2VhcmNoLXJlaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsdUNBVUM7QUFkRCxxREFBcUU7QUFFckUsOENBQW9FO0FBRXJELEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxFQUNqRCxTQUFTLEdBQ007SUFDZixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLElBQUksQ0FBQztRQUNILE1BQU0sSUFBQSxtQkFBVSxFQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxLQUFjLENBQUMsQ0FBQTtRQUMzRCxNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSw2QkFBb0I7SUFDM0IsT0FBTyxFQUFFO1FBQ1AsWUFBWSxFQUFFLHdCQUF3QjtLQUN2QztDQUNGLENBQUEifQ==
@@ -1,5 +0,0 @@
1
- import { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
2
- export default function searchSellerChangedHandler({ event, container, }: SubscriberArgs<{
3
- id: string;
4
- }>): Promise<void>;
5
- export declare const config: SubscriberConfig;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.config = void 0;
4
- exports.default = searchSellerChangedHandler;
5
- const utils_1 = require("@medusajs/framework/utils");
6
- const events_1 = require("../workflows/events");
7
- const sync_1 = require("../modules/search/lib/sync");
8
- // unterminated lands on SUSPENDED, still not OPEN, so its offers stay dropped.
9
- const DEACTIVATING = new Set([
10
- events_1.SellerWorkflowEvents.SUSPENDED,
11
- events_1.SellerWorkflowEvents.TERMINATED,
12
- events_1.SellerWorkflowEvents.UNTERMINATED,
13
- events_1.SellerWorkflowEvents.DELETED,
14
- ]);
15
- async function searchSellerChangedHandler({ event, container, }) {
16
- const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
17
- const sellerId = event.data.id;
18
- try {
19
- const { offerIds, productIds } = await (0, sync_1.offersForSeller)(container, sellerId);
20
- if (DEACTIVATING.has(event.name)) {
21
- await (0, sync_1.removeOfferDocs)(container, offerIds);
22
- }
23
- await (0, sync_1.reindexProductsById)(container, productIds);
24
- }
25
- catch (error) {
26
- logger.error(`Search sync failed for seller ${sellerId} (${event.name}):`, error);
27
- throw error;
28
- }
29
- }
30
- exports.config = {
31
- event: [
32
- events_1.SellerWorkflowEvents.APPROVED,
33
- events_1.SellerWorkflowEvents.UNSUSPENDED,
34
- events_1.SellerWorkflowEvents.UPDATED,
35
- events_1.SellerWorkflowEvents.SUSPENDED,
36
- events_1.SellerWorkflowEvents.TERMINATED,
37
- events_1.SellerWorkflowEvents.UNTERMINATED,
38
- events_1.SellerWorkflowEvents.DELETED,
39
- ],
40
- context: {
41
- subscriberId: "search-seller-changed-handler",
42
- },
43
- };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGxlci1jaGFuZ2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL3NlYXJjaC1zZWxsZXItY2hhbmdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsNkNBcUJDO0FBdENELHFEQUFxRTtBQUVyRSxnREFBMEQ7QUFDMUQscURBSW1DO0FBRW5DLCtFQUErRTtBQUMvRSxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBUztJQUNuQyw2QkFBb0IsQ0FBQyxTQUFTO0lBQzlCLDZCQUFvQixDQUFDLFVBQVU7SUFDL0IsNkJBQW9CLENBQUMsWUFBWTtJQUNqQyw2QkFBb0IsQ0FBQyxPQUFPO0NBQzdCLENBQUMsQ0FBQTtBQUVhLEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxFQUN2RCxLQUFLLEVBQ0wsU0FBUyxHQUNzQjtJQUMvQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO0lBRTlCLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxJQUFBLHNCQUFlLEVBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRTNFLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUEsc0JBQWUsRUFBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDNUMsQ0FBQztRQUNELE1BQU0sSUFBQSwwQkFBbUIsRUFBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUNWLGlDQUFpQyxRQUFRLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxFQUM1RCxLQUFjLENBQ2YsQ0FBQTtRQUNELE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFO1FBQ0wsNkJBQW9CLENBQUMsUUFBUTtRQUM3Qiw2QkFBb0IsQ0FBQyxXQUFXO1FBQ2hDLDZCQUFvQixDQUFDLE9BQU87UUFDNUIsNkJBQW9CLENBQUMsU0FBUztRQUM5Qiw2QkFBb0IsQ0FBQyxVQUFVO1FBQy9CLDZCQUFvQixDQUFDLFlBQVk7UUFDakMsNkJBQW9CLENBQUMsT0FBTztLQUM3QjtJQUNELE9BQU8sRUFBRTtRQUNQLFlBQVksRUFBRSwrQkFBK0I7S0FDOUM7Q0FDRixDQUFBIn0=