harvester_sdk 1.0.57 → 1.0.58
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/index.d.ts +70 -0
- package/dist/index.js +30 -3
- package/dist/types.d.ts +70 -0
- package/dist/types.js +32 -2
- package/index.ts +34 -2
- package/package.json +1 -1
- package/types.ts +36 -0
package/dist/index.d.ts
CHANGED
|
@@ -336,6 +336,7 @@ export declare const MongoRegionSchema: Schema<any, import("mongoose").Model<any
|
|
|
336
336
|
created_at: number;
|
|
337
337
|
updated_at: number;
|
|
338
338
|
status: "active" | "inactive" | "deleted";
|
|
339
|
+
consume_languages: string[];
|
|
339
340
|
legend?: string | null | undefined;
|
|
340
341
|
notes?: string | null | undefined;
|
|
341
342
|
coordinates?: {
|
|
@@ -348,6 +349,7 @@ export declare const MongoRegionSchema: Schema<any, import("mongoose").Model<any
|
|
|
348
349
|
created_at: number;
|
|
349
350
|
updated_at: number;
|
|
350
351
|
status: "active" | "inactive" | "deleted";
|
|
352
|
+
consume_languages: string[];
|
|
351
353
|
legend?: string | null | undefined;
|
|
352
354
|
notes?: string | null | undefined;
|
|
353
355
|
coordinates?: {
|
|
@@ -360,6 +362,7 @@ export declare const MongoRegionSchema: Schema<any, import("mongoose").Model<any
|
|
|
360
362
|
created_at: number;
|
|
361
363
|
updated_at: number;
|
|
362
364
|
status: "active" | "inactive" | "deleted";
|
|
365
|
+
consume_languages: string[];
|
|
363
366
|
legend?: string | null | undefined;
|
|
364
367
|
notes?: string | null | undefined;
|
|
365
368
|
coordinates?: {
|
|
@@ -824,6 +827,12 @@ export declare const MongoEventSchema: Schema<any, import("mongoose").Model<any,
|
|
|
824
827
|
author_id?: string | null | undefined;
|
|
825
828
|
data_region_id?: string | null | undefined;
|
|
826
829
|
}> | null | undefined;
|
|
830
|
+
translated_data?: Map<string, {
|
|
831
|
+
keywords: string[];
|
|
832
|
+
title?: string | null | undefined;
|
|
833
|
+
data_short?: string | null | undefined;
|
|
834
|
+
data?: string | null | undefined;
|
|
835
|
+
}> | null | undefined;
|
|
827
836
|
event_id?: string | null | undefined;
|
|
828
837
|
}, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
|
|
829
838
|
created_at: number;
|
|
@@ -873,6 +882,12 @@ export declare const MongoEventSchema: Schema<any, import("mongoose").Model<any,
|
|
|
873
882
|
author_id?: string | null | undefined;
|
|
874
883
|
data_region_id?: string | null | undefined;
|
|
875
884
|
}> | null | undefined;
|
|
885
|
+
translated_data?: Map<string, {
|
|
886
|
+
keywords: string[];
|
|
887
|
+
title?: string | null | undefined;
|
|
888
|
+
data_short?: string | null | undefined;
|
|
889
|
+
data?: string | null | undefined;
|
|
890
|
+
}> | null | undefined;
|
|
876
891
|
event_id?: string | null | undefined;
|
|
877
892
|
}>, {}> & import("mongoose").FlatRecord<{
|
|
878
893
|
created_at: number;
|
|
@@ -922,12 +937,67 @@ export declare const MongoEventSchema: Schema<any, import("mongoose").Model<any,
|
|
|
922
937
|
author_id?: string | null | undefined;
|
|
923
938
|
data_region_id?: string | null | undefined;
|
|
924
939
|
}> | null | undefined;
|
|
940
|
+
translated_data?: Map<string, {
|
|
941
|
+
keywords: string[];
|
|
942
|
+
title?: string | null | undefined;
|
|
943
|
+
data_short?: string | null | undefined;
|
|
944
|
+
data?: string | null | undefined;
|
|
945
|
+
}> | null | undefined;
|
|
925
946
|
event_id?: string | null | undefined;
|
|
926
947
|
}> & {
|
|
927
948
|
_id: import("mongoose").Types.ObjectId;
|
|
928
949
|
} & {
|
|
929
950
|
__v: number;
|
|
930
951
|
}>;
|
|
952
|
+
export declare const MongoEventMonitoringSchema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
953
|
+
versionKey: false;
|
|
954
|
+
toJSON: {
|
|
955
|
+
virtuals: true;
|
|
956
|
+
};
|
|
957
|
+
toObject: {
|
|
958
|
+
virtuals: true;
|
|
959
|
+
};
|
|
960
|
+
}, {
|
|
961
|
+
created_at: number;
|
|
962
|
+
region_id: string;
|
|
963
|
+
geo_selection_id: string;
|
|
964
|
+
geo_selection_title: string;
|
|
965
|
+
event_ids: string[];
|
|
966
|
+
data_count: number;
|
|
967
|
+
existing_events_count: number;
|
|
968
|
+
events_updated: number;
|
|
969
|
+
events_created: number;
|
|
970
|
+
skipped: boolean;
|
|
971
|
+
geo_selection_group_id?: string | null | undefined;
|
|
972
|
+
}, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
|
|
973
|
+
created_at: number;
|
|
974
|
+
region_id: string;
|
|
975
|
+
geo_selection_id: string;
|
|
976
|
+
geo_selection_title: string;
|
|
977
|
+
event_ids: string[];
|
|
978
|
+
data_count: number;
|
|
979
|
+
existing_events_count: number;
|
|
980
|
+
events_updated: number;
|
|
981
|
+
events_created: number;
|
|
982
|
+
skipped: boolean;
|
|
983
|
+
geo_selection_group_id?: string | null | undefined;
|
|
984
|
+
}>, {}> & import("mongoose").FlatRecord<{
|
|
985
|
+
created_at: number;
|
|
986
|
+
region_id: string;
|
|
987
|
+
geo_selection_id: string;
|
|
988
|
+
geo_selection_title: string;
|
|
989
|
+
event_ids: string[];
|
|
990
|
+
data_count: number;
|
|
991
|
+
existing_events_count: number;
|
|
992
|
+
events_updated: number;
|
|
993
|
+
events_created: number;
|
|
994
|
+
skipped: boolean;
|
|
995
|
+
geo_selection_group_id?: string | null | undefined;
|
|
996
|
+
}> & {
|
|
997
|
+
_id: import("mongoose").Types.ObjectId;
|
|
998
|
+
} & {
|
|
999
|
+
__v: number;
|
|
1000
|
+
}>;
|
|
931
1001
|
export declare const MongoGeoSelectionGroupSchema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
932
1002
|
versionKey: false;
|
|
933
1003
|
toJSON: {
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.MongoGeoSelectionGroupSchema = exports.MongoEventSchema = exports.MongoServerReportSchema = exports.MongoRegionSummarySchema = exports.MongoApiKeySchema = exports.MongoGeoSelectionSchema = exports.MongoGeoSchema = exports.MongoSourceSchema = exports.MongoSourceGroupSchema = exports.MongoRegionSchema = exports.MongoDataSchema = exports.HarvesterSDKError = exports.createHarvesterSDK = exports.HarvesterSDK = void 0;
|
|
17
|
+
exports.MongoGeoSelectionGroupSchema = exports.MongoEventMonitoringSchema = exports.MongoEventSchema = exports.MongoServerReportSchema = exports.MongoRegionSummarySchema = exports.MongoApiKeySchema = exports.MongoGeoSelectionSchema = exports.MongoGeoSchema = exports.MongoSourceSchema = exports.MongoSourceGroupSchema = exports.MongoRegionSchema = exports.MongoDataSchema = exports.HarvesterSDKError = exports.createHarvesterSDK = exports.HarvesterSDK = void 0;
|
|
18
18
|
// Export types for consumers
|
|
19
19
|
__exportStar(require("./types"), exports);
|
|
20
20
|
// Export SDK
|
|
@@ -167,7 +167,8 @@ exports.MongoRegionSchema = new mongoose_1.Schema({
|
|
|
167
167
|
coordinates: {
|
|
168
168
|
type: { type: String, enum: ['point', 'polygon'] },
|
|
169
169
|
coordinates: { type: mongoose_1.Schema.Types.Mixed },
|
|
170
|
-
},
|
|
170
|
+
},
|
|
171
|
+
consume_languages: { type: [String] }, // e.g., dominant user languages that consume content from this region
|
|
171
172
|
}, {
|
|
172
173
|
versionKey: false,
|
|
173
174
|
toJSON: { virtuals: true },
|
|
@@ -373,7 +374,33 @@ exports.MongoEventSchema = new mongoose_1.Schema({
|
|
|
373
374
|
],
|
|
374
375
|
default: undefined,
|
|
375
376
|
},
|
|
376
|
-
embeddings: { type: [Number], default: [] },
|
|
377
|
+
embeddings: { type: [Number], default: [] },
|
|
378
|
+
translated_data: {
|
|
379
|
+
type: Map,
|
|
380
|
+
of: new mongoose_1.Schema({
|
|
381
|
+
title: { type: String },
|
|
382
|
+
data_short: { type: String },
|
|
383
|
+
data: { type: String },
|
|
384
|
+
keywords: { type: [String], default: [] },
|
|
385
|
+
}),
|
|
386
|
+
}, // translated data for different languages, e.g., { "en": { title, data_short, data, keywords }, "ar": { ... } }
|
|
387
|
+
}, {
|
|
388
|
+
versionKey: false,
|
|
389
|
+
toJSON: { virtuals: true },
|
|
390
|
+
toObject: { virtuals: true },
|
|
391
|
+
});
|
|
392
|
+
exports.MongoEventMonitoringSchema = new mongoose_1.Schema({
|
|
393
|
+
geo_selection_id: { type: String, required: true },
|
|
394
|
+
geo_selection_title: { type: String, required: true },
|
|
395
|
+
region_id: { type: String, required: true },
|
|
396
|
+
geo_selection_group_id: { type: String },
|
|
397
|
+
event_ids: { type: [String], default: [] },
|
|
398
|
+
data_count: { type: Number, required: true },
|
|
399
|
+
existing_events_count: { type: Number, required: true },
|
|
400
|
+
events_updated: { type: Number, required: true },
|
|
401
|
+
events_created: { type: Number, required: true },
|
|
402
|
+
skipped: { type: Boolean, required: true },
|
|
403
|
+
created_at: { type: Number, default: Date.now, required: true },
|
|
377
404
|
}, {
|
|
378
405
|
versionKey: false,
|
|
379
406
|
toJSON: { virtuals: true },
|
package/dist/types.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare const platformEntityMap: {
|
|
|
10
10
|
};
|
|
11
11
|
export declare const priorityLevels: readonly ["none", "low", "medium", "high", "critical"];
|
|
12
12
|
export declare const sourceStatusList: readonly ["active", "pending", "inactive", "requested", "discovered", "deleted"];
|
|
13
|
+
export declare const userLanguagesList: readonly ["hebrew", "arabic", "french", "german", "chinese", "russian", "portuguese", "spanish"];
|
|
13
14
|
export declare const generalStatusList: readonly ["active", "inactive", "deleted"];
|
|
14
15
|
export declare const zodRegionSchema: z.ZodObject<{
|
|
15
16
|
_id: z.ZodOptional<z.ZodString>;
|
|
@@ -30,6 +31,7 @@ export declare const zodRegionSchema: z.ZodObject<{
|
|
|
30
31
|
type?: "point" | "polygon" | undefined;
|
|
31
32
|
coordinates?: [number, number] | [number, number][] | undefined;
|
|
32
33
|
}>>;
|
|
34
|
+
consume_languages: z.ZodOptional<z.ZodArray<z.ZodEnum<["hebrew", "arabic", "french", "german", "chinese", "russian", "portuguese", "spanish"]>, "many">>;
|
|
33
35
|
}, "strip", z.ZodTypeAny, {
|
|
34
36
|
name: string;
|
|
35
37
|
slug: string;
|
|
@@ -43,6 +45,7 @@ export declare const zodRegionSchema: z.ZodObject<{
|
|
|
43
45
|
type?: "point" | "polygon" | undefined;
|
|
44
46
|
coordinates?: [number, number] | [number, number][] | undefined;
|
|
45
47
|
} | undefined;
|
|
48
|
+
consume_languages?: ("hebrew" | "arabic" | "french" | "german" | "chinese" | "russian" | "portuguese" | "spanish")[] | undefined;
|
|
46
49
|
}, {
|
|
47
50
|
name: string;
|
|
48
51
|
slug: string;
|
|
@@ -56,6 +59,7 @@ export declare const zodRegionSchema: z.ZodObject<{
|
|
|
56
59
|
type?: "point" | "polygon" | undefined;
|
|
57
60
|
coordinates?: [number, number] | [number, number][] | undefined;
|
|
58
61
|
} | undefined;
|
|
62
|
+
consume_languages?: ("hebrew" | "arabic" | "french" | "german" | "chinese" | "russian" | "portuguese" | "spanish")[] | undefined;
|
|
59
63
|
}>;
|
|
60
64
|
export declare const zodSourceGroupSchema: z.ZodObject<{
|
|
61
65
|
_id: z.ZodOptional<z.ZodString>;
|
|
@@ -2240,6 +2244,22 @@ export declare const zodEventSchema: z.ZodObject<{
|
|
|
2240
2244
|
data_region_id?: string | undefined;
|
|
2241
2245
|
}>, "many">>;
|
|
2242
2246
|
embeddings: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
2247
|
+
translated_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
2248
|
+
title: z.ZodString;
|
|
2249
|
+
data_short: z.ZodString;
|
|
2250
|
+
data: z.ZodString;
|
|
2251
|
+
keywords: z.ZodArray<z.ZodString, "many">;
|
|
2252
|
+
}, "strip", z.ZodTypeAny, {
|
|
2253
|
+
title: string;
|
|
2254
|
+
keywords: string[];
|
|
2255
|
+
data_short: string;
|
|
2256
|
+
data: string;
|
|
2257
|
+
}, {
|
|
2258
|
+
title: string;
|
|
2259
|
+
keywords: string[];
|
|
2260
|
+
data_short: string;
|
|
2261
|
+
data: string;
|
|
2262
|
+
}>>>;
|
|
2243
2263
|
}, "strip", z.ZodTypeAny, {
|
|
2244
2264
|
created_at: number;
|
|
2245
2265
|
updated_at: number;
|
|
@@ -2285,6 +2305,12 @@ export declare const zodEventSchema: z.ZodObject<{
|
|
|
2285
2305
|
author_id?: string | undefined;
|
|
2286
2306
|
data_region_id?: string | undefined;
|
|
2287
2307
|
}[] | undefined;
|
|
2308
|
+
translated_data?: Record<string, {
|
|
2309
|
+
title: string;
|
|
2310
|
+
keywords: string[];
|
|
2311
|
+
data_short: string;
|
|
2312
|
+
data: string;
|
|
2313
|
+
}> | undefined;
|
|
2288
2314
|
}, {
|
|
2289
2315
|
created_at: number;
|
|
2290
2316
|
updated_at: number;
|
|
@@ -2330,5 +2356,49 @@ export declare const zodEventSchema: z.ZodObject<{
|
|
|
2330
2356
|
author_id?: string | undefined;
|
|
2331
2357
|
data_region_id?: string | undefined;
|
|
2332
2358
|
}[] | undefined;
|
|
2359
|
+
translated_data?: Record<string, {
|
|
2360
|
+
title: string;
|
|
2361
|
+
keywords: string[];
|
|
2362
|
+
data_short: string;
|
|
2363
|
+
data: string;
|
|
2364
|
+
}> | undefined;
|
|
2365
|
+
}>;
|
|
2366
|
+
export declare const zodEventMonitoringSchema: z.ZodObject<{
|
|
2367
|
+
geo_selection_id: z.ZodString;
|
|
2368
|
+
geo_selection_title: z.ZodString;
|
|
2369
|
+
region_id: z.ZodString;
|
|
2370
|
+
geo_selection_group_id: z.ZodOptional<z.ZodString>;
|
|
2371
|
+
event_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2372
|
+
data_count: z.ZodNumber;
|
|
2373
|
+
existing_events_count: z.ZodNumber;
|
|
2374
|
+
events_updated: z.ZodNumber;
|
|
2375
|
+
events_created: z.ZodNumber;
|
|
2376
|
+
skipped: z.ZodBoolean;
|
|
2377
|
+
created_at: z.ZodNumber;
|
|
2378
|
+
}, "strip", z.ZodTypeAny, {
|
|
2379
|
+
created_at: number;
|
|
2380
|
+
region_id: string;
|
|
2381
|
+
geo_selection_id: string;
|
|
2382
|
+
geo_selection_title: string;
|
|
2383
|
+
data_count: number;
|
|
2384
|
+
existing_events_count: number;
|
|
2385
|
+
events_updated: number;
|
|
2386
|
+
events_created: number;
|
|
2387
|
+
skipped: boolean;
|
|
2388
|
+
geo_selection_group_id?: string | undefined;
|
|
2389
|
+
event_ids?: string[] | undefined;
|
|
2390
|
+
}, {
|
|
2391
|
+
created_at: number;
|
|
2392
|
+
region_id: string;
|
|
2393
|
+
geo_selection_id: string;
|
|
2394
|
+
geo_selection_title: string;
|
|
2395
|
+
data_count: number;
|
|
2396
|
+
existing_events_count: number;
|
|
2397
|
+
events_updated: number;
|
|
2398
|
+
events_created: number;
|
|
2399
|
+
skipped: boolean;
|
|
2400
|
+
geo_selection_group_id?: string | undefined;
|
|
2401
|
+
event_ids?: string[] | undefined;
|
|
2333
2402
|
}>;
|
|
2334
2403
|
export type EventType = z.infer<typeof zodEventSchema>;
|
|
2404
|
+
export type EventMonitoringType = z.infer<typeof zodEventMonitoringSchema>;
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zodEventSchema = exports.zodServerReportSchema = exports.zodRegionSummarySchema = exports.zodDashboardStatsSchema = exports.zodDataSchemaWithValidation = exports.zodDataSchema = exports.authorSchema = exports.repliesInfoSchema = exports.mediaItemSchema = exports.websiteMetadataSchema = exports.tiktokMetadataSchema = exports.instagramMetadataSchema = exports.facebookMetadataSchema = exports.telegramMetadataSchema = exports.zodGeoSelectionSchema = exports.zodGeoSelectionGroupSchema = exports.zodGeoSchema = exports.zodSourceSchema = exports.zodSourceGroupSchema = exports.zodRegionSchema = exports.generalStatusList = exports.sourceStatusList = exports.priorityLevels = exports.platformEntityMap = exports.entityTypesList = exports.platformsList = void 0;
|
|
3
|
+
exports.zodEventMonitoringSchema = exports.zodEventSchema = exports.zodServerReportSchema = exports.zodRegionSummarySchema = exports.zodDashboardStatsSchema = exports.zodDataSchemaWithValidation = exports.zodDataSchema = exports.authorSchema = exports.repliesInfoSchema = exports.mediaItemSchema = exports.websiteMetadataSchema = exports.tiktokMetadataSchema = exports.instagramMetadataSchema = exports.facebookMetadataSchema = exports.telegramMetadataSchema = exports.zodGeoSelectionSchema = exports.zodGeoSelectionGroupSchema = exports.zodGeoSchema = exports.zodSourceSchema = exports.zodSourceGroupSchema = exports.zodRegionSchema = exports.generalStatusList = exports.userLanguagesList = exports.sourceStatusList = exports.priorityLevels = exports.platformEntityMap = exports.entityTypesList = exports.platformsList = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
exports.platformsList = [
|
|
6
6
|
'telegram',
|
|
@@ -50,6 +50,16 @@ exports.sourceStatusList = [
|
|
|
50
50
|
'discovered',
|
|
51
51
|
'deleted', // sources that have been deleted
|
|
52
52
|
];
|
|
53
|
+
exports.userLanguagesList = [
|
|
54
|
+
'hebrew',
|
|
55
|
+
'arabic',
|
|
56
|
+
'french',
|
|
57
|
+
'german',
|
|
58
|
+
'chinese',
|
|
59
|
+
'russian',
|
|
60
|
+
'portuguese',
|
|
61
|
+
'spanish',
|
|
62
|
+
];
|
|
53
63
|
exports.generalStatusList = ['active', 'inactive', 'deleted'];
|
|
54
64
|
exports.zodRegionSchema = zod_1.z.object({
|
|
55
65
|
_id: zod_1.z.string().optional(),
|
|
@@ -71,6 +81,7 @@ exports.zodRegionSchema = zod_1.z.object({
|
|
|
71
81
|
.optional(),
|
|
72
82
|
})
|
|
73
83
|
.optional(),
|
|
84
|
+
consume_languages: zod_1.z.array(zod_1.z.enum(exports.userLanguagesList)).optional(), // e.g., dominant user languages that consume content from this region
|
|
74
85
|
});
|
|
75
86
|
exports.zodSourceGroupSchema = zod_1.z.object({
|
|
76
87
|
_id: zod_1.z.string().optional(),
|
|
@@ -462,5 +473,24 @@ exports.zodEventSchema = zod_1.z.object({
|
|
|
462
473
|
data_region_id: zod_1.z.string().optional(),
|
|
463
474
|
}))
|
|
464
475
|
.optional(),
|
|
465
|
-
embeddings: zod_1.z.array(zod_1.z.number()).optional(),
|
|
476
|
+
embeddings: zod_1.z.array(zod_1.z.number()).optional(),
|
|
477
|
+
translated_data: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
|
|
478
|
+
title: zod_1.z.string(),
|
|
479
|
+
data_short: zod_1.z.string(),
|
|
480
|
+
data: zod_1.z.string(),
|
|
481
|
+
keywords: zod_1.z.array(zod_1.z.string()),
|
|
482
|
+
})).optional(),
|
|
483
|
+
});
|
|
484
|
+
exports.zodEventMonitoringSchema = zod_1.z.object({
|
|
485
|
+
geo_selection_id: zod_1.z.string(),
|
|
486
|
+
geo_selection_title: zod_1.z.string(),
|
|
487
|
+
region_id: zod_1.z.string(),
|
|
488
|
+
geo_selection_group_id: zod_1.z.string().optional(),
|
|
489
|
+
event_ids: zod_1.z.array(zod_1.z.string()).optional(),
|
|
490
|
+
data_count: zod_1.z.number(),
|
|
491
|
+
existing_events_count: zod_1.z.number(),
|
|
492
|
+
events_updated: zod_1.z.number(),
|
|
493
|
+
events_created: zod_1.z.number(),
|
|
494
|
+
skipped: zod_1.z.boolean(),
|
|
495
|
+
created_at: zod_1.z.number(),
|
|
466
496
|
});
|
package/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
platformsList,
|
|
12
12
|
sourceStatusList,
|
|
13
13
|
priorityLevels,
|
|
14
|
+
userLanguagesList,
|
|
14
15
|
} from './types';
|
|
15
16
|
|
|
16
17
|
export const MongoDataSchema = new Schema(
|
|
@@ -174,6 +175,7 @@ export const MongoRegionSchema = new Schema(
|
|
|
174
175
|
type: { type: String, enum: ['point', 'polygon'] },
|
|
175
176
|
coordinates: { type: Schema.Types.Mixed },
|
|
176
177
|
}, // GeoJSON format
|
|
178
|
+
consume_languages: { type: [String] }, // e.g., dominant user languages that consume content from this region
|
|
177
179
|
},
|
|
178
180
|
{
|
|
179
181
|
versionKey: false,
|
|
@@ -294,8 +296,6 @@ export const MongoGeoSchema = new Schema(
|
|
|
294
296
|
},
|
|
295
297
|
);
|
|
296
298
|
|
|
297
|
-
|
|
298
|
-
|
|
299
299
|
export const MongoGeoSelectionSchema = new Schema(
|
|
300
300
|
{
|
|
301
301
|
geo_selection_group_id: { type: String }, // e.g., geo selection group ID
|
|
@@ -414,6 +414,38 @@ export const MongoEventSchema = new Schema(
|
|
|
414
414
|
default: undefined,
|
|
415
415
|
}, // raw data items that triggered the event
|
|
416
416
|
embeddings: { type: [Number], default: [] }, // vector embeddings for ML tasks
|
|
417
|
+
translated_data: {
|
|
418
|
+
type: Map,
|
|
419
|
+
of: new Schema({
|
|
420
|
+
title: { type: String },
|
|
421
|
+
data_short: { type: String },
|
|
422
|
+
data: { type: String },
|
|
423
|
+
keywords: { type: [String], default: [] },
|
|
424
|
+
}),
|
|
425
|
+
}, // translated data for different languages, e.g., { "en": { title, data_short, data, keywords }, "ar": { ... } }
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
versionKey: false,
|
|
429
|
+
toJSON: { virtuals: true },
|
|
430
|
+
toObject: { virtuals: true },
|
|
431
|
+
},
|
|
432
|
+
);
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
export const MongoEventMonitoringSchema = new Schema(
|
|
437
|
+
{
|
|
438
|
+
geo_selection_id: { type: String, required: true },
|
|
439
|
+
geo_selection_title: { type: String, required: true },
|
|
440
|
+
region_id: { type: String, required: true },
|
|
441
|
+
geo_selection_group_id: { type: String },
|
|
442
|
+
event_ids: { type: [String], default: [] },
|
|
443
|
+
data_count: { type: Number, required: true },
|
|
444
|
+
existing_events_count: { type: Number, required: true },
|
|
445
|
+
events_updated: { type: Number, required: true },
|
|
446
|
+
events_created: { type: Number, required: true },
|
|
447
|
+
skipped: { type: Boolean, required: true },
|
|
448
|
+
created_at: { type: Number, default: Date.now, required: true },
|
|
417
449
|
},
|
|
418
450
|
{
|
|
419
451
|
versionKey: false,
|
package/package.json
CHANGED
package/types.ts
CHANGED
|
@@ -53,6 +53,17 @@ export const sourceStatusList = [
|
|
|
53
53
|
'deleted', // sources that have been deleted
|
|
54
54
|
] as const;
|
|
55
55
|
|
|
56
|
+
export const userLanguagesList = [
|
|
57
|
+
'hebrew',
|
|
58
|
+
'arabic',
|
|
59
|
+
'french',
|
|
60
|
+
'german',
|
|
61
|
+
'chinese',
|
|
62
|
+
'russian',
|
|
63
|
+
'portuguese',
|
|
64
|
+
'spanish',
|
|
65
|
+
] as const;
|
|
66
|
+
|
|
56
67
|
export const generalStatusList = ['active', 'inactive', 'deleted'] as const;
|
|
57
68
|
|
|
58
69
|
export const zodRegionSchema = z.object({
|
|
@@ -75,6 +86,7 @@ export const zodRegionSchema = z.object({
|
|
|
75
86
|
.optional(),
|
|
76
87
|
})
|
|
77
88
|
.optional(),
|
|
89
|
+
consume_languages: z.array(z.enum(userLanguagesList)).optional(), // e.g., dominant user languages that consume content from this region
|
|
78
90
|
});
|
|
79
91
|
|
|
80
92
|
export const zodSourceGroupSchema = z.object({
|
|
@@ -533,6 +545,30 @@ export const zodEventSchema = z.object({
|
|
|
533
545
|
)
|
|
534
546
|
.optional(), // raw data items that triggered the event
|
|
535
547
|
embeddings: z.array(z.number()).optional(), // e.g., vector embeddings for ML tasks
|
|
548
|
+
translated_data: z.record(
|
|
549
|
+
z.string(),
|
|
550
|
+
z.object({
|
|
551
|
+
title: z.string(),
|
|
552
|
+
data_short: z.string(),
|
|
553
|
+
data: z.string(),
|
|
554
|
+
keywords: z.array(z.string()),
|
|
555
|
+
}),
|
|
556
|
+
).optional(),
|
|
557
|
+
});
|
|
558
|
+
|
|
559
|
+
export const zodEventMonitoringSchema = z.object({
|
|
560
|
+
geo_selection_id: z.string(),
|
|
561
|
+
geo_selection_title: z.string(),
|
|
562
|
+
region_id: z.string(),
|
|
563
|
+
geo_selection_group_id: z.string().optional(),
|
|
564
|
+
event_ids: z.array(z.string()).optional(),
|
|
565
|
+
data_count: z.number(),
|
|
566
|
+
existing_events_count: z.number(),
|
|
567
|
+
events_updated: z.number(),
|
|
568
|
+
events_created: z.number(),
|
|
569
|
+
skipped: z.boolean(),
|
|
570
|
+
created_at: z.number(),
|
|
536
571
|
});
|
|
537
572
|
|
|
538
573
|
export type EventType = z.infer<typeof zodEventSchema>;
|
|
574
|
+
export type EventMonitoringType = z.infer<typeof zodEventMonitoringSchema>;
|