@lyxa.ai/core 1.1.14 → 1.1.15

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.
@@ -4,5 +4,6 @@ export declare enum PublishEventEnums {
4
4
  TICKET_NOTIFICATION_EVENT = "ticket_notification_event",
5
5
  CART_ITEM_UPSERT_EVENT = "cart_item_upsert_event",
6
6
  SHOP_ACTIVE_TIMINGS_BATCH_PROCESS_EVENT = "shop_active_timings_batch_process_event",
7
- MONGO_STREAM_CHANGES_BATCH_PROCESS_SHOPS_EVENT = "mongo_stream_changes_batch_process_shops_event"
7
+ MONGO_STREAM_CHANGES_BATCH_PROCESS_SHOPS_EVENT = "mongo_stream_changes_batch_process_shops_event",
8
+ BULK_UPDATE_SHOPS_SEARCH_FIELDS_EVENT = "bulk_update_shops_search_fields_event"
8
9
  }
@@ -9,5 +9,6 @@ var PublishEventEnums;
9
9
  PublishEventEnums["CART_ITEM_UPSERT_EVENT"] = "cart_item_upsert_event";
10
10
  PublishEventEnums["SHOP_ACTIVE_TIMINGS_BATCH_PROCESS_EVENT"] = "shop_active_timings_batch_process_event";
11
11
  PublishEventEnums["MONGO_STREAM_CHANGES_BATCH_PROCESS_SHOPS_EVENT"] = "mongo_stream_changes_batch_process_shops_event";
12
+ PublishEventEnums["BULK_UPDATE_SHOPS_SEARCH_FIELDS_EVENT"] = "bulk_update_shops_search_fields_event";
12
13
  })(PublishEventEnums || (exports.PublishEventEnums = PublishEventEnums = {}));
13
14
  //# sourceMappingURL=EventEnums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventEnums.js","sourceRoot":"/","sources":["libraries/event/EventEnums.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC5B,4EAAuD,CAAA;IACvD,sEAAiD,CAAA;IACjD,4EAAuD,CAAA;IACvD,sEAAiD,CAAA;IACjD,wGAAmF,CAAA;IACnF,sHAAiG,CAAA;AAClG,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B","sourcesContent":["export enum PublishEventEnums {\n\tADMIN_ACTIVITY_LOGS_EVENT = 'admin_activity_logs_event',\n\tMESSAGE_RECEIVED_EVENT = 'message_received_event',\n\tTICKET_NOTIFICATION_EVENT = 'ticket_notification_event',\n\tCART_ITEM_UPSERT_EVENT = 'cart_item_upsert_event',\n\tSHOP_ACTIVE_TIMINGS_BATCH_PROCESS_EVENT = 'shop_active_timings_batch_process_event',\n\tMONGO_STREAM_CHANGES_BATCH_PROCESS_SHOPS_EVENT = 'mongo_stream_changes_batch_process_shops_event',\n}\n"]}
