@lyxa.ai/core 1.3.140 → 1.3.142
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.
- package/dist/libraries/event/EventEnums.d.ts +2 -1
- package/dist/libraries/event/EventEnums.js +1 -0
- package/dist/libraries/event/EventEnums.js.map +1 -1
- package/dist/libraries/event/events/sync-single-shop-sections-in-cache-event.d.ts +14 -0
- package/dist/libraries/event/events/sync-single-shop-sections-in-cache-event.js +20 -0
- package/dist/libraries/event/events/sync-single-shop-sections-in-cache-event.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/cashback-amounts.model.d.ts +1 -0
- package/dist/libraries/mongo/models/embedded/cashback-amounts.model.js +5 -0
- package/dist/libraries/mongo/models/embedded/cashback-amounts.model.js.map +1 -1
- package/dist/types/README.md +1 -1
- package/dist/types/package.json +1 -1
- package/dist/types/utilities/validation/common-validation.d.ts +12 -12
- package/dist/utilities/events-common-methods.d.ts +2 -0
- package/dist/utilities/events-common-methods.js +6 -0
- package/dist/utilities/events-common-methods.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,5 +11,6 @@ export declare enum PublishEventEnums {
|
|
|
11
11
|
SYNC_ALL_PRODUCTS_PRODUCT_MARKETING_INFO_EVENT = "sync_all_products_product_marketing_info_event",
|
|
12
12
|
SYNC_ALL_SHOPS_AVG_PREPARATION_TIME_EVENT = "sync_all_shops_avg_preperation_time_event",
|
|
13
13
|
SYNC_SINGLE_SHOP_CACHE_EVENT = "sync_single_shop_cache_event",
|
|
14
|
-
SYNC_SINGLE_SHOP_ORDER_AGAIN_CACHE_EVENT = "sync_single_shop_order_again_cache_event"
|
|
14
|
+
SYNC_SINGLE_SHOP_ORDER_AGAIN_CACHE_EVENT = "sync_single_shop_order_again_cache_event",
|
|
15
|
+
SYNC_SINGLE_SHOP_SECTIONS_CACHE_EVENT = "sync_single_shop_sections_cache_event"
|
|
15
16
|
}
|
|
@@ -16,5 +16,6 @@ var PublishEventEnums;
|
|
|
16
16
|
PublishEventEnums["SYNC_ALL_SHOPS_AVG_PREPARATION_TIME_EVENT"] = "sync_all_shops_avg_preperation_time_event";
|
|
17
17
|
PublishEventEnums["SYNC_SINGLE_SHOP_CACHE_EVENT"] = "sync_single_shop_cache_event";
|
|
18
18
|
PublishEventEnums["SYNC_SINGLE_SHOP_ORDER_AGAIN_CACHE_EVENT"] = "sync_single_shop_order_again_cache_event";
|
|
19
|
+
PublishEventEnums["SYNC_SINGLE_SHOP_SECTIONS_CACHE_EVENT"] = "sync_single_shop_sections_cache_event";
|
|
19
20
|
})(PublishEventEnums || (exports.PublishEventEnums = PublishEventEnums = {}));
|
|
20
21
|
//# sourceMappingURL=EventEnums.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventEnums.js","sourceRoot":"/","sources":["libraries/event/EventEnums.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"EventEnums.js","sourceRoot":"/","sources":["libraries/event/EventEnums.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAeX;AAfD,WAAY,iBAAiB;IAC5B,4EAAuD,CAAA;IACvD,sEAAiD,CAAA;IACjD,4EAAuD,CAAA;IACvD,sEAAiD,CAAA;IACjD,wGAAmF,CAAA;IACnF,sHAAiG,CAAA;IACjG,oGAA+E,CAAA;IAC/E,sFAAiE,CAAA;IACjE,8FAAyE,CAAA;IACzE,sHAAiG,CAAA;IACjG,4GAAuF,CAAA;IACvF,kFAA6D,CAAA;IAC7D,0GAAqF,CAAA;IACrF,oGAA+E,CAAA;AAChF,CAAC,EAfW,iBAAiB,iCAAjB,iBAAiB,QAe5B","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\tSOCKET_PUSH_NOTIFICATION_EVENT = 'socket_push_notification_event',\n\tBULK_UPDATE_SHOP_ZONE_STATUS_EVENT = 'bulk_update_shop_zone_status_event',\n\tSYNC_ALL_PRODUCTS_PRODUCT_MARKETING_INFO_EVENT = 'sync_all_products_product_marketing_info_event',\n\tSYNC_ALL_SHOPS_AVG_PREPARATION_TIME_EVENT = 'sync_all_shops_avg_preperation_time_event',\n\tSYNC_SINGLE_SHOP_CACHE_EVENT = 'sync_single_shop_cache_event',\n\tSYNC_SINGLE_SHOP_ORDER_AGAIN_CACHE_EVENT = 'sync_single_shop_order_again_cache_event',\n\tSYNC_SINGLE_SHOP_SECTIONS_CACHE_EVENT = 'sync_single_shop_sections_cache_event'\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseEvent } from '../BaseEvent';
|
|
2
|
+
import { DTO } from '../../../utilities/validation/global-validation';
|
|
3
|
+
declare const SyncSingleShopSectionsInCacheValidationSchema: import("zod").ZodObject<{
|
|
4
|
+
shopId: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
|
|
5
|
+
}, "strict", import("zod").ZodTypeAny, {
|
|
6
|
+
shopId: import("mongoose").Types.ObjectId;
|
|
7
|
+
}, {
|
|
8
|
+
shopId: string | import("mongoose").Types.ObjectId;
|
|
9
|
+
}>;
|
|
10
|
+
export type SyncSingleShopSectionsInCacheDTO = DTO<typeof SyncSingleShopSectionsInCacheValidationSchema>;
|
|
11
|
+
export declare class SyncSingleShopSectionsInCacheEvent extends BaseEvent<Record<string, unknown>> {
|
|
12
|
+
constructor(payload: SyncSingleShopSectionsInCacheDTO);
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SyncSingleShopSectionsInCacheEvent = void 0;
|
|
4
|
+
const BaseEvent_1 = require("../BaseEvent");
|
|
5
|
+
const EventEnums_1 = require("../EventEnums");
|
|
6
|
+
const global_validation_1 = require("../../../utilities/validation/global-validation");
|
|
7
|
+
const baseFields = {
|
|
8
|
+
shopId: global_validation_1.ZodValidation.objectId(),
|
|
9
|
+
};
|
|
10
|
+
const schemaBuilder = (0, global_validation_1.createSchemaBuilder)(baseFields);
|
|
11
|
+
const { BaseSchema: SyncSingleShopSectionsInCacheValidationSchema } = schemaBuilder.getAllSchemas({
|
|
12
|
+
createdAt: true,
|
|
13
|
+
});
|
|
14
|
+
class SyncSingleShopSectionsInCacheEvent extends BaseEvent_1.BaseEvent {
|
|
15
|
+
constructor(payload) {
|
|
16
|
+
super(EventEnums_1.PublishEventEnums.SYNC_SINGLE_SHOP_SECTIONS_CACHE_EVENT, payload);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.SyncSingleShopSectionsInCacheEvent = SyncSingleShopSectionsInCacheEvent;
|
|
20
|
+
//# sourceMappingURL=sync-single-shop-sections-in-cache-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-single-shop-sections-in-cache-event.js","sourceRoot":"/","sources":["libraries/event/events/sync-single-shop-sections-in-cache-event.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,8CAAkD;AAClD,uFAA0G;AAE1G,MAAM,UAAU,GAAG;IAClB,MAAM,EAAE,iCAAa,CAAC,QAAQ,EAAE;CAChC,CAAC;AACF,MAAM,aAAa,GAAG,IAAA,uCAAmB,EAAC,UAAU,CAAC,CAAC;AACtD,MAAM,EAAE,UAAU,EAAE,6CAA6C,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC;IACjG,SAAS,EAAE,IAAI;CACf,CAAC,CAAC;AAIH,MAAa,kCAAmC,SAAQ,qBAAkC;IACzF,YAAY,OAAyC;QACpD,KAAK,CAAC,8BAAiB,CAAC,qCAAqC,EAAE,OAAkC,CAAC,CAAC;IACpG,CAAC;CACD;AAJD,gFAIC","sourcesContent":["import { BaseEvent } from '../BaseEvent';\nimport { PublishEventEnums } from '../EventEnums';\nimport { createSchemaBuilder, DTO, ZodValidation } from '../../../utilities/validation/global-validation';\n\nconst baseFields = {\n\tshopId: ZodValidation.objectId(),\n};\nconst schemaBuilder = createSchemaBuilder(baseFields);\nconst { BaseSchema: SyncSingleShopSectionsInCacheValidationSchema } = schemaBuilder.getAllSchemas({\n\tcreatedAt: true,\n});\n\nexport type SyncSingleShopSectionsInCacheDTO = DTO<typeof SyncSingleShopSectionsInCacheValidationSchema>;\n\nexport class SyncSingleShopSectionsInCacheEvent extends BaseEvent<Record<string, unknown>> {\n\tconstructor(payload: SyncSingleShopSectionsInCacheDTO) {\n\t\tsuper(PublishEventEnums.SYNC_SINGLE_SHOP_SECTIONS_CACHE_EVENT, payload as Record<string, unknown>);\n\t}\n}\n"]}
|
|
@@ -12,10 +12,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.Cashback = void 0;
|
|
13
13
|
const typegoose_1 = require("@typegoose/typegoose");
|
|
14
14
|
class Cashback {
|
|
15
|
+
cashbackRate;
|
|
15
16
|
amount;
|
|
16
17
|
secondaryAmount;
|
|
17
18
|
}
|
|
18
19
|
exports.Cashback = Cashback;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, typegoose_1.prop)({ type: Number, default: 0 }),
|
|
22
|
+
__metadata("design:type", Number)
|
|
23
|
+
], Cashback.prototype, "cashbackRate", void 0);
|
|
19
24
|
__decorate([
|
|
20
25
|
(0, typegoose_1.prop)({ type: Number, default: 0 }),
|
|
21
26
|
__metadata("design:type", Number)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cashback-amounts.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/cashback-amounts.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,QAAQ;IAEb,MAAM,CAAU;IAGhB,eAAe,CAAU;CAChC;
|
|
1
|
+
{"version":3,"file":"cashback-amounts.model.js","sourceRoot":"/","sources":["libraries/mongo/models/embedded/cashback-amounts.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAE5C,MAAa,QAAQ;IAEb,YAAY,CAAU;IAGtB,MAAM,CAAU;IAGhB,eAAe,CAAU;CAChC;AATD,4BASC;AAPO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;8CACN;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;wCACZ;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACH","sourcesContent":["import { prop } from '@typegoose/typegoose';\n\nexport class Cashback {\n\t@prop({ type: Number, default: 0 })\n\tpublic cashbackRate?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic amount?: number;\n\n\t@prop({ type: Number, default: 0 })\n\tpublic secondaryAmount?: number;\n}\n"]}
|
package/dist/types/README.md
CHANGED
package/dist/types/package.json
CHANGED
|
@@ -26,8 +26,8 @@ export declare const FilterSchema: z.ZodOptional<z.ZodObject<{
|
|
|
26
26
|
searchFields?: string[] | undefined;
|
|
27
27
|
} | undefined;
|
|
28
28
|
sort?: Record<string, 1 | -1> | undefined;
|
|
29
|
-
populate?: any;
|
|
30
29
|
select?: Record<string, 0 | 1> | undefined;
|
|
30
|
+
populate?: any;
|
|
31
31
|
query?: Record<string, any> | undefined;
|
|
32
32
|
}, {
|
|
33
33
|
search?: {
|
|
@@ -36,8 +36,8 @@ export declare const FilterSchema: z.ZodOptional<z.ZodObject<{
|
|
|
36
36
|
} | undefined;
|
|
37
37
|
sort?: Record<string, 1 | -1> | undefined;
|
|
38
38
|
size?: number | undefined;
|
|
39
|
-
populate?: any;
|
|
40
39
|
select?: Record<string, 0 | 1> | undefined;
|
|
40
|
+
populate?: any;
|
|
41
41
|
query?: Record<string, any> | undefined;
|
|
42
42
|
page?: number | undefined;
|
|
43
43
|
}>>;
|
|
@@ -733,12 +733,12 @@ export declare const GetByIdInputSchema: z.ZodObject<{
|
|
|
733
733
|
populate: z.ZodOptional<z.ZodUnion<[z.ZodType<any, z.ZodTypeDef, any>, z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">]>>;
|
|
734
734
|
}, "strip", z.ZodTypeAny, {
|
|
735
735
|
_id: import("mongoose").Types.ObjectId;
|
|
736
|
-
populate?: any;
|
|
737
736
|
select?: Record<string, 0 | 1> | undefined;
|
|
737
|
+
populate?: any;
|
|
738
738
|
}, {
|
|
739
739
|
_id: string | import("mongoose").Types.ObjectId;
|
|
740
|
-
populate?: any;
|
|
741
740
|
select?: Record<string, 0 | 1> | undefined;
|
|
741
|
+
populate?: any;
|
|
742
742
|
}>;
|
|
743
743
|
export type GetByIdInputDTO = DTO<typeof GetByIdInputSchema>;
|
|
744
744
|
export declare const GetProductByIdInputSchema: z.ZodObject<{
|
|
@@ -751,12 +751,12 @@ export declare const GetProductByIdInputSchema: z.ZodObject<{
|
|
|
751
751
|
_id: import("mongoose").Types.ObjectId;
|
|
752
752
|
withAttributeHiddenItems: boolean;
|
|
753
753
|
withAddonsHiddenItems: boolean;
|
|
754
|
-
populate?: any;
|
|
755
754
|
select?: Record<string, 0 | 1> | undefined;
|
|
755
|
+
populate?: any;
|
|
756
756
|
}, {
|
|
757
757
|
_id: string | import("mongoose").Types.ObjectId;
|
|
758
|
-
populate?: any;
|
|
759
758
|
select?: Record<string, 0 | 1> | undefined;
|
|
759
|
+
populate?: any;
|
|
760
760
|
withAttributeHiddenItems?: boolean | undefined;
|
|
761
761
|
withAddonsHiddenItems?: boolean | undefined;
|
|
762
762
|
}>;
|
|
@@ -768,13 +768,13 @@ export declare const GetOrderByIdInputSchema: z.ZodObject<{
|
|
|
768
768
|
userOrderCompletionScope: z.ZodOptional<z.ZodNativeEnum<typeof UserOrderCompletionScope>>;
|
|
769
769
|
}, "strip", z.ZodTypeAny, {
|
|
770
770
|
_id: import("mongoose").Types.ObjectId;
|
|
771
|
-
populate?: any;
|
|
772
771
|
select?: Record<string, 0 | 1> | undefined;
|
|
772
|
+
populate?: any;
|
|
773
773
|
userOrderCompletionScope?: UserOrderCompletionScope | undefined;
|
|
774
774
|
}, {
|
|
775
775
|
_id: string | import("mongoose").Types.ObjectId;
|
|
776
|
-
populate?: any;
|
|
777
776
|
select?: Record<string, 0 | 1> | undefined;
|
|
777
|
+
populate?: any;
|
|
778
778
|
userOrderCompletionScope?: UserOrderCompletionScope | undefined;
|
|
779
779
|
}>;
|
|
780
780
|
export type GetOrderByIdInputDTO = DTO<typeof GetOrderByIdInputSchema>;
|
|
@@ -782,11 +782,11 @@ export declare const GetByTokenInputSchema: z.ZodOptional<z.ZodObject<{
|
|
|
782
782
|
select: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>>>;
|
|
783
783
|
populate: z.ZodOptional<z.ZodUnion<[z.ZodType<any, z.ZodTypeDef, any>, z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">]>>;
|
|
784
784
|
}, "strip", z.ZodTypeAny, {
|
|
785
|
-
populate?: any;
|
|
786
785
|
select?: Record<string, 0 | 1> | undefined;
|
|
787
|
-
}, {
|
|
788
786
|
populate?: any;
|
|
787
|
+
}, {
|
|
789
788
|
select?: Record<string, 0 | 1> | undefined;
|
|
789
|
+
populate?: any;
|
|
790
790
|
}>>;
|
|
791
791
|
export type GetByTokenInputDTO = DTO<typeof GetByTokenInputSchema>;
|
|
792
792
|
export declare const GetOneQuerySchema: z.ZodObject<{
|
|
@@ -794,12 +794,12 @@ export declare const GetOneQuerySchema: z.ZodObject<{
|
|
|
794
794
|
select: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>>>;
|
|
795
795
|
populate: z.ZodOptional<z.ZodUnion<[z.ZodType<any, z.ZodTypeDef, any>, z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">]>>;
|
|
796
796
|
}, "strip", z.ZodTypeAny, {
|
|
797
|
-
populate?: any;
|
|
798
797
|
select?: Record<string, 0 | 1> | undefined;
|
|
798
|
+
populate?: any;
|
|
799
799
|
query?: Record<string, any> | undefined;
|
|
800
800
|
}, {
|
|
801
|
-
populate?: any;
|
|
802
801
|
select?: Record<string, 0 | 1> | undefined;
|
|
802
|
+
populate?: any;
|
|
803
803
|
query?: Record<string, any> | undefined;
|
|
804
804
|
}>;
|
|
805
805
|
export type GetOneQueryDTO = DTO<typeof GetOneQuerySchema>;
|
|
@@ -6,6 +6,7 @@ import { SynchronizeAllProductsProductMarketingInfoDTO } from '../libraries/even
|
|
|
6
6
|
import { SynchronizeAllShopsAvgPreparationTimeDTO } from '../libraries/event/events/sync-avg-prep-time-in-all-shops-event';
|
|
7
7
|
import { SyncSingleShopCacheDTO } from '../libraries/event/events/sync-single-shop-in-cache-event';
|
|
8
8
|
import { SyncSingleShopOrderAgainCacheDTO } from '../libraries/event/events/sync-order-again-sections-for-shop-event';
|
|
9
|
+
import { SyncSingleShopSectionsInCacheDTO } from '../libraries/event/events/sync-single-shop-sections-in-cache-event';
|
|
9
10
|
export declare function getChangedFields<T extends Record<string, any>>(oldDoc: T, newDoc: T, payload?: Partial<T>): Record<keyof T, {
|
|
10
11
|
old: any;
|
|
11
12
|
new: any;
|
|
@@ -35,3 +36,4 @@ export declare function publishAllProductsProductMarketingInfoProcessEvent(paylo
|
|
|
35
36
|
export declare function publishAllShopsAvgPreperationTimeSyncProcessEvent(payload: SynchronizeAllShopsAvgPreparationTimeDTO): Promise<void>;
|
|
36
37
|
export declare function publishSyncSingleShopInCacheProcessEvent(payload: SyncSingleShopCacheDTO): Promise<void>;
|
|
37
38
|
export declare function publishSyncSingleShopOrderAgainSectionsInCacheProcessEvent(payload: SyncSingleShopOrderAgainCacheDTO): Promise<void>;
|
|
39
|
+
export declare function publishSyncSingleShopSectionsInCacheProcessEvent(payload: SyncSingleShopSectionsInCacheDTO): Promise<void>;
|
|
@@ -12,6 +12,7 @@ exports.publishAllProductsProductMarketingInfoProcessEvent = publishAllProductsP
|
|
|
12
12
|
exports.publishAllShopsAvgPreperationTimeSyncProcessEvent = publishAllShopsAvgPreperationTimeSyncProcessEvent;
|
|
13
13
|
exports.publishSyncSingleShopInCacheProcessEvent = publishSyncSingleShopInCacheProcessEvent;
|
|
14
14
|
exports.publishSyncSingleShopOrderAgainSectionsInCacheProcessEvent = publishSyncSingleShopOrderAgainSectionsInCacheProcessEvent;
|
|
15
|
+
exports.publishSyncSingleShopSectionsInCacheProcessEvent = publishSyncSingleShopSectionsInCacheProcessEvent;
|
|
15
16
|
const event_1 = require("../libraries/event");
|
|
16
17
|
const mongo_stream_changes_batch_process_shops_event_1 = require("../libraries/event/events/mongo-stream-changes-batch-process-shops-event");
|
|
17
18
|
const admin_logs_event_1 = require("../libraries/event/events/admin-logs-event");
|
|
@@ -22,6 +23,7 @@ const sync_all_products_product_marketing_info_event_1 = require("../libraries/e
|
|
|
22
23
|
const sync_avg_prep_time_in_all_shops_event_1 = require("../libraries/event/events/sync-avg-prep-time-in-all-shops-event");
|
|
23
24
|
const sync_single_shop_in_cache_event_1 = require("../libraries/event/events/sync-single-shop-in-cache-event");
|
|
24
25
|
const sync_order_again_sections_for_shop_event_1 = require("../libraries/event/events/sync-order-again-sections-for-shop-event");
|
|
26
|
+
const sync_single_shop_sections_in_cache_event_1 = require("../libraries/event/events/sync-single-shop-sections-in-cache-event");
|
|
25
27
|
function getChangedFields(oldDoc, newDoc, payload) {
|
|
26
28
|
const changes = {};
|
|
27
29
|
const oldObj = typeof oldDoc.toObject === 'function' ? oldDoc.toObject() : oldDoc;
|
|
@@ -114,4 +116,8 @@ async function publishSyncSingleShopOrderAgainSectionsInCacheProcessEvent(payloa
|
|
|
114
116
|
const syncSingleShopOrderAgainInCacheSyncEvent = new sync_order_again_sections_for_shop_event_1.SyncSingleShopOrderAgainInCacheEvent(payload);
|
|
115
117
|
await (0, event_1.publishEvent)(syncSingleShopOrderAgainInCacheSyncEvent);
|
|
116
118
|
}
|
|
119
|
+
async function publishSyncSingleShopSectionsInCacheProcessEvent(payload) {
|
|
120
|
+
const syncSingleShopSectionsInCacheSyncEvent = new sync_single_shop_sections_in_cache_event_1.SyncSingleShopSectionsInCacheEvent(payload);
|
|
121
|
+
await (0, event_1.publishEvent)(syncSingleShopSectionsInCacheSyncEvent);
|
|
122
|
+
}
|
|
117
123
|
//# 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 { AdminLogsUpdatedFieldsType } from './enum';\nimport { BaseEvent } from '../libraries/event/BaseEvent';\nimport {\n\tMongoStreamsBatchProcessShopsDTO,\n\tMongoStreamsBatchProcessShopsEvent,\n} from '../libraries/event/events/mongo-stream-changes-batch-process-shops-event';\nimport { AdminActivityLogsEvent } from '../libraries/event/events/admin-logs-event';\nimport { ShopActiveTimingsBatchProcessEvent } from '../libraries/event/events/shop-active-timings-batch-process-event';\nimport { BulkUpdateShopsSearchFieldsBatchProcessEvent } from '../libraries/event/events/bulk-update-shops-search-fields-batch-process-event';\nimport {\n\tBulkUpdateShopsZoneStatusDTO,\n\tBulkUpdateShopsZoneStatusEvent,\n} from '../libraries/event/events/bulk-update-zone-status-in-shops-event';\nimport {\n\tSynchronizeAllProductsProductMarketingInfoDTO,\n\tSynchronizeAllProductsProductMarketingInfoEvent,\n} from '../libraries/event/events/sync-all-products-product-marketing-info-event';\nimport {\n\tSynchronizeAllShopsAvgPreparationTimeDTO,\n\tSynchronizeAllShopsAvgPreparationTimeEvent,\n} from '../libraries/event/events/sync-avg-prep-time-in-all-shops-event';\nimport {\n\tSyncSingleShopCacheDTO,\n\tSyncSingleShopInCacheEvent,\n} from '../libraries/event/events/sync-single-shop-in-cache-event';\nimport {\n\tSyncSingleShopOrderAgainCacheDTO,\n\tSyncSingleShopOrderAgainInCacheEvent,\n} from '../libraries/event/events/sync-order-again-sections-for-shop-event';\n\n/**\n * Returns changed fields between two objects (shallow comparison).\n */\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\t\tconst cleanedOld = deepCleanSettingsValues(oldValue);\n\t\tconst cleanedNew = deepCleanSettingsValues(newValue);\n\t\tif (payload || JSON.stringify(cleanedOld) !== JSON.stringify(cleanedNew)) {\n\t\t\tchanges[key as keyof T] = { old: oldValue, new: newValue };\n\t\t}\n\t}\n\n\treturn changes;\n}\n\n// removes _id and deletedAt fields from objects, array of objects and prepares for data that has setting changes\nfunction deepCleanSettingsValues(value: any): any {\n\t// CASE 1: Array\n\tif (Array.isArray(value)) {\n\t\t// If array contains primitives → return as-is\n\t\tif (value.every(v => v === null || typeof v !== 'object')) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// If array contains objects → deep clean each object\n\t\treturn value.map(item => deepCleanSettingsValues(item));\n\t}\n\n\t// CASE 2: Null → return as is\n\tif (value === null) return value;\n\n\t// CASE 3: Plain Object\n\tif (typeof value === 'object') {\n\t\tconst cleanedObj: any = {};\n\n\t\tfor (const key in value) {\n\t\t\tif (key === '_id' || key === 'deletedAt' || value[key] === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tcleanedObj[key] = deepCleanSettingsValues(value[key]);\n\t\t}\n\n\t\treturn cleanedObj;\n\t}\n\n\t// CASE 4: Primitive (string, number, boolean)\n\treturn value;\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(\n\t\t(acc, key) => {\n\t\t\tif (allChanges[key]) {\n\t\t\t\tacc[key] = allChanges[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<string, { old: any; new: any }>\n\t);\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(Object.entries(changes).map(([key, value]) => [key, value[type]]));\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>> =\n\t\tnew ShopActiveTimingsBatchProcessEvent({});\n\tawait publishEvent(shopActiveTimingsBatchProcessEvent);\n}\n\nexport async function publishMongodbStreamsChangesBatchProcessShopsEvent(\n\tpayload: MongoStreamsBatchProcessShopsDTO\n) {\n\tconst mongodbStreamsBatchProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew MongoStreamsBatchProcessShopsEvent(payload);\n\tawait publishEvent(mongodbStreamsBatchProcessEvent);\n}\n\nexport async function publishUpdateShopsSearchFieldsBulkProcessEvent(payload: any) {\n\tconst bulkUpdateShopsSearchFieldsBatchProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew BulkUpdateShopsSearchFieldsBatchProcessEvent(payload);\n\tawait publishEvent(bulkUpdateShopsSearchFieldsBatchProcessEvent);\n}\n\nexport async function publishBulkUpdateShopsZoneStatusProcessEvent(payload: BulkUpdateShopsZoneStatusDTO) {\n\tconst shopsZoneStatusBatchProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew BulkUpdateShopsZoneStatusEvent(payload);\n\tawait publishEvent(shopsZoneStatusBatchProcessEvent);\n}\n\nexport async function publishAllProductsProductMarketingInfoProcessEvent(\n\tpayload: SynchronizeAllProductsProductMarketingInfoDTO\n) {\n\tconst SyncAllProductsProductMarketingInfoProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew SynchronizeAllProductsProductMarketingInfoEvent({});\n\tawait publishEvent(SyncAllProductsProductMarketingInfoProcessEvent);\n}\n\nexport async function publishAllShopsAvgPreperationTimeSyncProcessEvent(\n\tpayload: SynchronizeAllShopsAvgPreparationTimeDTO\n) {\n\tconst SyncAllShopsAvgPreperationTimeSyncProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew SynchronizeAllShopsAvgPreparationTimeEvent({});\n\tawait publishEvent(SyncAllShopsAvgPreperationTimeSyncProcessEvent);\n}\n\nexport async function publishSyncSingleShopInCacheProcessEvent(payload: SyncSingleShopCacheDTO) {\n\tconst syncSingleShopCacheSyncEvent: BaseEvent<Record<string, unknown>> = new SyncSingleShopInCacheEvent(\n\t\tpayload\n\t);\n\tawait publishEvent(syncSingleShopCacheSyncEvent);\n}\n\nexport async function publishSyncSingleShopOrderAgainSectionsInCacheProcessEvent(\n\tpayload: SyncSingleShopOrderAgainCacheDTO\n) {\n\tconst syncSingleShopOrderAgainInCacheSyncEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew SyncSingleShopOrderAgainInCacheEvent(payload);\n\tawait publishEvent(syncSingleShopOrderAgainInCacheSyncEvent);\n}\n"]}
|
|
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 { AdminLogsUpdatedFieldsType } from './enum';\nimport { BaseEvent } from '../libraries/event/BaseEvent';\nimport {\n\tMongoStreamsBatchProcessShopsDTO,\n\tMongoStreamsBatchProcessShopsEvent,\n} from '../libraries/event/events/mongo-stream-changes-batch-process-shops-event';\nimport { AdminActivityLogsEvent } from '../libraries/event/events/admin-logs-event';\nimport { ShopActiveTimingsBatchProcessEvent } from '../libraries/event/events/shop-active-timings-batch-process-event';\nimport { BulkUpdateShopsSearchFieldsBatchProcessEvent } from '../libraries/event/events/bulk-update-shops-search-fields-batch-process-event';\nimport {\n\tBulkUpdateShopsZoneStatusDTO,\n\tBulkUpdateShopsZoneStatusEvent,\n} from '../libraries/event/events/bulk-update-zone-status-in-shops-event';\nimport {\n\tSynchronizeAllProductsProductMarketingInfoDTO,\n\tSynchronizeAllProductsProductMarketingInfoEvent,\n} from '../libraries/event/events/sync-all-products-product-marketing-info-event';\nimport {\n\tSynchronizeAllShopsAvgPreparationTimeDTO,\n\tSynchronizeAllShopsAvgPreparationTimeEvent,\n} from '../libraries/event/events/sync-avg-prep-time-in-all-shops-event';\nimport {\n\tSyncSingleShopCacheDTO,\n\tSyncSingleShopInCacheEvent,\n} from '../libraries/event/events/sync-single-shop-in-cache-event';\nimport {\n\tSyncSingleShopOrderAgainCacheDTO,\n\tSyncSingleShopOrderAgainInCacheEvent,\n} from '../libraries/event/events/sync-order-again-sections-for-shop-event';\nimport {\n\tSyncSingleShopSectionsInCacheDTO,\n\tSyncSingleShopSectionsInCacheEvent,\n} from '../libraries/event/events/sync-single-shop-sections-in-cache-event';\n\n/**\n * Returns changed fields between two objects (shallow comparison).\n */\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\t\tconst cleanedOld = deepCleanSettingsValues(oldValue);\n\t\tconst cleanedNew = deepCleanSettingsValues(newValue);\n\t\tif (payload || JSON.stringify(cleanedOld) !== JSON.stringify(cleanedNew)) {\n\t\t\tchanges[key as keyof T] = { old: oldValue, new: newValue };\n\t\t}\n\t}\n\n\treturn changes;\n}\n\n// removes _id and deletedAt fields from objects, array of objects and prepares for data that has setting changes\nfunction deepCleanSettingsValues(value: any): any {\n\t// CASE 1: Array\n\tif (Array.isArray(value)) {\n\t\t// If array contains primitives → return as-is\n\t\tif (value.every(v => v === null || typeof v !== 'object')) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// If array contains objects → deep clean each object\n\t\treturn value.map(item => deepCleanSettingsValues(item));\n\t}\n\n\t// CASE 2: Null → return as is\n\tif (value === null) return value;\n\n\t// CASE 3: Plain Object\n\tif (typeof value === 'object') {\n\t\tconst cleanedObj: any = {};\n\n\t\tfor (const key in value) {\n\t\t\tif (key === '_id' || key === 'deletedAt' || value[key] === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tcleanedObj[key] = deepCleanSettingsValues(value[key]);\n\t\t}\n\n\t\treturn cleanedObj;\n\t}\n\n\t// CASE 4: Primitive (string, number, boolean)\n\treturn value;\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(\n\t\t(acc, key) => {\n\t\t\tif (allChanges[key]) {\n\t\t\t\tacc[key] = allChanges[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<string, { old: any; new: any }>\n\t);\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(Object.entries(changes).map(([key, value]) => [key, value[type]]));\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>> =\n\t\tnew ShopActiveTimingsBatchProcessEvent({});\n\tawait publishEvent(shopActiveTimingsBatchProcessEvent);\n}\n\nexport async function publishMongodbStreamsChangesBatchProcessShopsEvent(\n\tpayload: MongoStreamsBatchProcessShopsDTO\n) {\n\tconst mongodbStreamsBatchProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew MongoStreamsBatchProcessShopsEvent(payload);\n\tawait publishEvent(mongodbStreamsBatchProcessEvent);\n}\n\nexport async function publishUpdateShopsSearchFieldsBulkProcessEvent(payload: any) {\n\tconst bulkUpdateShopsSearchFieldsBatchProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew BulkUpdateShopsSearchFieldsBatchProcessEvent(payload);\n\tawait publishEvent(bulkUpdateShopsSearchFieldsBatchProcessEvent);\n}\n\nexport async function publishBulkUpdateShopsZoneStatusProcessEvent(payload: BulkUpdateShopsZoneStatusDTO) {\n\tconst shopsZoneStatusBatchProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew BulkUpdateShopsZoneStatusEvent(payload);\n\tawait publishEvent(shopsZoneStatusBatchProcessEvent);\n}\n\nexport async function publishAllProductsProductMarketingInfoProcessEvent(\n\tpayload: SynchronizeAllProductsProductMarketingInfoDTO\n) {\n\tconst SyncAllProductsProductMarketingInfoProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew SynchronizeAllProductsProductMarketingInfoEvent({});\n\tawait publishEvent(SyncAllProductsProductMarketingInfoProcessEvent);\n}\n\nexport async function publishAllShopsAvgPreperationTimeSyncProcessEvent(\n\tpayload: SynchronizeAllShopsAvgPreparationTimeDTO\n) {\n\tconst SyncAllShopsAvgPreperationTimeSyncProcessEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew SynchronizeAllShopsAvgPreparationTimeEvent({});\n\tawait publishEvent(SyncAllShopsAvgPreperationTimeSyncProcessEvent);\n}\n\nexport async function publishSyncSingleShopInCacheProcessEvent(payload: SyncSingleShopCacheDTO) {\n\tconst syncSingleShopCacheSyncEvent: BaseEvent<Record<string, unknown>> = new SyncSingleShopInCacheEvent(\n\t\tpayload\n\t);\n\tawait publishEvent(syncSingleShopCacheSyncEvent);\n}\n\nexport async function publishSyncSingleShopOrderAgainSectionsInCacheProcessEvent(\n\tpayload: SyncSingleShopOrderAgainCacheDTO\n) {\n\tconst syncSingleShopOrderAgainInCacheSyncEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew SyncSingleShopOrderAgainInCacheEvent(payload);\n\tawait publishEvent(syncSingleShopOrderAgainInCacheSyncEvent);\n}\n\nexport async function publishSyncSingleShopSectionsInCacheProcessEvent(\n\tpayload: SyncSingleShopSectionsInCacheDTO\n) {\n\tconst syncSingleShopSectionsInCacheSyncEvent: BaseEvent<Record<string, unknown>> =\n\t\tnew SyncSingleShopSectionsInCacheEvent(payload);\n\tawait publishEvent(syncSingleShopSectionsInCacheSyncEvent);\n}\n"]}
|