@messenger-box/platform-server 10.0.3-alpha.6 → 10.0.3-alpha.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/lib/containers/containers.js +3 -1
  2. package/lib/containers/containers.js.map +1 -1
  3. package/lib/containers/context-services-from-container.d.ts +2 -2
  4. package/lib/containers/context-services-from-container.js +2 -1
  5. package/lib/containers/context-services-from-container.js.map +1 -1
  6. package/lib/graphql/resolvers/channel-member.d.ts +3 -3
  7. package/lib/graphql/resolvers/channel-member.js +30 -5
  8. package/lib/graphql/resolvers/channel-member.js.map +1 -1
  9. package/lib/graphql/resolvers/channel.d.ts +3 -3
  10. package/lib/graphql/resolvers/channel.js +275 -53
  11. package/lib/graphql/resolvers/channel.js.map +1 -1
  12. package/lib/graphql/resolvers/extended-token-account.d.ts +3 -32
  13. package/lib/graphql/resolvers/extended-token-account.js +90 -23
  14. package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
  15. package/lib/graphql/resolvers/index.d.ts +1 -31
  16. package/lib/graphql/resolvers/post-thread.d.ts +2 -3
  17. package/lib/graphql/resolvers/post-thread.js +294 -132
  18. package/lib/graphql/resolvers/post-thread.js.map +1 -1
  19. package/lib/graphql/resolvers/post.d.ts +2 -3
  20. package/lib/graphql/resolvers/post.js +697 -234
  21. package/lib/graphql/resolvers/post.js.map +1 -1
  22. package/lib/graphql/resolvers/reaction.d.ts +3 -3
  23. package/lib/graphql/resolvers/reaction.js +96 -14
  24. package/lib/graphql/resolvers/reaction.js.map +1 -1
  25. package/lib/graphql/schema/channel-member.graphql +110 -21
  26. package/lib/graphql/schema/channel-member.graphql.js +1 -1
  27. package/lib/graphql/schema/channel.graphql +331 -38
  28. package/lib/graphql/schema/channel.graphql.js +1 -1
  29. package/lib/graphql/schema/post-thread.graphql +166 -21
  30. package/lib/graphql/schema/post-thread.graphql.js +1 -1
  31. package/lib/graphql/schema/post.graphql +280 -40
  32. package/lib/graphql/schema/post.graphql.js +1 -1
  33. package/lib/graphql/schema/reaction.graphql +71 -13
  34. package/lib/graphql/schema/reaction.graphql.js +1 -1
  35. package/lib/graphql/schema/services.graphql +2 -0
  36. package/lib/graphql/schema/users.graphql +76 -13
  37. package/lib/graphql/schema/users.graphql.js +1 -1
  38. package/lib/index.js +1 -1
  39. package/lib/index.js.map +1 -1
  40. package/lib/interfaces/index.d.ts +0 -1
  41. package/lib/interfaces/services.d.ts +1 -2
  42. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.d.ts +17 -0
  43. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js +44 -0
  44. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js.map +1 -0
  45. package/lib/migrations/dbMigrations/index.d.ts +1 -0
  46. package/lib/migrations/index.d.ts +1 -0
  47. package/lib/migrations/mail-template-migration.js +1 -1
  48. package/lib/migrations/message-notification-template-migration.d.ts +1 -1
  49. package/lib/migrations/message-notification-template-migration.js +1 -1
  50. package/lib/plugins/channel-moleculer-service.d.ts +21 -1
  51. package/lib/plugins/channel-moleculer-service.js +417 -115
  52. package/lib/plugins/channel-moleculer-service.js.map +1 -1
  53. package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
  54. package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
  55. package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
  56. package/lib/plugins/messenger-notification-moleculer-service.d.ts +27 -3
  57. package/lib/plugins/messenger-notification-moleculer-service.js +404 -58
  58. package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
  59. package/lib/plugins/post-moleculer-service.d.ts +85 -21
  60. package/lib/plugins/post-moleculer-service.js +986 -256
  61. package/lib/plugins/post-moleculer-service.js.map +1 -1
  62. package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
  63. package/lib/plugins/post-thread-moleculer-service.js +326 -8
  64. package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
  65. package/lib/plugins/reaction-moleculer-service.js +1 -1
  66. package/lib/plugins/reaction-moleculer-service.js.map +1 -1
  67. package/lib/preferences/settings/post-settings.d.ts +2 -0
  68. package/lib/preferences/settings/post-settings.js +47 -9
  69. package/lib/preferences/settings/post-settings.js.map +1 -1
  70. package/lib/services/channel-service.d.ts +178 -33
  71. package/lib/services/channel-service.js +735 -276
  72. package/lib/services/channel-service.js.map +1 -1
  73. package/lib/services/extended-token-account-service.d.ts +130 -14
  74. package/lib/services/extended-token-account-service.js +462 -52
  75. package/lib/services/extended-token-account-service.js.map +1 -1
  76. package/lib/services/messenger-notification-service.d.ts +106 -13
  77. package/lib/services/messenger-notification-service.js +824 -442
  78. package/lib/services/messenger-notification-service.js.map +1 -1
  79. package/lib/services/post-service.d.ts +172 -16
  80. package/lib/services/post-service.js +580 -113
  81. package/lib/services/post-service.js.map +1 -1
  82. package/lib/services/post-thread-service.d.ts +114 -5
  83. package/lib/services/post-thread-service.js +400 -13
  84. package/lib/services/post-thread-service.js.map +1 -1
  85. package/lib/services/proxy-services/channel-microservice.d.ts +5 -3
  86. package/lib/services/proxy-services/channel-microservice.js +19 -10
  87. package/lib/services/proxy-services/channel-microservice.js.map +1 -1
  88. package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
  89. package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
  90. package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
  91. package/lib/services/proxy-services/post-microservice.d.ts +186 -12
  92. package/lib/services/proxy-services/post-microservice.js +543 -54
  93. package/lib/services/proxy-services/post-microservice.js.map +1 -1
  94. package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -3
  95. package/lib/services/proxy-services/post-thread-microservice.js +388 -6
  96. package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
  97. package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
  98. package/lib/services/proxy-services/reaction-microservice.js +474 -2
  99. package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
  100. package/lib/services/reaction-service.d.ts +124 -4
  101. package/lib/services/reaction-service.js +415 -3
  102. package/lib/services/reaction-service.js.map +1 -1
  103. package/lib/store/models/account-token-store.d.ts +1 -1
  104. package/lib/store/models/account-token-store.js.map +1 -1
  105. package/lib/store/models/channel.d.ts +2 -3
  106. package/lib/store/models/channel.js +180 -71
  107. package/lib/store/models/channel.js.map +1 -1
  108. package/lib/store/models/post-thread.d.ts +3 -3
  109. package/lib/store/models/post-thread.js +96 -14
  110. package/lib/store/models/post-thread.js.map +1 -1
  111. package/lib/store/models/post.d.ts +2 -3
  112. package/lib/store/models/post.js +143 -23
  113. package/lib/store/models/post.js.map +1 -1
  114. package/lib/store/models/reaction.d.ts +2 -3
  115. package/lib/store/models/reaction.js +67 -8
  116. package/lib/store/models/reaction.js.map +1 -1
  117. package/lib/store/repositories/__tests__/__fixtures__/team-repository.d.ts +3 -3
  118. package/lib/store/repositories/channel-repository.d.ts +6 -6
  119. package/lib/store/repositories/channel-repository.js +5 -2
  120. package/lib/store/repositories/channel-repository.js.map +1 -1
  121. package/lib/store/repositories/post-repository.d.ts +6 -6
  122. package/lib/store/repositories/post-repository.js +5 -2
  123. package/lib/store/repositories/post-repository.js.map +1 -1
  124. package/lib/store/repositories/post-thread-repository.d.ts +6 -6
  125. package/lib/store/repositories/post-thread-repository.js +5 -2
  126. package/lib/store/repositories/post-thread-repository.js.map +1 -1
  127. package/lib/store/repositories/reaction-repository.d.ts +6 -6
  128. package/lib/store/repositories/reaction-repository.js +5 -2
  129. package/lib/store/repositories/reaction-repository.js.map +1 -1
  130. package/lib/templates/constants/SERVER_TYPES.ts.template +0 -3
  131. package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
  132. package/lib/templates/repositories/PostRepository.ts.template +3 -3
  133. package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
  134. package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
  135. package/lib/templates/services/ChannelService.ts.template +278 -39
  136. package/lib/templates/services/ExtendedTokenAccountService.ts.template +107 -3
  137. package/lib/templates/services/MessengerNotificationService.ts.template +94 -19
  138. package/lib/templates/services/PostService.ts.template +184 -20
  139. package/lib/templates/services/PostThreadService.ts.template +151 -6
  140. package/lib/templates/services/ReactionService.ts.template +129 -3
  141. package/package.json +4 -4
  142. package/lib/interfaces/context.d.ts +0 -14
  143. package/lib/store/models/common-options.js +0 -20
  144. package/lib/store/models/common-options.js.map +0 -1
