@messenger-box/platform-server 10.0.3-alpha.7 → 10.0.3-alpha.74
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/lib/config/env-config.d.ts +7 -0
- package/lib/config/env-config.js +20 -0
- package/lib/config/env-config.js.map +1 -1
- package/lib/containers/containers.js +9 -1
- package/lib/containers/containers.js.map +1 -1
- package/lib/containers/context-services-from-container.d.ts +1 -1
- package/lib/containers/context-services-from-container.js +4 -2
- package/lib/containers/context-services-from-container.js.map +1 -1
- package/lib/graphql/resolvers/ai-fragment.d.ts +3 -0
- package/lib/graphql/resolvers/ai-fragment.js +276 -0
- package/lib/graphql/resolvers/ai-fragment.js.map +1 -0
- package/lib/graphql/resolvers/channel-member.d.ts +3 -2
- package/lib/graphql/resolvers/channel-member.js +30 -5
- package/lib/graphql/resolvers/channel-member.js.map +1 -1
- package/lib/graphql/resolvers/channel.d.ts +3 -2
- package/lib/graphql/resolvers/channel.js +308 -53
- package/lib/graphql/resolvers/channel.js.map +1 -1
- package/lib/graphql/resolvers/extended-token-account.d.ts +3 -2
- package/lib/graphql/resolvers/extended-token-account.js +90 -23
- package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
- package/lib/graphql/resolvers/index.d.ts +1 -1
- package/lib/graphql/resolvers/index.js +1 -1
- package/lib/graphql/resolvers/index.js.map +1 -1
- package/lib/graphql/resolvers/post-thread.d.ts +1 -1
- package/lib/graphql/resolvers/post-thread.js +294 -132
- package/lib/graphql/resolvers/post-thread.js.map +1 -1
- package/lib/graphql/resolvers/post.d.ts +2 -3
- package/lib/graphql/resolvers/post.js +874 -239
- package/lib/graphql/resolvers/post.js.map +1 -1
- package/lib/graphql/resolvers/reaction.d.ts +3 -2
- package/lib/graphql/resolvers/reaction.js +96 -14
- package/lib/graphql/resolvers/reaction.js.map +1 -1
- package/lib/graphql/schema/ai-fragment.graphql +311 -0
- package/lib/graphql/schema/ai-fragment.graphql.js +1 -0
- package/lib/graphql/schema/ai-fragment.graphql.js.map +1 -0
- package/lib/graphql/schema/channel-member.graphql +110 -21
- package/lib/graphql/schema/channel-member.graphql.js +1 -1
- package/lib/graphql/schema/channel.graphql +356 -38
- package/lib/graphql/schema/channel.graphql.js +1 -1
- package/lib/graphql/schema/index.js +2 -2
- package/lib/graphql/schema/index.js.map +1 -1
- package/lib/graphql/schema/post-thread.graphql +167 -21
- package/lib/graphql/schema/post-thread.graphql.js +1 -1
- package/lib/graphql/schema/post.graphql +360 -40
- package/lib/graphql/schema/post.graphql.js +1 -1
- package/lib/graphql/schema/reaction.graphql +71 -13
- package/lib/graphql/schema/reaction.graphql.js +1 -1
- package/lib/graphql/schema/services.graphql +21 -0
- package/lib/graphql/schema/users.graphql +76 -13
- package/lib/graphql/schema/users.graphql.js +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/inngest/factory.d.ts +20 -0
- package/lib/inngest/factory.js +4 -0
- package/lib/inngest/factory.js.map +1 -0
- package/lib/inngest/functions.d.ts +235 -0
- package/lib/inngest/functions.js +1385 -0
- package/lib/inngest/functions.js.map +1 -0
- package/lib/inngest/index.d.ts +3 -0
- package/lib/inngest/prompt.d.ts +6 -0
- package/lib/inngest/prompt.js +871 -0
- package/lib/inngest/prompt.js.map +1 -0
- package/lib/inngest/utils.d.ts +5 -0
- package/lib/inngest/utils.js +32 -0
- package/lib/inngest/utils.js.map +1 -0
- package/lib/interfaces/index.d.ts +0 -1
- package/lib/interfaces/services.d.ts +1 -1
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.d.ts +17 -0
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js +44 -0
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js.map +1 -0
- package/lib/migrations/dbMigrations/index.d.ts +1 -0
- package/lib/migrations/index.d.ts +1 -0
- package/lib/migrations/mail-template-migration.js +1 -1
- package/lib/migrations/message-notification-template-migration.d.ts +1 -1
- package/lib/migrations/message-notification-template-migration.js +1 -1
- package/lib/module.js +10 -3
- package/lib/module.js.map +1 -1
- package/lib/plugins/ai-fragment-moleculer-service.d.ts +29 -0
- package/lib/plugins/ai-fragment-moleculer-service.js +516 -0
- package/lib/plugins/ai-fragment-moleculer-service.js.map +1 -0
- package/lib/plugins/channel-moleculer-service.d.ts +21 -1
- package/lib/plugins/channel-moleculer-service.js +426 -115
- package/lib/plugins/channel-moleculer-service.js.map +1 -1
- package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
- package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
- package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
- package/lib/plugins/index.d.ts +1 -0
- package/lib/plugins/messenger-notification-moleculer-service.d.ts +27 -3
- package/lib/plugins/messenger-notification-moleculer-service.js +404 -58
- package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
- package/lib/plugins/post-moleculer-service.d.ts +85 -21
- package/lib/plugins/post-moleculer-service.js +1102 -256
- package/lib/plugins/post-moleculer-service.js.map +1 -1
- package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
- package/lib/plugins/post-thread-moleculer-service.js +326 -8
- package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
- package/lib/plugins/reaction-moleculer-service.js +1 -1
- package/lib/plugins/reaction-moleculer-service.js.map +1 -1
- package/lib/preferences/settings/post-settings.d.ts +2 -0
- package/lib/preferences/settings/post-settings.js +47 -9
- package/lib/preferences/settings/post-settings.js.map +1 -1
- package/lib/services/ai-fragment-service.d.ts +195 -0
- package/lib/services/ai-fragment-service.js +631 -0
- package/lib/services/ai-fragment-service.js.map +1 -0
- package/lib/services/channel-service.d.ts +181 -33
- package/lib/services/channel-service.js +842 -273
- package/lib/services/channel-service.js.map +1 -1
- package/lib/services/extended-token-account-service.d.ts +130 -14
- package/lib/services/extended-token-account-service.js +462 -52
- package/lib/services/extended-token-account-service.js.map +1 -1
- package/lib/services/index.d.ts +3 -0
- package/lib/services/messenger-notification-service.d.ts +106 -13
- package/lib/services/messenger-notification-service.js +824 -442
- package/lib/services/messenger-notification-service.js.map +1 -1
- package/lib/services/post-service.d.ts +189 -16
- package/lib/services/post-service.js +949 -113
- package/lib/services/post-service.js.map +1 -1
- package/lib/services/post-thread-service.d.ts +114 -5
- package/lib/services/post-thread-service.js +400 -13
- package/lib/services/post-thread-service.js.map +1 -1
- package/lib/services/proxy-services/ai-fragment-microservice.d.ts +23 -0
- package/lib/services/proxy-services/ai-fragment-microservice.js +78 -0
- package/lib/services/proxy-services/ai-fragment-microservice.js.map +1 -0
- package/lib/services/proxy-services/channel-microservice.d.ts +6 -3
- package/lib/services/proxy-services/channel-microservice.js +25 -10
- package/lib/services/proxy-services/channel-microservice.js.map +1 -1
- package/lib/services/proxy-services/index.d.ts +1 -0
- package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
- package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
- package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
- package/lib/services/proxy-services/post-microservice.d.ts +207 -12
- package/lib/services/proxy-services/post-microservice.js +623 -54
- package/lib/services/proxy-services/post-microservice.js.map +1 -1
- package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -3
- package/lib/services/proxy-services/post-thread-microservice.js +388 -6
- package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
- package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
- package/lib/services/proxy-services/reaction-microservice.js +474 -2
- package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
- package/lib/services/reaction-service.d.ts +124 -4
- package/lib/services/reaction-service.js +415 -3
- package/lib/services/reaction-service.js.map +1 -1
- package/lib/services/redis-cache-manager.d.ts +18 -0
- package/lib/services/redis-cache-manager.js +83 -0
- package/lib/services/redis-cache-manager.js.map +1 -0
- package/lib/services/sandbox-error-service.d.ts +23 -0
- package/lib/services/sandbox-error-service.js +422 -0
- package/lib/services/sandbox-error-service.js.map +1 -0
- package/lib/store/models/account-token-store.d.ts +1 -1
- package/lib/store/models/account-token-store.js.map +1 -1
- package/lib/store/models/ai-fragment.d.ts +4 -0
- package/lib/store/models/ai-fragment.js +125 -0
- package/lib/store/models/ai-fragment.js.map +1 -0
- package/lib/store/models/channel.d.ts +2 -3
- package/lib/store/models/channel.js +185 -71
- package/lib/store/models/channel.js.map +1 -1
- package/lib/store/models/index.d.ts +1 -0
- package/lib/store/models/post-thread.d.ts +3 -3
- package/lib/store/models/post-thread.js +96 -14
- package/lib/store/models/post-thread.js.map +1 -1
- package/lib/store/models/post.d.ts +2 -3
- package/lib/store/models/post.js +143 -23
- package/lib/store/models/post.js.map +1 -1
- package/lib/store/models/reaction.d.ts +2 -3
- package/lib/store/models/reaction.js +67 -8
- package/lib/store/models/reaction.js.map +1 -1
- package/lib/store/repositories/__tests__/__fixtures__/team-repository.d.ts +3 -3
- package/lib/store/repositories/ai-fragment-repository.d.ts +15 -0
- package/lib/store/repositories/ai-fragment-repository.js +69 -0
- package/lib/store/repositories/ai-fragment-repository.js.map +1 -0
- package/lib/store/repositories/channel-repository.d.ts +6 -6
- package/lib/store/repositories/channel-repository.js +5 -2
- package/lib/store/repositories/channel-repository.js.map +1 -1
- package/lib/store/repositories/index.d.ts +1 -0
- package/lib/store/repositories/post-repository.d.ts +6 -6
- package/lib/store/repositories/post-repository.js +5 -2
- package/lib/store/repositories/post-repository.js.map +1 -1
- package/lib/store/repositories/post-thread-repository.d.ts +6 -6
- package/lib/store/repositories/post-thread-repository.js +5 -2
- package/lib/store/repositories/post-thread-repository.js.map +1 -1
- package/lib/store/repositories/reaction-repository.d.ts +6 -6
- package/lib/store/repositories/reaction-repository.js +5 -2
- package/lib/store/repositories/reaction-repository.js.map +1 -1
- package/lib/templates/constants/SERVER_TYPES.ts.template +4 -4
- package/lib/templates/repositories/AiFragmentRepository.ts.template +4 -0
- package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
- package/lib/templates/repositories/PostRepository.ts.template +3 -3
- package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
- package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
- package/lib/templates/services/AiFragmentService.ts.template +123 -0
- package/lib/templates/services/ChannelService.ts.template +290 -39
- package/lib/templates/services/ExtendedTokenAccountService.ts.template +104 -9
- package/lib/templates/services/MessengerNotificationService.ts.template +94 -19
- package/lib/templates/services/PostService.ts.template +265 -20
- package/lib/templates/services/PostThreadService.ts.template +151 -6
- package/lib/templates/services/ReactionService.ts.template +129 -3
- package/lib/templates/services/RedisCacheManager.ts.template +22 -0
- package/lib/templates/services/SandboxErrorService.ts.template +125 -0
- package/package.json +14 -7
- package/lib/interfaces/context.d.ts +0 -14
- package/lib/store/models/common-options.js +0 -20
- package/lib/store/models/common-options.js.map +0 -1
|
@@ -1,24 +1,119 @@
|
|
|
1
1
|
import { ServiceBroker } from 'moleculer';
|
|
2
|
-
import { IChannel, IPost,
|
|
2
|
+
import { IChannel, IPost, ICountryRepository, IChannelRepository, IExpoNotification, IExpoNotificationBodyData, IMessengerNotificationService, IPostRepository, IPostThreadRepository, ISupportServiceConfig, NotificationDurationUnitEnum, IExpoNotificationData } from 'common/server';
|
|
3
3
|
import { CdmLogger } from '@cdm-logger/core';
|
|
4
|
+
import { Disposable, DisposableCollection } from '@adminide-stack/core';
|
|
4
5
|
export interface IChannelWithPost extends IChannel {
|
|
5
6
|
post: IPost;
|
|
6
7
|
}
|
|
7
8
|
export interface IMemberWithAllChannels {
|
|
8
9
|
[key: string]: IChannelWithPost[];
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Messenger Notification Service Implementation
|
|
13
|
+
*
|
|
14
|
+
* This service handles comprehensive notification management within the messenger platform,
|
|
15
|
+
* providing operations for sending various types of notifications including email, SMS,
|
|
16
|
+
* push notifications, and Expo notifications across different messaging contexts.
|
|
17
|
+
*
|
|
18
|
+
* Key capabilities:
|
|
19
|
+
* - Multi-channel notification delivery (email, SMS, push, Expo)
|
|
20
|
+
* - Unread message notification scheduling and management
|
|
21
|
+
* - User preference-based notification filtering
|
|
22
|
+
* - Support service notification handling
|
|
23
|
+
* - Alert message notification broadcasting
|
|
24
|
+
* - Thread-based notification management
|
|
25
|
+
* - Real-time push notification integration
|
|
26
|
+
* - Template-based notification customization
|
|
27
|
+
* - Channel and post-based notification routing
|
|
28
|
+
* - User aggregation and preference management
|
|
29
|
+
*
|
|
30
|
+
* The service integrates with multiple external services through Moleculer broker
|
|
31
|
+
* and provides comprehensive error handling and logging for notification workflows.
|
|
32
|
+
*/
|
|
33
|
+
export declare class MessengerNotificationService implements IMessengerNotificationService, Disposable {
|
|
11
34
|
private readonly channelRepository;
|
|
12
35
|
private readonly postRepository;
|
|
13
36
|
private readonly postThreadRepository;
|
|
14
37
|
private readonly countryRepository;
|
|
15
38
|
private readonly broker;
|
|
16
|
-
|
|
17
|
-
users
|
|
18
|
-
userPreferences
|
|
19
|
-
supportServiceenvConfig
|
|
39
|
+
protected readonly toDispose: DisposableCollection;
|
|
40
|
+
private users;
|
|
41
|
+
private userPreferences;
|
|
42
|
+
private supportServiceenvConfig;
|
|
43
|
+
private logger;
|
|
20
44
|
constructor(channelRepository: IChannelRepository, postRepository: IPostRepository, postThreadRepository: IPostThreadRepository, countryRepository: ICountryRepository, broker: ServiceBroker, logger: CdmLogger.ILogger);
|
|
21
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Disposes of resources used by the service
|
|
47
|
+
*/
|
|
48
|
+
dispose(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Sets the support service configuration
|
|
51
|
+
*
|
|
52
|
+
* @description Updates the support service notification configuration for customized notifications
|
|
53
|
+
*
|
|
54
|
+
* @param {ISupportServiceConfig} config - Support service configuration
|
|
55
|
+
* @returns {Promise<void | Error>} - Void promise or error
|
|
56
|
+
*/
|
|
57
|
+
setSupportServiceConfig(config: ISupportServiceConfig): Promise<void | Error>;
|
|
58
|
+
/**
|
|
59
|
+
* Sends notification for unread messages within a specified time frame
|
|
60
|
+
*
|
|
61
|
+
* @description Aggregates unread messages across channels and sends notifications
|
|
62
|
+
* to users based on their preferences within the specified duration
|
|
63
|
+
*
|
|
64
|
+
* @param {NotificationDurationUnitEnum} unit - Time unit for the duration
|
|
65
|
+
* @param {number} value - Number of time units to look back
|
|
66
|
+
* @returns {Promise<boolean | Error>} - Success status or error
|
|
67
|
+
*/
|
|
68
|
+
sendNotificationOfUnreadMessages(unit: NotificationDurationUnitEnum, value: number): Promise<boolean | Error>;
|
|
69
|
+
/**
|
|
70
|
+
* Sends Expo push notifications
|
|
71
|
+
*
|
|
72
|
+
* @description Sends push notifications through the Expo notification service
|
|
73
|
+
*
|
|
74
|
+
* @param {IExpoNotificationData} data - Notification data
|
|
75
|
+
* @returns {Promise<IExpoNotification | Error>} - Notification result or error
|
|
76
|
+
*/
|
|
77
|
+
sendPushNotificationsExpo(data: IExpoNotificationData): Promise<IExpoNotification | Error>;
|
|
78
|
+
/**
|
|
79
|
+
* Sends Expo notification when a post is created
|
|
80
|
+
*
|
|
81
|
+
* @description Handles push notification logic for new posts with thread and channel support
|
|
82
|
+
*
|
|
83
|
+
* @param {IPost} post - The post that triggered the notification
|
|
84
|
+
* @param {IExpoNotificationBodyData} notificationData - Optional notification data override
|
|
85
|
+
* @returns {Promise<boolean | Error>} - Success status or error
|
|
86
|
+
*/
|
|
87
|
+
sendExpoNotificationOnPost(post: IPost, notificationData?: IExpoNotificationBodyData): Promise<boolean | Error>;
|
|
88
|
+
/**
|
|
89
|
+
* Sends general notifications for a post
|
|
90
|
+
*
|
|
91
|
+
* @description Handles email and SMS notifications for posts with template support
|
|
92
|
+
*
|
|
93
|
+
* @param {IPost} post - The post that triggered the notification
|
|
94
|
+
* @returns {Promise<boolean | Error>} - Success status or error
|
|
95
|
+
*/
|
|
96
|
+
sendNotificationOnPost(post: IPost): Promise<boolean | Error>;
|
|
97
|
+
/**
|
|
98
|
+
* Sends notifications for alert messages within a time frame
|
|
99
|
+
*
|
|
100
|
+
* @description Processes and sends notifications for alert-type messages
|
|
101
|
+
*
|
|
102
|
+
* @param {NotificationDurationUnitEnum} unit - Time unit for the duration
|
|
103
|
+
* @param {number} value - Number of time units to look back
|
|
104
|
+
* @returns {Promise<boolean | Error>} - Success status or error
|
|
105
|
+
*/
|
|
106
|
+
sendNotificationOfAlertMessages(unit: NotificationDurationUnitEnum, value: number): Promise<boolean | Error>;
|
|
107
|
+
/**
|
|
108
|
+
* Sends notifications for unread service messages
|
|
109
|
+
*
|
|
110
|
+
* @description Handles notifications for support service channels
|
|
111
|
+
*
|
|
112
|
+
* @param {NotificationDurationUnitEnum} unit - Time unit for the duration
|
|
113
|
+
* @param {number} value - Number of time units to look back
|
|
114
|
+
* @returns {Promise<boolean | Error>} - Success status or error
|
|
115
|
+
*/
|
|
116
|
+
sendNotificationOfUnreadServiceMessages(unit: NotificationDurationUnitEnum, value: number): Promise<boolean | Error>;
|
|
22
117
|
private getLatestMessageInAllChannels;
|
|
23
118
|
private groupByMember;
|
|
24
119
|
private findMembersWithUnreadMessage;
|
|
@@ -29,18 +124,16 @@ export declare class MessengerNotificationService implements IMessengerNotificat
|
|
|
29
124
|
private getUser;
|
|
30
125
|
private fetchUsersForMembers;
|
|
31
126
|
private sendNotificationToUser;
|
|
32
|
-
sendNotificationOfUnreadMessages(unit: NotificationDurationUnitEnum, value: number): Promise<void>;
|
|
33
|
-
sendPushNotificationsExpo(data: IExpoNotificationData): Promise<IExpoNotification>;
|
|
34
127
|
private getThreadWithParticipants;
|
|
35
128
|
private getChannelWithMembers;
|
|
36
|
-
|
|
129
|
+
private extractNotificationTokens;
|
|
130
|
+
private extractTemplateVariables;
|
|
131
|
+
private findChannelOwner;
|
|
132
|
+
private prepareNotificationContent;
|
|
37
133
|
private sendMailOnPost;
|
|
38
134
|
private sendSmsOnPost;
|
|
39
|
-
sendNotificationOnPost(post: IPost): Promise<Boolean>;
|
|
40
135
|
private getLatestAlertMessage;
|
|
41
|
-
sendNotificationOfAlertMessages(unit: NotificationDurationUnitEnum, value: number): Promise<void>;
|
|
42
136
|
private sendServiceNotificationOnPost;
|
|
43
137
|
private getServiceThreads;
|
|
44
138
|
private getServicePosts;
|
|
45
|
-
sendNotificationOfUnreadServiceMessages(unit: NotificationDurationUnitEnum, value: number): Promise<void>;
|
|
46
139
|
}
|