@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,4 +1,4 @@
1
- import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from'inversify';import {ServiceBroker}from'moleculer';import'@cdm-logger/core';import {CommonType}from'@common-stack/core';import {MoleculerTopics,ChannelServiceCommands}from'common';import {BaseProxyService}from'@common-stack/store-mongo';let ChannelProxyService = class ChannelProxyService extends BaseProxyService {
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from'inversify';import {ServiceBroker}from'moleculer';import'@cdm-logger/core';import {CommonType}from'@common-stack/core';import {MoleculerTopics,ChannelServiceCommands}from'common/server';import {BaseProxyService}from'@common-stack/store-mongo';let ChannelProxyService = class ChannelProxyService extends BaseProxyService {
2
2
  logger;
3
3
  topic = MoleculerTopics.ChannelService;
4
4
  constructor(broker, logger) {
@@ -7,6 +7,9 @@ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from
7
7
  }));
8
8
  this.logger = logger;
9
9
  }
10
+ dispose() {
11
+ // Cleanup resources if needed
12
+ }
10
13
  addMemberToChannel(channelId, memberId) {
11
14
  return this.callAction(ChannelServiceCommands.AddMemberToChannel, {
12
15
  channelId,
@@ -28,14 +31,12 @@ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from
28
31
  id
29
32
  });
30
33
  }
34
+ // @ts-ignore - Type compatibility issue with base class method
31
35
  getByName(name) {
32
36
  return this.callAction(ChannelServiceCommands.GetByName, {
33
37
  name
34
38
  });
35
39
  }
36
- // getByName(teamId: string, name: string): MethodResponse<'getByName'> {
37
- // return this.callAction(ChannelServiceCommands.GetByName, { teamId, name });
38
- // }
39
40
  getByNameIncludeDeleted(teamId, name) {
40
41
  return this.callAction(ChannelServiceCommands.GetByNameIncludeDeleted, {
41
42
  teamId,
@@ -60,13 +61,13 @@ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from
60
61
  userId
61
62
  });
62
63
  }
63
- getChannels(teamId, userId, includeDeleted, lastDeleteAt, orgName) {
64
+ getChannels(teamId, userId, includeDeleted, lastDeleteAt, orgId) {
64
65
  return this.callAction(ChannelServiceCommands.GetChannels, {
65
66
  teamId,
66
67
  userId,
67
68
  includeDeleted,
68
69
  lastDeleteAt,
69
- orgName
70
+ orgId
70
71
  });
71
72
  }
72
73
  getDeleted(teamId, offset, limit, userId) {
@@ -143,17 +144,17 @@ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from
143
144
  });
144
145
  }