1
+ {"version":3,"file":"EventEnums.js","sourceRoot":"/","sources":["libraries/event/EventEnums.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC5B,4EAAuD,CAAA;IACvD,sEAAiD,CAAA;IACjD,4EAAuD,CAAA;IACvD,sEAAiD,CAAA;IACjD,wGAAmF,CAAA;IACnF,sHAAiG,CAAA;IACjG,oGAA+E,CAAA;AAChF,CAAC,EARW,iBAAiB,iCAAjB,iBAAiB,QAQ5B","sourcesContent":["export enum PublishEventEnums {\n\tADMIN_ACTIVITY_LOGS_EVENT = 'admin_activity_logs_event',\n\tMESSAGE_RECEIVED_EVENT = 'message_received_event',\n\tTICKET_NOTIFICATION_EVENT = 'ticket_notification_event',\n\tCART_ITEM_UPSERT_EVENT = 'cart_item_upsert_event',\n\tSHOP_ACTIVE_TIMINGS_BATCH_PROCESS_EVENT = 'shop_active_timings_batch_process_event',\n\tMONGO_STREAM_CHANGES_BATCH_PROCESS_SHOPS_EVENT = 'mongo_stream_changes_batch_process_shops_event',\n\tBULK_UPDATE_SHOPS_SEARCH_FIELDS_EVENT = 'bulk_update_shops_search_fields_event',\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { BaseEvent } from "../BaseEvent";
2
+ export declare class BulkUpdateShopsSearchFieldsBatchProcessEvent extends BaseEvent<Record<string, unknown>> {
3
+ constructor(payload: any);
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BulkUpdateShopsSearchFieldsBatchProcessEvent = void 0;
4
+ const BaseEvent_1 = require("../BaseEvent");
5
+ const EventEnums_1 = require("../EventEnums");
6
+ class BulkUpdateShopsSearchFieldsBatchProcessEvent extends BaseEvent_1.BaseEvent {
7
+ constructor(payload) {
8
+ super(EventEnums_1.PublishEventEnums.BULK_UPDATE_SHOPS_SEARCH_FIELDS_EVENT, payload);
9
+ }
10
+ }
11
+ exports.BulkUpdateShopsSearchFieldsBatchProcessEvent = BulkUpdateShopsSearchFieldsBatchProcessEvent;
12
+ //# sourceMappingURL=bulk-update-shops-search-fields-batch-process-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-update-shops-search-fields-batch-process-event.js","sourceRoot":"/","sources":["libraries/event/events/bulk-update-shops-search-fields-batch-process-event.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,8CAAkD;AAElD,MAAa,4CAA6C,SAAQ,qBAAkC;IAChG,YAAY,OAAY;QACpB,KAAK,CAAC,8BAAiB,CAAC,qCAAqC,EAAE,OAAkC,CAAC,CAAC;IACvG,CAAC;CACJ;AAJD,oGAIC","sourcesContent":["import { BaseEvent } from \"../BaseEvent\";\nimport { PublishEventEnums } from \"../EventEnums\";\n\nexport class BulkUpdateShopsSearchFieldsBatchProcessEvent extends BaseEvent<Record<string, unknown>> {\n constructor(payload: any) {\n super(PublishEventEnums.BULK_UPDATE_SHOPS_SEARCH_FIELDS_EVENT, payload as Record<string, unknown>);\n }\n}"]}
@@ -22,7 +22,7 @@ Perfect for sharing types between frontend and backend applications.
22
22
 
23
23
  ## Version
24
24
 
25
- Version: 1.1.14
25
+ Version: 1.1.15
26
26
 
27
27
  ## Dependencies
28
28
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lyxa.ai/types",
3
- "version": "1.1.14",
3
+ "version": "1.1.15",
4
4
  "description": "Lyxa type definitions and validation schemas for both frontend and backend",
5
5
  "author": "elie <42282499+Internalizable@users.noreply.github.com>",
6
6
  "license": "MIT",
@@ -24,3 +24,4 @@ export declare function publishAdminLogsEvent(payload: {
24
24
  }): Promise<void>;
25
25
  export declare function publishShopActiveBatchProcessEvent(): Promise<void>;
26
26
  export declare function publishMongodbStreamsChangesBatchProcessShopsEvent(payload: MongoStreamsBatchProcessShopsDTO): Promise<void>;
27
+ export declare function publishUpdateShopsSearchFieldsBulkProcessEvent(payload: any): Promise<void>;
@@ -6,10 +6,12 @@ exports.extractChangedDocument = extractChangedDocument;
6
6
  exports.publishAdminLogsEvent = publishAdminLogsEvent;
7
7
  exports.publishShopActiveBatchProcessEvent = publishShopActiveBatchProcessEvent;
8
8
  exports.publishMongodbStreamsChangesBatchProcessShopsEvent = publishMongodbStreamsChangesBatchProcessShopsEvent;
9
+ exports.publishUpdateShopsSearchFieldsBulkProcessEvent = publishUpdateShopsSearchFieldsBulkProcessEvent;
9
10
  const event_1 = require("../libraries/event");
10
11
  const admin_logs_event_1 = require("../libraries/event/events/admin-logs-event");
11
12
  const shop_active_timings_batch_process_event_1 = require("../libraries/event/events/shop-active-timings-batch-process-event");
12
13
  const mongo_stream_changes_batch_process_shops_event_1 = require("../libraries/event/events/mongo-stream-changes-batch-process-shops-event");
14
+ const bulk_update_shops_search_fields_batch_process_event_1 = require("../libraries/event/events/bulk-update-shops-search-fields-batch-process-event");
13
15
  function getChangedFields(oldDoc, newDoc, payload) {
14
16
  const changes = {};
15
17
  const oldObj = typeof oldDoc.toObject === 'function' ? oldDoc.toObject() : oldDoc;
@@ -55,4 +57,8 @@ async function publishMongodbStreamsChangesBatchProcessShopsEvent(payload) {
55
57
  const mongodbStreamsBatchProcessEvent = new mongo_stream_changes_batch_process_shops_event_1.MongoStreamsBatchProcessShopsEvent(payload);
56
58
  await (0, event_1.publishEvent)(mongodbStreamsBatchProcessEvent);
57
59
  }
60
+ async function publishUpdateShopsSearchFieldsBulkProcessEvent(payload) {
61
+ const bulkUpdateShopsSearchFieldsBatchProcessEvent = new bulk_update_shops_search_fields_batch_process_event_1.BulkUpdateShopsSearchFieldsBatchProcessEvent(payload);
62
+ await (0, event_1.publishEvent)(bulkUpdateShopsSearchFieldsBatchProcessEvent);
63
+ }
58
64
  //# sourceMappingURL=events-common-methods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events-common-methods.js","sourceRoot":"/","sources":["utilities/events-common-methods.ts"],"names":[],"mappings":"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","sourcesContent":["import { mongoose } from \"@typegoose/typegoose\";\nimport { publishEvent } from \"../libraries/event\";\nimport { BaseEvent } from \"../libraries/event/BaseEvent\";\nimport { AdminActivityLogsEvent } from \"../libraries/event/events/admin-logs-event\";\nimport { AdminLogsUpdatedFieldsType } from \"./enum\";\nimport { ShopActiveTimingsBatchProcessEvent } from \"../libraries/event/events/shop-active-timings-batch-process-event\";\nimport { MongoStreamsBatchProcessShopsDTO, MongoStreamsBatchProcessShopsEvent } from \"../libraries/event/events/mongo-stream-changes-batch-process-shops-event\";\n\n/**\n\t * Returns changed fields between two objects (shallow comparison).\n\t */\nexport function getChangedFields<T extends Record<string, any>>(\n\toldDoc: T,\n\tnewDoc: T,\n\tpayload?: Partial<T>\n): Record<keyof T, { old: any; new: any }> {\n\tconst changes = {} as Record<keyof T, { old: any; new: any }>;\n\n\tconst oldObj = typeof oldDoc.toObject === 'function' ? oldDoc.toObject() : oldDoc;\n\tconst newObj = typeof newDoc.toObject === 'function' ? newDoc.toObject() : newDoc;\n\n\tconst keysToCheck = payload\n\t\t? Object.keys(payload)\n\t\t: Array.from(new Set([...Object.keys(oldObj), ...Object.keys(newObj)]));\n\n\tfor (const key of keysToCheck) {\n\t\tconst oldValue = oldObj[key];\n\t\tconst newValue = newObj[key];\n\n\t\tif (payload || JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\n\t\t\tchanges[key as keyof T] = { old: oldValue, new: newValue };\n\t\t}\n\t}\n\n\treturn changes;\n}\n\n\n/**\n * Filters changed fields to only those that exist in the payload.\n */\nexport function filterRelevantChanges<T>(\n\tallChanges: Record<string, { old: any; new: any }>,\n\tpayload: Partial<T>\n): Record<string, { old: any; new: any }> {\n\treturn Object.keys(payload).reduce((acc, key) => {\n\t\tif (allChanges[key]) {\n\t\t\tacc[key] = allChanges[key];\n\t\t}\n\t\treturn acc;\n\t}, {} as Record<string, { old: any; new: any }>);\n}\n\n/**\n * Extracts either 'old' or 'new' values from the changes object.\n */\nexport function extractChangedDocument(\n\tchanges: Record<string, { old: any; new: any }>,\n\ttype: 'old' | 'new'\n): Record<string, any> {\n\treturn Object.fromEntries(\n\t\tObject.entries(changes).map(([key, value]) => [key, value[type]])\n\t);\n}\n\nexport async function publishAdminLogsEvent(payload: {\n\tadmin: mongoose.Types.ObjectId;\n\tupdatedField: AdminLogsUpdatedFieldsType;\n\toldDoc: any;\n\tnewDoc: any;\n}) {\n\tconst { admin, updatedField, oldDoc, newDoc } = payload;\n\tconst adminActivityLogsEvent: BaseEvent<Record<string, unknown>> = new AdminActivityLogsEvent({\n\t\tadmin: admin,\n\t\tupdatedField: updatedField,\n\t\toldDocument: oldDoc,\n\t\tnewDocument: newDoc,\n\t});\n\tawait publishEvent(adminActivityLogsEvent);\n}\n\nexport async function publishShopActiveBatchProcessEvent() {\n\tconst shopActiveTimingsBatchProcessEvent: BaseEvent<Record<string, unknown>> = new ShopActiveTimingsBatchProcessEvent({});\n\tawait publishEvent(shopActiveTimingsBatchProcessEvent);\n}\n\nexport async function publishMongodbStreamsChangesBatchProcessShopsEvent(payload: MongoStreamsBatchProcessShopsDTO) {\n\tconst mongodbStreamsBatchProcessEvent: BaseEvent<Record<string, unknown>> = new MongoStreamsBatchProcessShopsEvent(payload);\n\tawait publishEvent(mongodbStreamsBatchProcessEvent);\n}\n"]}
1
+ {"version":3,"file":"events-common-methods.js","sourceRoot":"/","sources":["utilities/events-common-methods.ts"],"names":[],"mappings":";;AAYA,4CAwBC;AAMD,sDAUC;AAKD,wDAOC;AAED,sDAcC;AAED,gFAGC;AAED,gHAGC;AAED,wGAGC;AA9FD,8CAAkD;AAElD,iFAAoF;AAEpF,+HAAuH;AACvH,6IAAgK;AAChK,uJAA6I;AAK7I,SAAgB,gBAAgB,CAC/B,MAAS,EACT,MAAS,EACT,OAAoB;IAEpB,MAAM,OAAO,GAAG,EAA6C,CAAC;IAE9D,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAElF,MAAM,WAAW,GAAG,OAAO;QAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,GAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC5D,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAMD,SAAgB,qBAAqB,CACpC,UAAkD,EAClD,OAAmB;IAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAA4C,CAAC,CAAC;AAClD,CAAC;AAKD,SAAgB,sBAAsB,CACrC,OAA+C,EAC/C,IAAmB;IAEnB,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,OAK3C;IACA,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,sBAAsB,GAAuC,IAAI,yCAAsB,CAAC;QAC7F,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,MAAM;KACnB,CAAC,CAAC;IACH,MAAM,IAAA,oBAAY,EAAC,sBAAsB,CAAC,CAAC;AAC5C,CAAC;AAEM,KAAK,UAAU,kCAAkC;IACvD,MAAM,kCAAkC,GAAuC,IAAI,4EAAkC,CAAC,EAAE,CAAC,CAAC;IAC1H,MAAM,IAAA,oBAAY,EAAC,kCAAkC,CAAC,CAAC;AACxD,CAAC;AAEM,KAAK,UAAU,kDAAkD,CAAC,OAAyC;IACjH,MAAM,+BAA+B,GAAuC,IAAI,mFAAkC,CAAC,OAAO,CAAC,CAAC;IAC5H,MAAM,IAAA,oBAAY,EAAC,+BAA+B,CAAC,CAAC;AACrD,CAAC;AAEM,KAAK,UAAU,8CAA8C,CAAC,OAAY;IAChF,MAAM,4CAA4C,GAAuC,IAAI,kGAA4C,CAAC,OAAO,CAAC,CAAC;IACnJ,MAAM,IAAA,oBAAY,EAAC,4CAA4C,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { mongoose } from \"@typegoose/typegoose\";\nimport { publishEvent } from \"../libraries/event\";\nimport { BaseEvent } from \"../libraries/event/BaseEvent\";\nimport { AdminActivityLogsEvent } from \"../libraries/event/events/admin-logs-event\";\nimport { AdminLogsUpdatedFieldsType } from \"./enum\";\nimport { ShopActiveTimingsBatchProcessEvent } from \"../libraries/event/events/shop-active-timings-batch-process-event\";\nimport { MongoStreamsBatchProcessShopsDTO, MongoStreamsBatchProcessShopsEvent } from \"../libraries/event/events/mongo-stream-changes-batch-process-shops-event\";\nimport { BulkUpdateShopsSearchFieldsBatchProcessEvent } from \"../libraries/event/events/bulk-update-shops-search-fields-batch-process-event\";\n\n/**\n\t * Returns changed fields between two objects (shallow comparison).\n\t */\nexport function getChangedFields<T extends Record<string, any>>(\n\toldDoc: T,\n\tnewDoc: T,\n\tpayload?: Partial<T>\n): Record<keyof T, { old: any; new: any }> {\n\tconst changes = {} as Record<keyof T, { old: any; new: any }>;\n\n\tconst oldObj = typeof oldDoc.toObject === 'function' ? oldDoc.toObject() : oldDoc;\n\tconst newObj = typeof newDoc.toObject === 'function' ? newDoc.toObject() : newDoc;\n\n\tconst keysToCheck = payload\n\t\t? Object.keys(payload)\n\t\t: Array.from(new Set([...Object.keys(oldObj), ...Object.keys(newObj)]));\n\n\tfor (const key of keysToCheck) {\n\t\tconst oldValue = oldObj[key];\n\t\tconst newValue = newObj[key];\n\n\t\tif (payload || JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\n\t\t\tchanges[key as keyof T] = { old: oldValue, new: newValue };\n\t\t}\n\t}\n\n\treturn changes;\n}\n\n\n/**\n * Filters changed fields to only those that exist in the payload.\n */\nexport function filterRelevantChanges<T>(\n\tallChanges: Record<string, { old: any; new: any }>,\n\tpayload: Partial<T>\n): Record<string, { old: any; new: any }> {\n\treturn Object.keys(payload).reduce((acc, key) => {\n\t\tif (allChanges[key]) {\n\t\t\tacc[key] = allChanges[key];\n\t\t}\n\t\treturn acc;\n\t}, {} as Record<string, { old: any; new: any }>);\n}\n\n/**\n * Extracts either 'old' or 'new' values from the changes object.\n */\nexport function extractChangedDocument(\n\tchanges: Record<string, { old: any; new: any }>,\n\ttype: 'old' | 'new'\n): Record<string, any> {\n\treturn Object.fromEntries(\n\t\tObject.entries(changes).map(([key, value]) => [key, value[type]])\n\t);\n}\n\nexport async function publishAdminLogsEvent(payload: {\n\tadmin: mongoose.Types.ObjectId;\n\tupdatedField: AdminLogsUpdatedFieldsType;\n\toldDoc: any;\n\tnewDoc: any;\n}) {\n\tconst { admin, updatedField, oldDoc, newDoc } = payload;\n\tconst adminActivityLogsEvent: BaseEvent<Record<string, unknown>> = new AdminActivityLogsEvent({\n\t\tadmin: admin,\n\t\tupdatedField: updatedField,\n\t\toldDocument: oldDoc,\n\t\tnewDocument: newDoc,\n\t});\n\tawait publishEvent(adminActivityLogsEvent);\n}\n\nexport async function publishShopActiveBatchProcessEvent() {\n\tconst shopActiveTimingsBatchProcessEvent: BaseEvent<Record<string, unknown>> = new ShopActiveTimingsBatchProcessEvent({});\n\tawait publishEvent(shopActiveTimingsBatchProcessEvent);\n}\n\nexport async function publishMongodbStreamsChangesBatchProcessShopsEvent(payload: MongoStreamsBatchProcessShopsDTO) {\n\tconst mongodbStreamsBatchProcessEvent: BaseEvent<Record<string, unknown>> = new MongoStreamsBatchProcessShopsEvent(payload);\n\tawait publishEvent(mongodbStreamsBatchProcessEvent);\n}\n\nexport async function publishUpdateShopsSearchFieldsBulkProcessEvent(payload: any) {\n\tconst bulkUpdateShopsSearchFieldsBatchProcessEvent: BaseEvent<Record<string, unknown>> = new BulkUpdateShopsSearchFieldsBatchProcessEvent(payload);\n\tawait publishEvent(bulkUpdateShopsSearchFieldsBatchProcessEvent);\n}\n\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lyxa.ai/core",
3
- "version": "1.1.14",
3
+ "version": "1.1.15",
4
4
  "description": "The Core system of the Lyxa services.",
5
5
  "author": "elie <42282499+Internalizable@users.noreply.github.com>",
6
6
  "license": "MIT",