@@ -1,43 +1,369 @@
1
- import {Service}from'moleculer';import {MoleculerTopics,SERVER_TYPES,UserBroadcasterAction}from'common';class ExtendedTokenAccountMoleculerService extends Service {
1
+ import {Service}from'moleculer';import {MoleculerTopics,SERVER_TYPES,MoleculerServiceName,UserBroadcasterAction}from'common/server';import {ApolloClientMixin}from'@adminide-stack/platform-server';import {config}from'../config/env-config.js';import {logger}from'@common-stack/server-core';/**
2
+ * Extended Token Account Moleculer Service
3
+ *
4
+ * This Moleculer service provides a comprehensive microservice interface for device token
5
+ * management and account operations within the messenger platform. It orchestrates
6
+ * token lifecycle events, user session management, and device registration workflows
7
+ * through event-driven architecture.
8
+ *
9
+ * Key capabilities:
10
+ * - User session lifecycle management (login, logout, initialization)
11
+ * - Device token registration and cleanup
12
+ * - Expo notification token management
13
+ * - Auth0 integration and user lookup
14
+ * - Cross-service communication and event handling
15
+ * - Bulk token operations and cleanup
16
+ * - Error handling and recovery mechanisms
17
+ * - Performance monitoring and logging
18
+ *
19
+ * The service integrates with the account microservice through Moleculer broker
20
+ * and provides robust token management for mobile and web applications,
21
+ * ensuring reliable push notification delivery and user authentication flows.
22
+ */
23
+ class ExtendedTokenAccountMoleculerService extends Service {
2
24
  extendedTokenAccountService;
25
+ container;
3
26
  constructor(broker, {
4
- container
27
+ container,
28
+ settings
5
29
  }) {
6
30
  super(broker);
7
31
  this.container = container;
8
32
  const topic = MoleculerTopics.ExtendedTokenAccountService;
33
+ // Initialize the extended token account service
9
34
  this.extendedTokenAccountService = container.get(SERVER_TYPES.ExtendedTokenAccountService);
10
35
  this.parseServiceSchema({
11
36
  name: topic,
12
- // dependencies: [],
13
- // settings: {
14
- // apolloClient: {
15
- // serverUri: config.GRAPHQL_URL,
16
- // },
17
- // },
18
- // mixins: [ApolloClientMixin],
37
+ dependencies: [MoleculerServiceName.AccountUser],
38
+ settings: {
39
+ apolloClient: {
40
+ serverUri: config.GRAPHQL_URL
41
+ },
42
+ ...settings
43
+ },
44
+ mixins: [ApolloClientMixin],
19
45
  events: {
46
+ /**
47
+ * Handles user session revocation events
48
+ *
49
+ * @description Cleans up all device tokens when a user logs out
50
+ * or their session is revoked to prevent unauthorized notifications
51
+ */
20
52
  [UserBroadcasterAction.OnUserSessionRevoked]: {
21
- // handler: async (ctx: Context<{ event: IUserProfile }>) => {
22
53
  handler: async ctx => {
23
54
  const {
24
55
  event
25
- } = ctx?.params;
26
- console.log('user logout');
27
- await this.extendedTokenAccountService.removeUserExpoTokenByAuth0Id(event?.auth0Id);
28
- // console.log('_______params_____________', event);
29
- // _______params_____________ {
30
- // sessionId: '9080d854-36f6-4060-87ea-6a762bf1fdb4',
31
- // auth0Id: 'google-oauth2|113488463811008324316',
32
- // platform: 'MOBILE'
33
- // }
56
+ } = ctx?.params || {};
57
+ try {
58
+ logger.debug('Processing user session revocation', {
59
+ auth0Id: event?.auth0Id,
60
+ sessionId: event?.sessionId,
61
+ platform: event?.platform
62
+ });
63
+ if (!event?.auth0Id) {
64
+ logger.warn('Missing auth0Id in session revocation event');
65
+ return;
66
+ }
67
+ // Remove all Expo tokens for the user
68
+ const result = await this.extendedTokenAccountService.removeUserExpoTokenByAuth0Id(event.auth0Id);
69
+ if (result instanceof Error) {
70
+ logger.error('Failed to remove user Expo tokens: %o', result);
71
+ throw result;
72
+ }
73
+ logger.debug('User session revocation processed successfully', {
74
+ auth0Id: event.auth0Id,
75
+ sessionId: event.sessionId,
76
+ success: result
77
+ });
78
+ // Emit cleanup completion event for other services
79
+ this.broker.emit('user.tokens.cleanup.completed', {
80
+ auth0Id: event.auth0Id,
81
+ sessionId: event.sessionId,
82
+ platform: event.platform,
83
+ timestamp: new Date()
84
+ });
85
+ } catch (error) {
86
+ logger.error('Error processing user session revocation: %o', error);
87
+ // Emit error event for monitoring
88
+ this.broker.emit('user.tokens.cleanup.failed', {
89
+ auth0Id: event?.auth0Id,
90
+ sessionId: event?.sessionId,
91
+ error: error.message,
92
+ timestamp: new Date()
93
+ });
94
+ throw error;
95
+ }
34
96
  }
35
97
  },
98
+ /**
99
+ * Handles user session initialization events
100
+ *
101
+ * @description Processes new user sessions and prepares token management
102
+ */
36
103
  [UserBroadcasterAction.OnUserSessionInitialized]: {
37
104
  handler: async ctx => {
38
- console.log('____________________');
39
- console.log('_________on session initialized___________', ctx.event);
40
- console.log('____________________');
105
+ const {
106
+ event
107
+ } = ctx?.params || {};
108
+ try {
109
+ logger.debug('Processing user session initialization', {
110
+ auth0Id: event?.auth0Id,
111
+ sessionId: event?.sessionId,
112
+ platform: event?.platform
113
+ });
114
+ if (!event?.auth0Id) {
115
+ logger.warn('Missing auth0Id in session initialization event');
116
+ return;
117
+ }
118
+ // Validate user account exists
119
+ const accountResult = await this.extendedTokenAccountService.getAccountByAuth0Id(event.auth0Id);
120
+ if (accountResult instanceof Error) {
121
+ logger.error('Failed to find account during session initialization: %o', accountResult);
122
+ return;
123
+ }
124
+ logger.debug('User session initialization processed successfully', {
125
+ auth0Id: event.auth0Id,
126
+ accountId: accountResult.id,
127
+ sessionId: event.sessionId
128
+ });
129
+ // Emit session ready event
130
+ this.broker.emit('user.session.ready', {
131
+ auth0Id: event.auth0Id,
132
+ accountId: accountResult.id,
133
+ sessionId: event.sessionId,
134
+ platform: event.platform,
135
+ timestamp: new Date()
136
+ });
137
+ } catch (error) {
138
+ logger.error('Error processing user session initialization: %o', error);
139
+ // Emit error event for monitoring
140
+ this.broker.emit('user.session.initialization.failed', {
141
+ auth0Id: event?.auth0Id,
142
+ sessionId: event?.sessionId,
143
+ error: error.message,
144
+ timestamp: new Date()
145
+ });
146
+ }
147
+ }
148
+ },
149
+ /**
150
+ * Handles device token registration events
151
+ *
152
+ * @description Processes device token registration from mobile apps
153
+ */
154
+ 'device.token.register': {
155
+ handler: async ctx => {
156
+ const {
157
+ event
158
+ } = ctx?.params || {};
159
+ try {
160
+ logger.debug('Processing device token registration', {
161
+ accountId: event?.accountId,
162
+ platform: event?.platform
163
+ });
164
+ if (!event?.accountId || !event?.deviceToken) {
165
+ logger.warn('Missing required fields in device token registration');
166
+ return;
167
+ }
168
+ const result = await this.extendedTokenAccountService.setDeviceToken(event.deviceToken, event.accountId);
169
+ if (result instanceof Error) {
170
+ logger.error('Failed to register device token: %o', result);
171
+ throw result;
172
+ }
173
+ logger.debug('Device token registered successfully', {
174
+ accountId: event.accountId,
175
+ platform: event.platform
176
+ });
177
+ // Emit registration success event
178
+ this.broker.emit('device.token.registered', {
179
+ accountId: event.accountId,
180
+ platform: event.platform,
181
+ timestamp: new Date()
182
+ });
183
+ } catch (error) {
184
+ logger.error('Error processing device token registration: %o', error);
185
+ this.broker.emit('device.token.registration.failed', {
186
+ accountId: event?.accountId,
187
+ platform: event?.platform,
188
+ error: error.message,
189
+ timestamp: new Date()
190
+ });
191
+ throw error;
192
+ }
193
+ }
194
+ },
195
+ /**
196
+ * Handles bulk token cleanup events
197
+ *
198
+ * @description Processes bulk token cleanup operations
199
+ */
200
+ 'tokens.bulk.cleanup': {
201
+ handler: async ctx => {
202
+ const {
203
+ event
204
+ } = ctx?.params || {};
205
+ try {
206
+ logger.debug('Processing bulk token cleanup', {
207
+ accountCount: event?.accountIds?.length,
208
+ reason: event?.reason
209
+ });
210
+ if (!event?.accountIds || event.accountIds.length === 0) {
211
+ logger.warn('No account IDs provided for bulk cleanup');
212
+ return;
213
+ }
214
+ const results = await Promise.allSettled(event.accountIds.map(async accountId => {
215
+ // First get account to find auth0Id
216
+ const account = await this.extendedTokenAccountService.getDeviceToken(accountId);
217
+ if (account instanceof Error) {
218
+ throw account;
219
+ }
220
+ // Remove tokens using auth0Id if available
221
+ if (account?.auth0Id) {
222
+ return await this.extendedTokenAccountService.removeUserExpoTokenByAuth0Id(account.auth0Id);
223
+ }
224
+ return false;
225
+ }));
226
+ const successCount = results.filter(result => result.status === 'fulfilled' && result.value !== false && !(result.value instanceof Error)).length;
227
+ logger.debug('Bulk token cleanup completed', {
228
+ totalAccounts: event.accountIds.length,
229
+ successfulCleanups: successCount,
230
+ reason: event.reason
231
+ });
232
+ // Emit completion event
233
+ this.broker.emit('tokens.bulk.cleanup.completed', {
234
+ totalAccounts: event.accountIds.length,
235
+ successfulCleanups: successCount,
236
+ reason: event.reason,
237
+ timestamp: new Date()
238
+ });
239
+ } catch (error) {
240
+ logger.error('Error processing bulk token cleanup: %o', error);
241
+ throw error;
242
+ }
243
+ }
244
+ }
245
+ },
246
+ actions: {
247
+ /**
248
+ * Action: Get device token for an account
249
+ */
250
+ getDeviceToken: {
251
+ handler: async ctx => {
252
+ try {
253
+ const {
254
+ accountId
255
+ } = ctx.params;
256
+ if (!accountId) {
257
+ throw new Error('Account ID is required');
258
+ }
259
+ return await this.extendedTokenAccountService.getDeviceToken(accountId);
260
+ } catch (error) {
261
+ logger.error('Error in getDeviceToken action: %o', error);
262
+ throw error;
263
+ }
264
+ }
265
+ },
266
+ /**
267
+ * Action: Set device token for an account
268
+ */
269
+ setDeviceToken: {
270
+ handler: async ctx => {
271
+ try {
272
+ const {
273
+ deviceToken,
274
+ accountId
275
+ } = ctx.params;
276
+ if (!deviceToken || !accountId) {
277
+ throw new Error('Device token and account ID are required');
278
+ }
279
+ return await this.extendedTokenAccountService.setDeviceToken(deviceToken, accountId);
280
+ } catch (error) {
281
+ logger.error('Error in setDeviceToken action: %o', error);
282
+ throw error;
283
+ }
284
+ }
285
+ },
286
+ /**
287
+ * Action: Remove device token from an account
288
+ */
289
+ removeDeviceToken: {
290
+ handler: async ctx => {
291
+ try {
292
+ const {
293
+ deviceToken,
294
+ accountId
295
+ } = ctx.params;
296
+ if (!deviceToken || !accountId) {
297
+ throw new Error('Device token and account ID are required');
298
+ }
299
+ return await this.extendedTokenAccountService.removeDeviceToken(deviceToken, accountId);
300
+ } catch (error) {
301
+ logger.error('Error in removeDeviceToken action: %o', error);
302
+ throw error;
303
+ }
304
+ }
305
+ },
306
+ /**
307
+ * Action: Get account by Auth0 ID
308
+ */
309
+ getAccountByAuth0Id: {
310
+ handler: async ctx => {
311
+ try {
312
+ const {
313
+ auth0Id,
314
+ context
315
+ } = ctx.params;
316
+ if (!auth0Id) {
317
+ throw new Error('Auth0 ID is required');
318
+ }
319
+ return await this.extendedTokenAccountService.getAccountByAuth0Id(auth0Id, context);
320
+ } catch (error) {
321
+ logger.error('Error in getAccountByAuth0Id action: %o', error);
322
+ throw error;
323
+ }
324
+ }
325
+ },
326
+ /**
327
+ * Action: Remove user Expo tokens by Auth0 ID
328
+ */
329
+ removeUserExpoTokenByAuth0Id: {
330
+ handler: async ctx => {
331
+ try {
332
+ const {
333
+ auth0Id,
334
+ context
335
+ } = ctx.params;
336
+ if (!auth0Id) {
337
+ throw new Error('Auth0 ID is required');
338
+ }
339
+ return await this.extendedTokenAccountService.removeUserExpoTokenByAuth0Id(auth0Id, context);
340
+ } catch (error) {
341
+ logger.error('Error in removeUserExpoTokenByAuth0Id action: %o', error);
342
+ throw error;
343
+ }
344
+ }
345
+ },
346
+ /**
347
+ * Action: Health check for the service
348
+ */
349
+ health: {
350
+ handler: async () => {
351
+ try {
352
+ return {
353
+ status: 'healthy',
354
+ timestamp: new Date(),
355
+ service: 'ExtendedTokenAccountMoleculerService',
356
+ version: '1.0.0'
357
+ };
358
+ } catch (error) {
359
+ logger.error('Health check failed: %o', error);
360
+ return {
361
+ status: 'unhealthy',
362
+ timestamp: new Date(),
363
+ service: 'ExtendedTokenAccountMoleculerService',
364
+ error: error.message
365
+ };
366
+ }
41
367
  }
42
368
  }
43
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extended-token-account-moleculer-service.js","sources":["../../src/plugins/extended-token-account-moleculer-service.ts"],"sourcesContent":[null],"names":[],"mappings":"wGAQM,MAAO,oCAAqC,SAAQ,OAAO,CAAA;AAC5C,EAAA,2BAAA;AAEjB,EAAA,WAAA,CAAA,MAAiC,EAAA;;AAE7B,GAAA,EAAA;AACA,IAAA,KAAA,CAAA,MAAW,CAAA;QAEX,CAAI,SAA4B,GAAA,SAAA;UAI5B,uBAAoB,CAAA,2BAAA;AACpB,IAAA,IAAA,CAAA,2BAAW,GAAA,SAAA,CAAA,GAAA,CAAA,YAAA,CAAA,2BAAA,CAAA;2BACS,CAAA;YACpB,KAAc;;;;;;AAMd;AACI;;AAEI,QAAA,CAAA,qBAAS,CAAA,oBAAgD,GAAA;AACrD;AACA,UAAA,OAAA,EAAA,MAAA,GAAA,IAAQ;;;2BAGuB;wBAC/B,aAAyD,CAAA;kDACH,CAAA,4BAAA,CAAA,KAAA,EAAA,OAAA,CAAA;;;;AAI7D;AAED;AACI;AACI;;AAEA,QAAA,CAAA,qBAAA,CAAO,wBAAK,GAAsB;yBACrC,GAAA,IAAA;AACJ,YAAA,OAAA,CAAA,GAAA,CAAA,sBAAA,CAAA;AACJ,YAAA,OAAA,CAAA,GAAA,CAAA,4CAAA,EAAA,GAAA,CAAA,KAAA,CAAA;AACJ,YAAE,OAAA,CAAA,GAAA,CAAA,sBAAA,CAAA;;AAEV;;;;"}
1
+ {"version":3,"file":"extended-token-account-moleculer-service.js","sources":["../../src/plugins/extended-token-account-moleculer-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,9 +1,33 @@
1
1
  import { Service, ServiceBroker } from 'moleculer';
2
2
  import { Container } from 'inversify';
3
+ /**
4
+ * Messenger Notification Moleculer Service
5
+ *
6
+ * This Moleculer service provides a comprehensive microservice interface for notification
7
+ * management within the messenger platform. It orchestrates various notification workflows
8
+ * including email, SMS, push notifications, and Expo notifications through event-driven
9
+ * architecture.
10
+ *
11
+ * Key capabilities:
12
+ * - Multi-channel notification delivery (email, SMS, push, Expo)
13
+ * - Unread message notification scheduling and management
14
+ * - Post-based notification triggering and routing
15
+ * - Alert message notification broadcasting
16
+ * - Support service notification handling
17
+ * - Cross-service communication and event handling
18
+ * - Cron job integration for scheduled notifications
19
+ * - Template-based notification customization
20
+ * - User preference-based notification filtering
21
+ * - Comprehensive error handling and monitoring
22
+ *
23
+ * The service integrates with multiple external services through Moleculer broker
24
+ * and provides robust notification management for real-time messaging workflows.
25
+ */
3
26
  export declare class MessengerNotificationMoleculerService extends Service {
4
- constructor(broker: ServiceBroker, { container }: {
27
+ private readonly messengerNotificationService;
28
+ private readonly container;
29
+ constructor(broker: ServiceBroker, { container, settings }: {
5
30
  container: Container;
6
- } & {
7
- settings: any;
31
+ settings?: any;
8
32
  });
9
33
  }