145
146
  permanentDelete(channelId) {
146
- this.callAction(ChannelServiceCommands.PermanentDelete, {
147
+ return this.callAction(ChannelServiceCommands.PermanentDelete, {
147
148
  channelId
148
149
  });
149
150
  }
150
151
  permanentDeleteByTeam(teamId) {
151
- this.callAction(ChannelServiceCommands.PermanentDeleteByTeam, {
152
+ return this.callAction(ChannelServiceCommands.PermanentDeleteByTeam, {
152
153
  teamId
153
154
  });
154
155
  }
155
156
  permanentDeleteMembersByChannel(channelId) {
156
- this.callAction(ChannelServiceCommands.PermanentDeleteMembersByChannel, {
157
+ return this.callAction(ChannelServiceCommands.PermanentDeleteMembersByChannel, {
157
158
  channelId
158
159
  });
159
160
  }
@@ -195,5 +196,13 @@ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from
195
196
  user
196
197
  });
197
198
  }
199
+ bulkDelete(criteria) {
200
+ return this.callAction(ChannelServiceCommands.PermanentDelete, {
201
+ criteria
202
+ });
203
+ }
198
204
  };
199
- ChannelProxyService = __decorate([injectable(), __param(0, inject(CommonType.MOLECULER_BROKER)), __param(1, inject('Logger')), __metadata("design:paramtypes", [ServiceBroker, Object])], ChannelProxyService);export{ChannelProxyService};//# sourceMappingURL=channel-microservice.js.map
205
+ ChannelProxyService = __decorate([injectable()
206
+ // @ts-ignore - Type compatibility issue between BaseProxyService and IChannelService
207
+ // export class ChannelProxyService extends BaseProxyService<AsDomainType<IChannelModel>> implements IChannelService {
208
+ , __param(0, inject(CommonType.MOLECULER_BROKER)), __param(1, inject('Logger')), __metadata("design:paramtypes", [ServiceBroker, Object])], ChannelProxyService);export{ChannelProxyService};//# sourceMappingURL=channel-microservice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-microservice.js","sources":["../../../src/services/proxy-services/channel-microservice.ts"],"sourcesContent":[null],"names":[],"mappings":"4TAsBO,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gBAAgD,CAAA;AAO9D,EAAA,MAAA;AANvB,EAAA,KAAA,GAAQ,eAAA,CAAA,cAAgB;aAIpB,CAAA,MAAA,EAAqB,MAEuB,EAAA;AAE5C,IAAA,KAAA,CAAA,MAAM,EAAA,MAAQ,CAAA,KAAY,CAAA;eAFD,EAAA;KAG5B,CAAA,CAAA;IAED,IAAkB,CAAA,MAAA,GAAA,MAAkB;AAChC;oBACH,CAAA,SAAA,EAAA,QAAA,EAAA;AAED,IAAA,OAAA,IAAA,CAAA,UAAsD,CAAA,sBAAA,CAAA,kBAAA,EAAA;AAClD,MAAA,SAAO;MACV;AAED,KAAA,CAAA;AACI;sBACH,CAAA,IAAA,EAAA;AAED,IAAA,OAAA,IAAA,CAAA,UAAwB,CAAA,sBAAA,CAAA,oBAAA,EAAA;AACpB,MAAA;KACH,CAAA;AAED;AACI,EAAA,mBAAsB,CAAA,IAAA,EAAA;IAC1B,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,mBAAA,EAAA;MAEwE;KACS,CAAA;;eAG3D,CAAA,EAAA,EAAA;AACnB,IAAA,OAAA,IAAO,CAAI,UAAW,CAAA,oCAAwB,EAAA;MACjD;KAES,CAAA;AACN;WACH,CAAA,IAAA,EAAA;IAED,OAAgB,IAAA,CAAA,UAAe,CAAA,sBAAgB,CAAA,SAAA,EAAA;AAC3C,MAAA;KACH,CAAA;;AAGG;;;AAUA,EAAA,uBAAY,CAAA,MAAiC,EAAA,IAAA,EAAA;eACnC,CAAA,UAAA,CAAA,sBAAA,CAAA,uBAAA,EAAA;YACN;;;;AAIH,EAAA,UAAE,CAAA,MAAA,EAAA,KAAA,EAAA;IACP,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,UAAA,EAAA;AAED,MAAA,MAAA;AACI,MAAA;KACH,CAAA;;AAGG,EAAA,gBAAW,CAAA,MAAW,EAAA;IAC1B,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,gBAAA,EAAA;AAED,MAAA,MAAA;AACI,MAAA;KACH,CAAA;AAED;AACI,EAAA,iBAAW,SAAC,EAAU,MAAuB,EAAA;IACjD,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,gBAAA,EAAA;AAED,MAAA,SAAA;AACI,MAAA;KACH,CAAA;AAED;AAKI,EAAA,WAAA,CAAA,MAAY,EAAA,MAAA,EAAU,cAAC,EAAA,YAAgD,EAAA,OAAA,EAAA;IAC3E,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,WAAA,EAAA;MAE4B,MAAA;AAIzB,MAAA,MAAA;MACH,cAAA;AAED,MAAA,YAAA;AAKI,MAAA;KACH,CAAA;AAED;AACI,EAAA,UAAA,CAAA,MAAW,EAAW,MAAA,EAAA,KAAuB,EAAA,MAAA,EAAA;IACjD,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,UAAA,EAAA;AAED,MAAA,MAAA;AACI,MAAA,MAAA;MACH,KAAA;MAEsB;AACnB,KAAA,CAAA;;AAGJ,EAAA,gBAAuB,CAAA,MAAA,EAAA,IAAA,EAAA;AACnB,IAAA,OAAA,IAAO,CAAI,UAAW,CAAA,sBAAuB,CAAA,gBAAa,EAAE;MAC/D,MAAA;AAED,MAAA;;;AAIA,EAAA,aAAA,CAAA,EAAA,EAAA;WACQ,IAAW,CAAA,UAAuB,CAAA,sBAAsB,CAAA,aAAA,EAAA;MAC/D;AAED,KAAA,CAAA;;iBAEC,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA;IAED,OAAO,IAAkB,CAAA,UAAY,CAAA,sBAAA,CAAA,eAAA,EAAA;AACjC,MAAA,MAAA;MACH,MAAA;AAED,MAAA,MAAA;AACI,MAAA;KACH,CAAA;AAED;AACI,EAAA,cAAW,CAAA,SAAW,EAAA;IAC1B,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,cAAA,EAAA;AAED,MAAA;AACI,KAAA,CAAA;;AAGJ,EAAA,yBAA2C,CAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA;AACvC,IAAA,OAAA,IAAO,CAAI,UAAW,CAAA,sBAAuB,CAAA,yBAAsB,EAAE;MACxE,MAAA;MAEO,MAAA;AACJ,MAAA;KACH,CAAA;;AAGG,EAAA,6BAAuB,sBAAsB;IACjD,OAAC,IAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,6BAAA,EAAA;MACJ,MAAA;AAtKY,MAAmB;AAD/B,KAAA,CAAA;AAKQ;AAEA,EAAA,wBAAe,CAAA,MAAC,EAAA,MAAA,EAAA,KAAA,EAAA;iDADI,CAAA,wBAAA,EAAA;AALhB,MAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"channel-microservice.js","sources":["../../../src/services/proxy-services/channel-microservice.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,16 +1,136 @@
1
1
  import { ServiceBroker } from 'moleculer';
2
2
  import { CdmLogger } from '@cdm-logger/core';
3
- import { MoleculerTopics, IPost, IExpoNotification, IExpoNotificationBodyData, IMessengerNotificationService, NotificationDurationUnitEnum, IExpoNotificationData } from 'common';
4
- export declare class MessengerNotificationMicroservice implements IMessengerNotificationService {
3
+ import { Disposable, DisposableCollection } from '@adminide-stack/core';
4
+ import { MoleculerTopics, IPost, IExpoNotification, IExpoNotificationBodyData, IMessengerNotificationService, NotificationDurationUnitEnum, IExpoNotificationData, ISupportServiceConfig } from 'common/server';
5
+ /**
6
+ * Messenger Notification Microservice Implementation
7
+ *
8
+ * This microservice handles comprehensive notification management within the messenger platform,
9
+ * providing operations for sending various types of notifications including email, SMS,
10
+ * push notifications, and Expo notifications across different messaging contexts through
11
+ * service broker delegation.
12
+ *
13
+ * Key capabilities:
14
+ * - Multi-channel notification delivery (email, SMS, push, Expo)
15
+ * - Unread message notification scheduling and management
16
+ * - User preference-based notification filtering
17
+ * - Support service notification handling
18
+ * - Alert message notification broadcasting
19
+ * - Thread-based notification management
20
+ * - Real-time push notification integration
21
+ * - Template-based notification customization
22
+ * - Channel and post-based notification routing
23
+ * - User aggregation and preference management
24
+ *
25
+ * The microservice integrates with multiple external services through Moleculer broker
26
+ * and provides comprehensive error handling and logging for notification workflows.
27
+ */
28
+ export declare class MessengerNotificationMicroservice implements IMessengerNotificationService, Disposable {
5
29
  private readonly broker;
6
30
  private readonly logger;
31
+ protected readonly toDispose: DisposableCollection;
7
32
  topic: MoleculerTopics;
8
33
  constructor(broker: ServiceBroker, logger: CdmLogger.ILogger);
34
+ /**
35
+ * Disposes of resources used by the service
36
+ */
37
+ dispose(): void;
38
+ /**
39
+ * Calls a microservice action with proper error handling
40
+ *
41
+ * @description Protected method to handle microservice communication
42
+ *
43
+ * @param {string} command - The command to execute
44
+ * @param {P} params - Parameters for the command
45
+ * @returns {Promise<T>} - Result from microservice
46
+ */
9
47
  protected callAction<T, P = unknown>(command: string, params?: P): Promise<T>;
10
- sendNotificationOfUnreadMessages(unit: NotificationDurationUnitEnum, value: number): Promise<void>;
11
- sendNotificationOnPost(post: IPost): Promise<Boolean>;
12
- sendNotificationOfAlertMessages(unit: NotificationDurationUnitEnum, value: number): Promise<void>;
13
- sendPushNotificationsExpo(data: IExpoNotificationData): Promise<IExpoNotification>;
14
- sendExpoNotificationOnPost(post: IPost, notificationData: IExpoNotificationBodyData): Promise<Boolean>;
15
- sendNotificationOfUnreadServiceMessages(unit: NotificationDurationUnitEnum, value: number): Promise<void>;
48
+ /**
49
+ * Sends notification for unread messages within a specified time frame
50
+ *
51
+ * @description Aggregates unread messages across channels and sends notifications
52
+ * to users based on their preferences within the specified duration
53
+ *
54
+ * @param {NotificationDurationUnitEnum} unit - Time unit for the duration
55
+ * @param {number} value - Number of time units to look back
56
+ * @returns {Promise<boolean | Error>} - Success status or error
57
+ */
58
+ sendNotificationOfUnreadMessages(unit: NotificationDurationUnitEnum, value: number): Promise<boolean | Error>;
59
+ /**
60
+ * Sends general notifications for a post
61
+ *
62
+ * @description Handles email and SMS notifications for posts with template support
63
+ *
64
+ * @param {IPost} post - The post that triggered the notification
65
+ * @returns {Promise<boolean | Error>} - Success status or error
66
+ */
67
+ sendNotificationOnPost(post: IPost): Promise<boolean | Error>;
68
+ /**
69
+ * Sends notifications for alert messages within a time frame
70
+ *
71
+ * @description Processes and sends notifications for alert-type messages
72
+ *
73
+ * @param {NotificationDurationUnitEnum} unit - Time unit for the duration
74
+ * @param {number} value - Number of time units to look back
75
+ * @returns {Promise<boolean | Error>} - Success status or error
76
+ */
77
+ sendNotificationOfAlertMessages(unit: NotificationDurationUnitEnum, value: number): Promise<boolean | Error>;
78
+ /**
79
+ * Sends Expo push notifications
80
+ *
81
+ * @description Sends push notifications through the Expo notification service
82
+ *
83
+ * @param {IExpoNotificationData} data - Notification data
84
+ * @returns {Promise<IExpoNotification | Error>} - Notification result or error
85
+ */
86
+ sendPushNotificationsExpo(data: IExpoNotificationData): Promise<IExpoNotification | Error>;
87
+ /**
88
+ * Sends Expo notification when a post is created
89
+ *
90
+ * @description Handles push notification logic for new posts with thread and channel support
91
+ *
92
+ * @param {IPost} post - The post that triggered the notification
93
+ * @param {IExpoNotificationBodyData} notificationData - Optional notification data override
94
+ * @returns {Promise<boolean | Error>} - Success status or error
95
+ */
96
+ sendExpoNotificationOnPost(post: IPost, notificationData: IExpoNotificationBodyData): Promise<boolean | Error>;
97
+ /**
98
+ * Sends notifications for unread service messages
99
+ *
100
+ * @description Handles notifications for support service channels
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
+ sendNotificationOfUnreadServiceMessages(unit: NotificationDurationUnitEnum, value: number): Promise<boolean | Error>;
107
+ /**
108
+ * Sets the support service configuration
109
+ *
110
+ * @description Updates the support service notification configuration for customized notifications
111
+ *
112
+ * @param {ISupportServiceConfig} config - Support service configuration
113
+ * @returns {Promise<void | Error>} - Void promise or error
114
+ */
115
+ setSupportServiceConfig(config: ISupportServiceConfig): Promise<void | Error>;
116
+ /**
117
+ * Validates notification data
118
+ *
119
+ * @description Helper method to validate notification data before processing
120
+ *
121
+ * @param {any} data - Data to validate
122
+ * @returns {Promise<boolean | Error>} - Validation result or error
123
+ */
124
+ validateNotificationData(data: any): Promise<boolean | Error>;
125
+ /**
126
+ * Gets notification statistics
127
+ *
128
+ * @description Convenience method to get notification delivery statistics
129
+ *
130
+ * @param {string} userId - The user identifier (optional)
131
+ * @param {Date} startDate - Start date for statistics
132
+ * @param {Date} endDate - End date for statistics
133
+ * @returns {Promise<any | Error>} - Notification statistics or error
134
+ */
135
+ getNotificationStatistics(userId?: string, startDate?: Date, endDate?: Date): Promise<any | Error>;
16
136
  }
@@ -1,6 +1,30 @@
1
- import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from'inversify';import {CommonType}from'@common-stack/core';import {ServiceBroker}from'moleculer';import'@cdm-logger/core';import {MoleculerTopics,MessengerNotificationServiceCommands}from'common';let MessengerNotificationMicroservice = class MessengerNotificationMicroservice {
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from'inversify';import {CommonType}from'@common-stack/core';import {ServiceBroker}from'moleculer';import'@cdm-logger/core';import {DisposableCollection}from'@adminide-stack/core';import {MoleculerTopics,MessengerNotificationServiceCommands}from'common/server';/**
2
+ * Messenger Notification Microservice Implementation
3
+ *
4
+ * This microservice handles comprehensive notification management within the messenger platform,
5
+ * providing operations for sending various types of notifications including email, SMS,
6
+ * push notifications, and Expo notifications across different messaging contexts through
7
+ * service broker delegation.
8
+ *
9
+ * Key capabilities:
10
+ * - Multi-channel notification delivery (email, SMS, push, Expo)
11
+ * - Unread message notification scheduling and management
12
+ * - User preference-based notification filtering
13
+ * - Support service notification handling
14
+ * - Alert message notification broadcasting
15
+ * - Thread-based notification management
16
+ * - Real-time push notification integration
17
+ * - Template-based notification customization
18
+ * - Channel and post-based notification routing
19
+ * - User aggregation and preference management
20
+ *
21
+ * The microservice integrates with multiple external services through Moleculer broker
22
+ * and provides comprehensive error handling and logging for notification workflows.
23
+ */
24
+ let MessengerNotificationMicroservice = class MessengerNotificationMicroservice {
2
25
  broker;
3
26
  logger;
27
+ toDispose = new DisposableCollection();
4
28
  topic = MoleculerTopics.MessengerNotificationService;
5
29
  constructor(broker, logger) {
6
30
  this.broker = broker;
@@ -9,42 +33,313 @@ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from
9
33
  className: 'MessengerNotificationMicroservice'
10
34
  });
11
35
  }
36
+ /**
37
+ * Disposes of resources used by the service
38
+ */
39
+ dispose() {
40
+ this.toDispose.dispose();
41
+ }
42
+ /**
43
+ * Calls a microservice action with proper error handling
44
+ *
45
+ * @description Protected method to handle microservice communication
46
+ *
47
+ * @param {string} command - The command to execute
48
+ * @param {P} params - Parameters for the command
49
+ * @returns {Promise<T>} - Result from microservice
50
+ */
12
51
  async callAction(command, params) {
13
52
  return this.broker.call(`${this.topic}.${command}`, params);
14
53
  }
15
- sendNotificationOfUnreadMessages(unit, value) {
16
- return this.callAction(MessengerNotificationServiceCommands.SendNotificationOfUnreadMessages, {
17
- unit,
18
- value
19
- });
54
+ /**
55
+ * Sends notification for unread messages within a specified time frame
56
+ *
57
+ * @description Aggregates unread messages across channels and sends notifications
58
+ * to users based on their preferences within the specified duration
59
+ *
60
+ * @param {NotificationDurationUnitEnum} unit - Time unit for the duration
61
+ * @param {number} value - Number of time units to look back
62
+ * @returns {Promise<boolean | Error>} - Success status or error
63
+ */
64
+ // @ts-ignore - Enhanced error handling pattern with Error union type
65
+ async sendNotificationOfUnreadMessages(unit, value) {
66
+ try {
67
+ this.logger.debug('Sending notification of unread messages via microservice', {
68
+ unit,
69
+ value
70
+ });
71
+ const result = await this.callAction(MessengerNotificationServiceCommands.SendNotificationOfUnreadMessages, {
72
+ unit,
73
+ value
74
+ });
75
+ if (typeof result !== 'boolean') {
76
+ return new Error('Invalid result from microservice');
77
+ }
78
+ this.logger.debug('Notification of unread messages sent successfully via microservice', {
79
+ unit,
80
+ value,
81
+ success: result
82
+ });
83
+ return result;
84
+ } catch (error) {
85
+ this.logger.error('Error sending notification of unread messages via microservice: %o', error);
86
+ return error instanceof Error ? error : new Error('Unknown error occurred while sending unread message notifications');
87
+ }
20
88
  }
21
- sendNotificationOnPost(post) {
22
- return this.callAction(MessengerNotificationServiceCommands.SendNotificationOnPost, {
23
- post
24
- });
89
+ /**
90
+ * Sends general notifications for a post
91
+ *
92
+ * @description Handles email and SMS notifications for posts with template support
93
+ *
94
+ * @param {IPost} post - The post that triggered the notification
95
+ * @returns {Promise<boolean | Error>} - Success status or error
96
+ */
97
+ // @ts-ignore - Enhanced error handling pattern with Error union type
98
+ async sendNotificationOnPost(post) {
99
+ try {
100
+ this.logger.debug('Sending notification on post via microservice', {
101
+ postId: post.id
102
+ });
103
+ const result = await this.callAction(MessengerNotificationServiceCommands.SendNotificationOnPost, {
104
+ post
105
+ });
106
+ if (typeof result !== 'boolean') {
107
+ return new Error('Invalid result from microservice');
108
+ }
109
+ this.logger.debug('Notification on post sent successfully via microservice', {
110
+ postId: post.id,
111
+ success: result
112
+ });
113
+ return result;
114
+ } catch (error) {
115
+ this.logger.error('Error sending notification on post via microservice: %o', error);
116
+ return error instanceof Error ? error : new Error('Unknown error occurred while sending post notification');
117
+ }
25
118
  }
26
- sendNotificationOfAlertMessages(unit, value) {
27
- return this.callAction(MessengerNotificationServiceCommands.SendNotificationOfAlertMessages, {
28
- unit,
29
- value
30
- });
119
+ /**
120
+ * Sends notifications for alert messages within a time frame
121
+ *
122
+ * @description Processes and sends notifications for alert-type messages
123
+ *
124
+ * @param {NotificationDurationUnitEnum} unit - Time unit for the duration
125
+ * @param {number} value - Number of time units to look back
126
+ * @returns {Promise<boolean | Error>} - Success status or error
127
+ */
128
+ // @ts-ignore - Enhanced error handling pattern with Error union type
129
+ async sendNotificationOfAlertMessages(unit, value) {
130
+ try {
131
+ this.logger.debug('Sending notification of alert messages via microservice', {
132
+ unit,
133
+ value
134
+ });
135
+ const result = await this.callAction(MessengerNotificationServiceCommands.SendNotificationOfAlertMessages, {
136
+ unit,
137
+ value
138
+ });
139
+ if (typeof result !== 'boolean') {
140
+ return new Error('Invalid result from microservice');
141
+ }
142
+ this.logger.debug('Notification of alert messages sent successfully via microservice', {
143
+ unit,
144
+ value,
145
+ success: result
146
+ });
147
+ return result;
148
+ } catch (error) {
149
+ this.logger.error('Error sending notification of alert messages via microservice: %o', error);
150
+ return error instanceof Error ? error : new Error('Unknown error occurred while sending alert notifications');
151
+ }
31
152
  }
32
- sendPushNotificationsExpo(data) {
33
- return this.callAction(MessengerNotificationServiceCommands.SendPushNotificationsExpo, {
34
- data
35
- });
153
+ /**
154
+ * Sends Expo push notifications
155
+ *
156
+ * @description Sends push notifications through the Expo notification service
157
+ *
158
+ * @param {IExpoNotificationData} data - Notification data
159
+ * @returns {Promise<IExpoNotification | Error>} - Notification result or error
160
+ */
161
+ async sendPushNotificationsExpo(data) {
162
+ try {
163
+ this.logger.debug('Sending Expo push notifications via microservice', {
164
+ recipients: Array.isArray(data.to) ? data.to.length : 1,
165
+ hasTitle: !!data.title,
166
+ hasBody: !!data.body
167
+ });
168
+ const result = await this.callAction(MessengerNotificationServiceCommands.SendPushNotificationsExpo, {
169
+ data
170
+ });
171
+ if (!result) {
172
+ return new Error('Failed to send Expo notification');
173
+ }
174
+ this.logger.debug('Expo push notifications sent successfully via microservice', {
175
+ status: result.status,
176
+ id: result.id
177
+ });
178
+ return result;
179
+ } catch (error) {
180
+ this.logger.error('Error sending Expo push notifications via microservice: %o', error);
181
+ return error instanceof Error ? error : new Error('Unknown error occurred while sending Expo notification');
182
+ }
36
183
  }
37
- sendExpoNotificationOnPost(post, notificationData) {
38
- return this.callAction(MessengerNotificationServiceCommands.SendExpoNotificationOnPost, {
39
- post,
40
- notificationData
41
- });
184
+ /**
185
+ * Sends Expo notification when a post is created
186
+ *
187
+ * @description Handles push notification logic for new posts with thread and channel support
188
+ *
189
+ * @param {IPost} post - The post that triggered the notification
190
+ * @param {IExpoNotificationBodyData} notificationData - Optional notification data override
191
+ * @returns {Promise<boolean | Error>} - Success status or error
192
+ */
193
+ // @ts-ignore - Enhanced error handling pattern with Error union type
194
+ async sendExpoNotificationOnPost(post, notificationData) {
195
+ try {
196
+ this.logger.debug('Sending Expo notification on post via microservice', {
197
+ postId: post.id,
198
+ channelId: post.channel,
199
+ hasNotificationData: !!notificationData
200
+ });
201
+ const result = await this.callAction(MessengerNotificationServiceCommands.SendExpoNotificationOnPost, {
202
+ post,
203
+ notificationData
204
+ });
205
+ if (typeof result !== 'boolean') {
206
+ return new Error('Invalid result from microservice');
207
+ }
208
+ this.logger.debug('Expo notification on post sent successfully via microservice', {
209
+ postId: post.id,
210
+ success: result
211
+ });
212
+ return result;
213
+ } catch (error) {
214
+ this.logger.error('Error sending Expo notification on post via microservice: %o', error);
215
+ return error instanceof Error ? error : new Error('Unknown error occurred while sending post notification');
216
+ }
42
217
  }
43
- sendNotificationOfUnreadServiceMessages(unit, value) {
44
- return this.callAction(MessengerNotificationServiceCommands.SendNotificationOfUnreadServiceMessages, {
45
- unit,
46
- value
47
- });
218
+ /**
219
+ * Sends notifications for unread service messages
220
+ *
221
+ * @description Handles notifications for support service channels
222
+ *
223
+ * @param {NotificationDurationUnitEnum} unit - Time unit for the duration
224
+ * @param {number} value - Number of time units to look back
225
+ * @returns {Promise<boolean | Error>} - Success status or error
226
+ */
227
+ // @ts-ignore - Enhanced error handling pattern with Error union type
228
+ async sendNotificationOfUnreadServiceMessages(unit, value) {
229
+ try {
230
+ this.logger.debug('Sending notification of unread service messages via microservice', {
231
+ unit,
232
+ value
233
+ });
234
+ const result = await this.callAction(MessengerNotificationServiceCommands.SendNotificationOfUnreadServiceMessages, {
235
+ unit,
236
+ value
237
+ });
238
+ if (typeof result !== 'boolean') {
239
+ return new Error('Invalid result from microservice');
240
+ }
241
+ this.logger.debug('Notification of unread service messages sent successfully via microservice', {
242
+ unit,
243
+ value,
244
+ success: result
245
+ });
246
+ return result;
247
+ } catch (error) {
248
+ this.logger.error('Error sending notification of unread service messages via microservice: %o', error);
249
+ return error instanceof Error ? error : new Error('Unknown error occurred while sending service notifications');
250
+ }
251
+ }
252
+ /**
253
+ * Sets the support service configuration
254
+ *
255
+ * @description Updates the support service notification configuration for customized notifications
256
+ *
257
+ * @param {ISupportServiceConfig} config - Support service configuration
258
+ * @returns {Promise<void | Error>} - Void promise or error
259
+ */
260
+ // @ts-ignore - Enhanced error handling pattern with Error union type
261
+ async setSupportServiceConfig(config) {
262
+ try {
263
+ this.logger.debug('Setting support service config via microservice', {
264
+ hasEmail: !!config?.email,
265
+ hasTemplateId: !!config?.templateId,
266
+ hasVariables: !!config?.variables
267
+ });
268
+ await this.callAction(MessengerNotificationServiceCommands.SetSupportServiceConfig, {
269
+ config
270
+ });
271
+ this.logger.debug('Support service config set successfully via microservice');
272
+ } catch (error) {
273
+ this.logger.error('Error setting support service config via microservice: %o', error);
274
+ return error instanceof Error ? error : new Error('Unknown error occurred while setting support service config');
275
+ }
276
+ }
277
+ /**
278
+ * Validates notification data
279
+ *
280
+ * @description Helper method to validate notification data before processing
281
+ *
282
+ * @param {any} data - Data to validate
283
+ * @returns {Promise<boolean | Error>} - Validation result or error
284
+ */
285
+ async validateNotificationData(data) {
286
+ try {
287
+ if (!data) {
288
+ return new Error('Notification data is required');
289
+ }
290
+ // Basic validation logic
291
+ if (data.type === 'email' && !data.email) {
292
+ return new Error('Email is required for email notifications');
293
+ }
294
+ if (data.type === 'sms' && !data.phoneNumber) {
295
+ return new Error('Phone number is required for SMS notifications');
296
+ }
297
+ if (data.type === 'expo' && !data.to) {
298
+ return new Error('Recipients are required for Expo notifications');
299
+ }
300
+ this.logger.debug('Notification data validation passed', {
301
+ type: data.type
302
+ });
303
+ return true;
304
+ } catch (error) {
305
+ this.logger.error('Error validating notification data: %o', error);
306
+ return error instanceof Error ? error : new Error('Unknown error occurred while validating notification data');
307
+ }
308
+ }
309
+ /**
310
+ * Gets notification statistics
311
+ *
312
+ * @description Convenience method to get notification delivery statistics
313
+ *
314
+ * @param {string} userId - The user identifier (optional)
315
+ * @param {Date} startDate - Start date for statistics
316
+ * @param {Date} endDate - End date for statistics
317
+ * @returns {Promise<any | Error>} - Notification statistics or error
318
+ */
319
+ async getNotificationStatistics(userId, startDate, endDate) {
320
+ try {
321
+ this.logger.debug('Getting notification statistics via microservice', {
322
+ userId,
323
+ startDate: startDate?.toISOString(),
324
+ endDate: endDate?.toISOString()
325
+ });
326
+ const result = await this.broker.call(`${this.topic}.getNotificationStatistics`, {
327
+ userId,
328
+ startDate,
329
+ endDate
330
+ });
331
+ if (!result) {
332
+ return new Error('Failed to get notification statistics');
333
+ }
334
+ this.logger.debug('Notification statistics retrieved successfully via microservice', {
335
+ userId,
336
+ hasStats: !!result
337
+ });
338
+ return result;
339
+ } catch (error) {
340
+ this.logger.error('Error getting notification statistics via microservice: %o', error);
341
+ return error instanceof Error ? error : new Error('Unknown error occurred while getting notification statistics');
342
+ }
48
343
  }
49
344
  };
50
345
  MessengerNotificationMicroservice = __decorate([injectable(), __param(0, inject(CommonType.MOLECULER_BROKER)), __param(1, inject('Logger')), __metadata("design:paramtypes", [ServiceBroker, Object])], MessengerNotificationMicroservice);export{MessengerNotificationMicroservice};//# sourceMappingURL=messenger-notification-microservice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messenger-notification-microservice.js","sources":["../../../src/services/proxy-services/messenger-notification-microservice.ts"],"sourcesContent":[null],"names":[],"mappings":"iRAgBa,IAAA,iCAAiC,GAAvC,MAAM,iCAAiC,CAAA;AAKrB,EAAA,MAAA;AAEA,EAAA,MAAA;AANrB,EAAA,KAAA,GAAQ,eAAA,CAAA,4BAAgB;aAIH,CAAA,MAAA,EAAqB,MAEI,EAAA;QAFzB,CAAM,MAAA,GAAA;QAEN,CAAM,MAAA,GAAA;AAEvB,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;AAES,KAAA,CAAA;AACN;QACH,UAAA,CAAA,OAAA,EAAA,MAAA,EAAA;IAED,OAAgC,IAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,EAAA,IAAA,CAAA,KAAmC,CAAA,CAAE,EAAa,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA;AAC9E;kCACQ,CAAA,IAAA,EAAA,KAAA,EAAA;eACC,CAAA,UAAA,CAAA,oCAAA,CAAA,gCAAA,EAAA;AACR,MAAA,IAAC;MACL;AAED,KAAA,CAAA;AACI;wBACQ,CAAA,IAAA,EAAA;AACP,IAAA,OAAE,IAAA,CAAA,UAAA,CAAA,oCAAA,CAAA,sBAAA,EAAA;MACN;KAE8B,CAAA;AAC3B;iCACQ,CAAA,IAAA,EAAA,KAAA,EAAA;eACC,CAAA,UAAA,CAAA,oCAAA,CAAA,+BAAA,EAAA;AACR,MAAA,IAAC;MACL;AAED,KAAA,CAAA;AACI;2BACQ,CAAA,IAAA,EAAA;AACP,IAAA,OAAE,IAAA,CAAA,UAAA,CAAA,oCAAA,CAAA,yBAAA,EAAA;MACN;KAEyB,CAAA;AACtB;4BACQ,CAAA,IAAA,EAAA,gBAAA,EAAA;eACY,CAAA,UAAA,CAAA,oCAAA,CAAA,0BAAA,EAAA;AACnB,MAAA,IAAC;MACL;KAEsC,CAAA;AACnC;yCACQ,CAAA,IAAA,EAAA,KAAA,EAAA;eACC,CAAA,UAAA,CAAA,oCAAA,CAAA,uCAAA,EAAA;AACR,MAAA,IAAC;MACL;KACJ,CAAA;AAvDY;AADZ;AAKQ,iCAAkB,GAAA,UAAA,CAAA,CAAA,UAAiB,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,aAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,iCAAA,CAAA"}
1
+ {"version":3,"file":"messenger-notification-microservice.js","sources":["../../../src/services/proxy-services/messenger-notification-microservice.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}