@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.
Files changed (202) hide show
  1. package/lib/config/env-config.d.ts +7 -0
  2. package/lib/config/env-config.js +20 -0
  3. package/lib/config/env-config.js.map +1 -1
  4. package/lib/containers/containers.js +9 -1
  5. package/lib/containers/containers.js.map +1 -1
  6. package/lib/containers/context-services-from-container.d.ts +1 -1
  7. package/lib/containers/context-services-from-container.js +4 -2
  8. package/lib/containers/context-services-from-container.js.map +1 -1
  9. package/lib/graphql/resolvers/ai-fragment.d.ts +3 -0
  10. package/lib/graphql/resolvers/ai-fragment.js +276 -0
  11. package/lib/graphql/resolvers/ai-fragment.js.map +1 -0
  12. package/lib/graphql/resolvers/channel-member.d.ts +3 -2
  13. package/lib/graphql/resolvers/channel-member.js +30 -5
  14. package/lib/graphql/resolvers/channel-member.js.map +1 -1
  15. package/lib/graphql/resolvers/channel.d.ts +3 -2
  16. package/lib/graphql/resolvers/channel.js +308 -53
  17. package/lib/graphql/resolvers/channel.js.map +1 -1
  18. package/lib/graphql/resolvers/extended-token-account.d.ts +3 -2
  19. package/lib/graphql/resolvers/extended-token-account.js +90 -23
  20. package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
  21. package/lib/graphql/resolvers/index.d.ts +1 -1
  22. package/lib/graphql/resolvers/index.js +1 -1
  23. package/lib/graphql/resolvers/index.js.map +1 -1
  24. package/lib/graphql/resolvers/post-thread.d.ts +1 -1
  25. package/lib/graphql/resolvers/post-thread.js +294 -132
  26. package/lib/graphql/resolvers/post-thread.js.map +1 -1
  27. package/lib/graphql/resolvers/post.d.ts +2 -3
  28. package/lib/graphql/resolvers/post.js +874 -239
  29. package/lib/graphql/resolvers/post.js.map +1 -1
  30. package/lib/graphql/resolvers/reaction.d.ts +3 -2
  31. package/lib/graphql/resolvers/reaction.js +96 -14
  32. package/lib/graphql/resolvers/reaction.js.map +1 -1
  33. package/lib/graphql/schema/ai-fragment.graphql +311 -0
  34. package/lib/graphql/schema/ai-fragment.graphql.js +1 -0
  35. package/lib/graphql/schema/ai-fragment.graphql.js.map +1 -0
  36. package/lib/graphql/schema/channel-member.graphql +110 -21
  37. package/lib/graphql/schema/channel-member.graphql.js +1 -1
  38. package/lib/graphql/schema/channel.graphql +356 -38
  39. package/lib/graphql/schema/channel.graphql.js +1 -1
  40. package/lib/graphql/schema/index.js +2 -2
  41. package/lib/graphql/schema/index.js.map +1 -1
  42. package/lib/graphql/schema/post-thread.graphql +167 -21
  43. package/lib/graphql/schema/post-thread.graphql.js +1 -1
  44. package/lib/graphql/schema/post.graphql +360 -40
  45. package/lib/graphql/schema/post.graphql.js +1 -1
  46. package/lib/graphql/schema/reaction.graphql +71 -13
  47. package/lib/graphql/schema/reaction.graphql.js +1 -1
  48. package/lib/graphql/schema/services.graphql +21 -0
  49. package/lib/graphql/schema/users.graphql +76 -13
  50. package/lib/graphql/schema/users.graphql.js +1 -1
  51. package/lib/index.js +1 -1
  52. package/lib/index.js.map +1 -1
  53. package/lib/inngest/factory.d.ts +20 -0
  54. package/lib/inngest/factory.js +4 -0
  55. package/lib/inngest/factory.js.map +1 -0
  56. package/lib/inngest/functions.d.ts +235 -0
  57. package/lib/inngest/functions.js +1385 -0
  58. package/lib/inngest/functions.js.map +1 -0
  59. package/lib/inngest/index.d.ts +3 -0
  60. package/lib/inngest/prompt.d.ts +6 -0
  61. package/lib/inngest/prompt.js +871 -0
  62. package/lib/inngest/prompt.js.map +1 -0
  63. package/lib/inngest/utils.d.ts +5 -0
  64. package/lib/inngest/utils.js +32 -0
  65. package/lib/inngest/utils.js.map +1 -0
  66. package/lib/interfaces/index.d.ts +0 -1
  67. package/lib/interfaces/services.d.ts +1 -1
  68. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.d.ts +17 -0
  69. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js +44 -0
  70. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js.map +1 -0
  71. package/lib/migrations/dbMigrations/index.d.ts +1 -0
  72. package/lib/migrations/index.d.ts +1 -0
  73. package/lib/migrations/mail-template-migration.js +1 -1
  74. package/lib/migrations/message-notification-template-migration.d.ts +1 -1
  75. package/lib/migrations/message-notification-template-migration.js +1 -1
  76. package/lib/module.js +10 -3
  77. package/lib/module.js.map +1 -1
  78. package/lib/plugins/ai-fragment-moleculer-service.d.ts +29 -0
  79. package/lib/plugins/ai-fragment-moleculer-service.js +516 -0
  80. package/lib/plugins/ai-fragment-moleculer-service.js.map +1 -0
  81. package/lib/plugins/channel-moleculer-service.d.ts +21 -1
  82. package/lib/plugins/channel-moleculer-service.js +426 -115
  83. package/lib/plugins/channel-moleculer-service.js.map +1 -1
  84. package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
  85. package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
  86. package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
  87. package/lib/plugins/index.d.ts +1 -0
  88. package/lib/plugins/messenger-notification-moleculer-service.d.ts +27 -3
  89. package/lib/plugins/messenger-notification-moleculer-service.js +404 -58
  90. package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
  91. package/lib/plugins/post-moleculer-service.d.ts +85 -21
  92. package/lib/plugins/post-moleculer-service.js +1102 -256
  93. package/lib/plugins/post-moleculer-service.js.map +1 -1
  94. package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
  95. package/lib/plugins/post-thread-moleculer-service.js +326 -8
  96. package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
  97. package/lib/plugins/reaction-moleculer-service.js +1 -1
  98. package/lib/plugins/reaction-moleculer-service.js.map +1 -1
  99. package/lib/preferences/settings/post-settings.d.ts +2 -0
  100. package/lib/preferences/settings/post-settings.js +47 -9
  101. package/lib/preferences/settings/post-settings.js.map +1 -1
  102. package/lib/services/ai-fragment-service.d.ts +195 -0
  103. package/lib/services/ai-fragment-service.js +631 -0
  104. package/lib/services/ai-fragment-service.js.map +1 -0
  105. package/lib/services/channel-service.d.ts +181 -33
  106. package/lib/services/channel-service.js +842 -273
  107. package/lib/services/channel-service.js.map +1 -1
  108. package/lib/services/extended-token-account-service.d.ts +130 -14
  109. package/lib/services/extended-token-account-service.js +462 -52
  110. package/lib/services/extended-token-account-service.js.map +1 -1
  111. package/lib/services/index.d.ts +3 -0
  112. package/lib/services/messenger-notification-service.d.ts +106 -13
  113. package/lib/services/messenger-notification-service.js +824 -442
  114. package/lib/services/messenger-notification-service.js.map +1 -1
  115. package/lib/services/post-service.d.ts +189 -16
  116. package/lib/services/post-service.js +949 -113
  117. package/lib/services/post-service.js.map +1 -1
  118. package/lib/services/post-thread-service.d.ts +114 -5
  119. package/lib/services/post-thread-service.js +400 -13
  120. package/lib/services/post-thread-service.js.map +1 -1
  121. package/lib/services/proxy-services/ai-fragment-microservice.d.ts +23 -0
  122. package/lib/services/proxy-services/ai-fragment-microservice.js +78 -0
  123. package/lib/services/proxy-services/ai-fragment-microservice.js.map +1 -0
  124. package/lib/services/proxy-services/channel-microservice.d.ts +6 -3
  125. package/lib/services/proxy-services/channel-microservice.js +25 -10
  126. package/lib/services/proxy-services/channel-microservice.js.map +1 -1
  127. package/lib/services/proxy-services/index.d.ts +1 -0
  128. package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
  129. package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
  130. package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
  131. package/lib/services/proxy-services/post-microservice.d.ts +207 -12
  132. package/lib/services/proxy-services/post-microservice.js +623 -54
  133. package/lib/services/proxy-services/post-microservice.js.map +1 -1
  134. package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -3
  135. package/lib/services/proxy-services/post-thread-microservice.js +388 -6
  136. package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
  137. package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
  138. package/lib/services/proxy-services/reaction-microservice.js +474 -2
  139. package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
  140. package/lib/services/reaction-service.d.ts +124 -4
  141. package/lib/services/reaction-service.js +415 -3
  142. package/lib/services/reaction-service.js.map +1 -1
  143. package/lib/services/redis-cache-manager.d.ts +18 -0
  144. package/lib/services/redis-cache-manager.js +83 -0
  145. package/lib/services/redis-cache-manager.js.map +1 -0
  146. package/lib/services/sandbox-error-service.d.ts +23 -0
  147. package/lib/services/sandbox-error-service.js +422 -0
  148. package/lib/services/sandbox-error-service.js.map +1 -0
  149. package/lib/store/models/account-token-store.d.ts +1 -1
  150. package/lib/store/models/account-token-store.js.map +1 -1
  151. package/lib/store/models/ai-fragment.d.ts +4 -0
  152. package/lib/store/models/ai-fragment.js +125 -0
  153. package/lib/store/models/ai-fragment.js.map +1 -0
  154. package/lib/store/models/channel.d.ts +2 -3
  155. package/lib/store/models/channel.js +185 -71
  156. package/lib/store/models/channel.js.map +1 -1
  157. package/lib/store/models/index.d.ts +1 -0
  158. package/lib/store/models/post-thread.d.ts +3 -3
  159. package/lib/store/models/post-thread.js +96 -14
  160. package/lib/store/models/post-thread.js.map +1 -1
  161. package/lib/store/models/post.d.ts +2 -3
  162. package/lib/store/models/post.js +143 -23
  163. package/lib/store/models/post.js.map +1 -1
  164. package/lib/store/models/reaction.d.ts +2 -3
  165. package/lib/store/models/reaction.js +67 -8
  166. package/lib/store/models/reaction.js.map +1 -1
  167. package/lib/store/repositories/__tests__/__fixtures__/team-repository.d.ts +3 -3
  168. package/lib/store/repositories/ai-fragment-repository.d.ts +15 -0
  169. package/lib/store/repositories/ai-fragment-repository.js +69 -0
  170. package/lib/store/repositories/ai-fragment-repository.js.map +1 -0
  171. package/lib/store/repositories/channel-repository.d.ts +6 -6
  172. package/lib/store/repositories/channel-repository.js +5 -2
  173. package/lib/store/repositories/channel-repository.js.map +1 -1
  174. package/lib/store/repositories/index.d.ts +1 -0
  175. package/lib/store/repositories/post-repository.d.ts +6 -6
  176. package/lib/store/repositories/post-repository.js +5 -2
  177. package/lib/store/repositories/post-repository.js.map +1 -1
  178. package/lib/store/repositories/post-thread-repository.d.ts +6 -6
  179. package/lib/store/repositories/post-thread-repository.js +5 -2
  180. package/lib/store/repositories/post-thread-repository.js.map +1 -1
  181. package/lib/store/repositories/reaction-repository.d.ts +6 -6
  182. package/lib/store/repositories/reaction-repository.js +5 -2
  183. package/lib/store/repositories/reaction-repository.js.map +1 -1
  184. package/lib/templates/constants/SERVER_TYPES.ts.template +4 -4
  185. package/lib/templates/repositories/AiFragmentRepository.ts.template +4 -0
  186. package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
  187. package/lib/templates/repositories/PostRepository.ts.template +3 -3
  188. package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
  189. package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
  190. package/lib/templates/services/AiFragmentService.ts.template +123 -0
  191. package/lib/templates/services/ChannelService.ts.template +290 -39
  192. package/lib/templates/services/ExtendedTokenAccountService.ts.template +104 -9
  193. package/lib/templates/services/MessengerNotificationService.ts.template +94 -19
  194. package/lib/templates/services/PostService.ts.template +265 -20
  195. package/lib/templates/services/PostThreadService.ts.template +151 -6
  196. package/lib/templates/services/ReactionService.ts.template +129 -3
  197. package/lib/templates/services/RedisCacheManager.ts.template +22 -0
  198. package/lib/templates/services/SandboxErrorService.ts.template +125 -0
  199. package/package.json +14 -7
  200. package/lib/interfaces/context.d.ts +0 -14
  201. package/lib/store/models/common-options.js +0 -20
  202. package/lib/store/models/common-options.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"post-service.js","sources":["../../src/services/post-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-service.js","sources":["../../src/services/post-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,12 +1,121 @@
1
1
  import { CdmLogger } from '@cdm-logger/core';
2
- import { IPostThread, IPostThreadRepository, IPostThreadServiceInput, IPostThreadService } from 'common';
3
- import { BaseService } from '@common-stack/store-mongo';
2
+ import { IPostThreadModel, IPostThreadRepository, IPostThreadServiceInput, IPostThreadService, AsDomainType } from 'common/server';
3
+ import { BaseService2 } from '@common-stack/store-mongo';
4
4
  import { ServiceBroker } from 'moleculer';
5
- export declare class PostThreadService extends BaseService<IPostThread> implements IPostThreadService {
5
+ import { Disposable, DisposableCollection } from '@adminide-stack/core';
6
+ /**
7
+ * Post Thread Service Implementation
8
+ *
9
+ * This service handles post thread management within the messenger platform,
10
+ * providing comprehensive operations for handling threaded conversations,
11
+ * reply management, and discussion organization across different channels
12
+ * and messaging contexts.
13
+ */
14
+ export declare class PostThreadService extends BaseService2<IPostThreadModel> implements IPostThreadService, Disposable {
6
15
  readonly repository: IPostThreadRepository;
7
16
  private readonly broker;
17
+ protected readonly toDispose: DisposableCollection;
8
18
  private logger;
9
19
  constructor(repository: IPostThreadRepository, broker: ServiceBroker, logger: CdmLogger.ILogger);
10
- create(data: IPostThreadServiceInput): Promise<IPostThread>;
11
- getPostThread(data: any): Promise<IPostThread>;
20
+ /**
21
+ * Disposes of resources used by the service
22
+ */
23
+ dispose(): void;
24
+ /**
25
+ * Creates a new post thread
26
+ *
27
+ * @description Creates a post thread with proper validation and error handling
28
+ *
29
+ * @param {IPostThreadServiceInput} data - Thread creation data
30
+ * @returns {Promise<AsDomainType<IPostThreadModel> | Error>} - Created thread or error
31
+ */
32
+ create(data: IPostThreadServiceInput): Promise<AsDomainType<IPostThreadModel> | Error>;
33
+ /**
34
+ * Retrieves a specific post thread with its metadata
35
+ *
36
+ * @description Fetches a complete post thread including all replies,
37
+ * participant information, and thread statistics for display and interaction.
38
+ *
39
+ * @param {any} data - Thread query parameters and filters
40
+ * @returns {Promise<AsDomainType<IPostThreadModel> | Error>} - Post thread data or error
41
+ */
42
+ getPostThread(data: any): Promise<AsDomainType<IPostThreadModel> | Error>;
43
+ /**
44
+ * Retrieves the total count of posts within a thread
45
+ *
46
+ * @description Calculates and returns the number of posts/replies
47
+ * within a specific thread for pagination and display purposes.
48
+ *
49
+ * @param {any} data - Thread identification and counting parameters
50
+ * @returns {Promise<number | Error>} - Thread post count or error
51
+ */
52
+ getPostThreadCount(data: any): Promise<number | Error>;
53
+ /**
54
+ * Gets threads by post ID
55
+ *
56
+ * @description Retrieves all threads associated with a specific post
57
+ *
58
+ * @param {string} postId - The post identifier
59
+ * @returns {Promise<Array<AsDomainType<IPostThreadModel>> | Error>} - Array of threads or error
60
+ */
61
+ getThreadsByPost(postId: string): Promise<Array<AsDomainType<IPostThreadModel>> | Error>;
62
+ /**
63
+ * Gets threads by channel with pagination
64
+ *
65
+ * @description Retrieves threads associated with a channel
66
+ *
67
+ * @param {string} channelId - The channel identifier
68
+ * @param {number} [limit=50] - Maximum number of threads to return
69
+ * @param {number} [offset=0] - Number of threads to skip
70
+ * @returns {Promise<Array<AsDomainType<IPostThreadModel>> | Error>} - Array of threads or error
71
+ */
72
+ getThreadsByChannel(channelId: string, limit?: number, offset?: number): Promise<Array<AsDomainType<IPostThreadModel>> | Error>;
73
+ /**
74
+ * Updates a post thread
75
+ *
76
+ * @description Updates thread metadata and properties
77
+ *
78
+ * @param {string} threadId - The thread identifier
79
+ * @param {Partial<IPostThreadServiceInput>} updates - Update data
80
+ * @returns {Promise<AsDomainType<IPostThreadModel> | Error>} - Updated thread or error
81
+ */
82
+ updateThread(threadId: string, updates: Partial<IPostThreadServiceInput>): Promise<AsDomainType<IPostThreadModel> | Error>;
83
+ /**
84
+ * Deletes a post thread
85
+ *
86
+ * @description Soft deletes a thread and its associated data
87
+ *
88
+ * @param {string} threadId - The thread identifier
89
+ * @returns {Promise<boolean | Error>} - Success status or error
90
+ */
91
+ deleteThread(threadId: string): Promise<boolean | Error>;
92
+ /**
93
+ * Gets thread participants
94
+ *
95
+ * @description Retrieves all participants in a thread
96
+ *
97
+ * @param {string} threadId - The thread identifier
98
+ * @returns {Promise<Array<string> | Error>} - Array of participant IDs or error
99
+ */
100
+ getThreadParticipants(threadId: string): Promise<Array<string> | Error>;
101
+ /**
102
+ * Adds a participant to a thread
103
+ *
104
+ * @description Adds a user to thread participants
105
+ *
106
+ * @param {string} threadId - The thread identifier
107
+ * @param {string} userId - The user identifier to add
108
+ * @returns {Promise<boolean | Error>} - Success status or error
109
+ */
110
+ addParticipant(threadId: string, userId: string): Promise<boolean | Error>;
111
+ /**
112
+ * Removes a participant from a thread
113
+ *
114
+ * @description Removes a user from thread participants
115
+ *
116
+ * @param {string} threadId - The thread identifier
117
+ * @param {string} userId - The user identifier to remove
118
+ * @returns {Promise<boolean | Error>} - Success status or error
119
+ */
120
+ removeParticipant(threadId: string, userId: string): Promise<boolean | Error>;
12
121
  }
@@ -1,7 +1,16 @@
1
- import {__decorate,__param,__metadata}from'tslib';import'@cdm-logger/core';import {SERVER_TYPES}from'common';import {injectable,inject}from'inversify';import {BaseService}from'@common-stack/store-mongo';import {CommonType}from'@common-stack/core';import {ServiceBroker}from'moleculer';var PostThreadService_1;
2
- let PostThreadService = PostThreadService_1 = class PostThreadService extends BaseService {
1
+ import {__decorate,__param,__metadata}from'tslib';import'@cdm-logger/core';import {SERVER_TYPES,SortEnum}from'common/server';import {injectable,inject}from'inversify';import {BaseService2}from'@common-stack/store-mongo';import {CommonType}from'@common-stack/core';import {ServiceBroker}from'moleculer';import {DisposableCollection}from'@adminide-stack/core';var PostThreadService_1;
2
+ /**
3
+ * Post Thread Service Implementation
4
+ *
5
+ * This service handles post thread management within the messenger platform,
6
+ * providing comprehensive operations for handling threaded conversations,
7
+ * reply management, and discussion organization across different channels
8
+ * and messaging contexts.
9
+ */
10
+ let PostThreadService = PostThreadService_1 = class PostThreadService extends BaseService2 {
3
11
  repository;
4
12
  broker;
13
+ toDispose = new DisposableCollection();
5
14
  logger;
6
15
  constructor(repository, broker, logger) {
7
16
  super(repository);
@@ -11,19 +20,397 @@ let PostThreadService = PostThreadService_1 = class PostThreadService extends Ba
11
20
  className: PostThreadService_1.name
12
21
  });
13
22
  }
23
+ /**
24
+ * Disposes of resources used by the service
25
+ */
26
+ dispose() {
27
+ this.toDispose.dispose();
28
+ }
29
+ /**
30
+ * Creates a new post thread
31
+ *
32
+ * @description Creates a post thread with proper validation and error handling
33
+ *
34
+ * @param {IPostThreadServiceInput} data - Thread creation data
35
+ * @returns {Promise<AsDomainType<IPostThreadModel> | Error>} - Created thread or error
36
+ */
37
+ // @ts-ignore - Type compatibility issue between interface and implementation
14
38
  async create(data) {
15
- const postThread = await super.create(data);
16
- return postThread;
39
+ try {
40
+ if (!data) {
41
+ return new Error('Thread data is required');
42
+ }
43
+ // Validate required fields
44
+ if (!data.post) {
45
+ return new Error('Post reference is required for thread creation');
46
+ }
47
+ // Create the thread with proper type handling
48
+ const threadData = {
49
+ ...data,
50
+ createdAt: new Date(),
51
+ updatedAt: new Date()
52
+ }; // Type assertion to handle ObjectId conversion
53
+ const postThread = await this.repository.create(threadData);
54
+ if (!postThread) {
55
+ return new Error('Failed to create post thread');
56
+ }
57
+ this.logger.debug('Post thread created successfully', {
58
+ threadId: postThread.id,
59
+ postId: data.post
60
+ });
61
+ return postThread;
62
+ } catch (error) {
63
+ this.logger.error('Error creating post thread: %o', error);
64
+ return error instanceof Error ? error : new Error('Unknown error occurred while creating thread');
65
+ }
17
66
  }
67
+ /**
68
+ * Retrieves a specific post thread with its metadata
69
+ *
70
+ * @description Fetches a complete post thread including all replies,
71
+ * participant information, and thread statistics for display and interaction.
72
+ *
73
+ * @param {any} data - Thread query parameters and filters
74
+ * @returns {Promise<AsDomainType<IPostThreadModel> | Error>} - Post thread data or error
75
+ */
76
+ // @ts-ignore - Type compatibility issue between interface and implementation
18
77
  async getPostThread(data) {
19
- const {
20
- channel
21
- } = data;
22
- // Accessing private property
23
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
24
- // @ts-ignore
25
- const postThread = await this.repository.model.findOne(data);
26
- return postThread;
78
+ try {
79
+ if (!data) {
80
+ return new Error('Query data is required');
81
+ }
82
+ this.logger.debug('Getting post thread with data', {
83
+ data
84
+ });
85
+ // Use the repository's get method instead of direct model access
86
+ let postThread;
87
+ if (data.id) {
88
+ // Get by ID
89
+ postThread = await this.get(data.id);
90
+ } else {
91
+ // Get by criteria
92
+ const threads = await this.getAll({
93
+ criteria: data
94
+ });
95
+ if (threads.length === 0) {
96
+ return new Error('Post thread not found');
97
+ }
98
+ postThread = threads[0];
99
+ }
100
+ if (!postThread) {
101
+ return new Error('Post thread not found');
102
+ }
103
+ this.logger.debug('Post thread retrieved successfully', {
104
+ threadId: postThread.id
105
+ });
106
+ return postThread;
107
+ } catch (error) {
108
+ this.logger.error('Error getting post thread: %o', error);
109
+ return error instanceof Error ? error : new Error('Unknown error occurred while getting thread');
110
+ }
111
+ }
112
+ /**
113
+ * Retrieves the total count of posts within a thread
114
+ *
115
+ * @description Calculates and returns the number of posts/replies
116
+ * within a specific thread for pagination and display purposes.
117
+ *
118
+ * @param {any} data - Thread identification and counting parameters
119
+ * @returns {Promise<number | Error>} - Thread post count or error
120
+ */
121
+ // @ts-ignore - Type compatibility issue between interface and implementation
122
+ async getPostThreadCount(data) {
123
+ try {
124
+ if (!data) {
125
+ return new Error('Query data is required');
126
+ }
127
+ this.logger.debug('Getting post thread count with data', {
128
+ data
129
+ });
130
+ // Use the repository's count method instead of direct model access
131
+ let count;
132
+ if (data.threadId) {
133
+ // Count posts in a specific thread
134
+ count = await this.count({
135
+ threadId: data.threadId
136
+ });
137
+ } else if (data.participants) {
138
+ // Count by participants criteria
139
+ count = await this.count({
140
+ participants: data.participants
141
+ });
142
+ } else {
143
+ // General count with provided criteria
144
+ count = await this.count(data);
145
+ }
146
+ this.logger.debug('Post thread count retrieved successfully', {
147
+ count,
148
+ criteria: data
149
+ });
150
+ return count;
151
+ } catch (error) {
152
+ this.logger.error('Error getting post thread count: %o', error);
153
+ return error instanceof Error ? error : new Error('Unknown error occurred while counting threads');
154
+ }
155
+ }
156
+ /**
157
+ * Gets threads by post ID
158
+ *
159
+ * @description Retrieves all threads associated with a specific post
160
+ *
161
+ * @param {string} postId - The post identifier
162
+ * @returns {Promise<Array<AsDomainType<IPostThreadModel>> | Error>} - Array of threads or error
163
+ */
164
+ async getThreadsByPost(postId) {
165
+ try {
166
+ if (!postId) {
167
+ return new Error('Post ID is required');
168
+ }
169
+ const threads = await this.getAll({
170
+ criteria: {
171
+ post: postId
172
+ }
173
+ });
174
+ this.logger.debug('Retrieved threads by post', {
175
+ postId,
176
+ count: threads.length
177
+ });
178
+ return threads;
179
+ } catch (error) {
180
+ this.logger.error('Error getting threads by post: %o', error);
181
+ return error instanceof Error ? error : new Error('Unknown error occurred while getting threads by post');
182
+ }
183
+ }
184
+ /**
185
+ * Gets threads by channel with pagination
186
+ *
187
+ * @description Retrieves threads associated with a channel
188
+ *
189
+ * @param {string} channelId - The channel identifier
190
+ * @param {number} [limit=50] - Maximum number of threads to return
191
+ * @param {number} [offset=0] - Number of threads to skip
192
+ * @returns {Promise<Array<AsDomainType<IPostThreadModel>> | Error>} - Array of threads or error
193
+ */
194
+ async getThreadsByChannel(channelId, limit = 50, offset = 0) {
195
+ try {
196
+ if (!channelId) {
197
+ return new Error('Channel ID is required');
198
+ }
199
+ const threads = await this.getAll({
200
+ criteria: {
201
+ channel: channelId
202
+ },
203
+ sort: {
204
+ key: 'updatedAt',
205
+ value: SortEnum.Desc
206
+ },
207
+ skip: offset,
208
+ limit
209
+ });
210
+ this.logger.debug('Retrieved threads by channel', {
211
+ channelId,
212
+ count: threads.length,
213
+ limit,
214
+ offset
215
+ });
216
+ return threads;
217
+ } catch (error) {
218
+ this.logger.error('Error getting threads by channel: %o', error);
219
+ return error instanceof Error ? error : new Error('Unknown error occurred while getting threads by channel');
220
+ }
221
+ }
222
+ /**
223
+ * Updates a post thread
224
+ *
225
+ * @description Updates thread metadata and properties
226
+ *
227
+ * @param {string} threadId - The thread identifier
228
+ * @param {Partial<IPostThreadServiceInput>} updates - Update data
229
+ * @returns {Promise<AsDomainType<IPostThreadModel> | Error>} - Updated thread or error
230
+ */
231
+ async updateThread(threadId, updates) {
232
+ try {
233
+ if (!threadId) {
234
+ return new Error('Thread ID is required');
235
+ }
236
+ if (!updates || Object.keys(updates).length === 0) {
237
+ return new Error('Updates are required');
238
+ }
239
+ // Get existing thread
240
+ const existingThread = await this.get(threadId);
241
+ if (!existingThread) {
242
+ return new Error('Thread not found');
243
+ }
244
+ // Prepare update data
245
+ const updateData = {
246
+ ...updates,
247
+ updatedAt: new Date()
248
+ }; // Type assertion for compatibility
249
+ // Update the thread
250
+ const updatedThread = await this.update(threadId, updateData);
251
+ if (!updatedThread) {
252
+ return new Error('Failed to update thread');
253
+ }
254
+ this.logger.debug('Thread updated successfully', {
255
+ threadId,
256
+ updates: Object.keys(updates)
257
+ });
258
+ return updatedThread;
259
+ } catch (error) {
260
+ this.logger.error('Error updating thread: %o', error);
261
+ return error instanceof Error ? error : new Error('Unknown error occurred while updating thread');
262
+ }
263
+ }
264
+ /**
265
+ * Deletes a post thread
266
+ *
267
+ * @description Soft deletes a thread and its associated data
268
+ *
269
+ * @param {string} threadId - The thread identifier
270
+ * @returns {Promise<boolean | Error>} - Success status or error
271
+ */
272
+ async deleteThread(threadId) {
273
+ try {
274
+ if (!threadId) {
275
+ return new Error('Thread ID is required');
276
+ }
277
+ // Get thread to verify it exists
278
+ const thread = await this.get(threadId);
279
+ if (!thread) {
280
+ return new Error('Thread not found');
281
+ }
282
+ // Soft delete the thread
283
+ const success = await this.repository.delete({
284
+ id: threadId
285
+ });
286
+ if (success) {
287
+ this.logger.debug('Thread deleted successfully', {
288
+ threadId
289
+ });
290
+ }
291
+ return success;
292
+ } catch (error) {
293
+ this.logger.error('Error deleting thread: %o', error);
294
+ return error instanceof Error ? error : new Error('Unknown error occurred while deleting thread');
295
+ }
296
+ }
297
+ /**
298
+ * Gets thread participants
299
+ *
300
+ * @description Retrieves all participants in a thread
301
+ *
302
+ * @param {string} threadId - The thread identifier
303
+ * @returns {Promise<Array<string> | Error>} - Array of participant IDs or error
304
+ */
305
+ async getThreadParticipants(threadId) {
306
+ try {
307
+ if (!threadId) {
308
+ return new Error('Thread ID is required');
309
+ }
310
+ const thread = await this.get(threadId);
311
+ if (!thread) {
312
+ return new Error('Thread not found');
313
+ }
314
+ // Extract participants from thread data
315
+ const participants = thread.participants || [];
316
+ this.logger.debug('Retrieved thread participants', {
317
+ threadId,
318
+ participantCount: participants.length
319
+ });
320
+ return participants;
321
+ } catch (error) {
322
+ this.logger.error('Error getting thread participants: %o', error);
323
+ return error instanceof Error ? error : new Error('Unknown error occurred while getting participants');
324
+ }
325
+ }
326
+ /**
327
+ * Adds a participant to a thread
328
+ *
329
+ * @description Adds a user to thread participants
330
+ *
331
+ * @param {string} threadId - The thread identifier
332
+ * @param {string} userId - The user identifier to add
333
+ * @returns {Promise<boolean | Error>} - Success status or error
334
+ */
335
+ async addParticipant(threadId, userId) {
336
+ try {
337
+ if (!threadId || !userId) {
338
+ return new Error('Thread ID and user ID are required');
339
+ }
340
+ const thread = await this.get(threadId);
341
+ if (!thread) {
342
+ return new Error('Thread not found');
343
+ }
344
+ // Get current participants
345
+ const participants = thread.participants || [];
346
+ // Check if user is already a participant
347
+ if (participants.includes(userId)) {
348
+ return new Error('User is already a participant');
349
+ }
350
+ // Add the new participant
351
+ participants.push(userId);
352
+ // Update the thread
353
+ const updateResult = await this.updateThread(threadId, {
354
+ participants
355
+ });
356
+ if (updateResult instanceof Error) {
357
+ return updateResult;
358
+ }
359
+ this.logger.debug('Participant added to thread', {
360
+ threadId,
361
+ userId
362
+ });
363
+ return true;
364
+ } catch (error) {
365
+ this.logger.error('Error adding participant to thread: %o', error);
366
+ return error instanceof Error ? error : new Error('Unknown error occurred while adding participant');
367
+ }
368
+ }
369
+ /**
370
+ * Removes a participant from a thread
371
+ *
372
+ * @description Removes a user from thread participants
373
+ *
374
+ * @param {string} threadId - The thread identifier
375
+ * @param {string} userId - The user identifier to remove
376
+ * @returns {Promise<boolean | Error>} - Success status or error
377
+ */
378
+ async removeParticipant(threadId, userId) {
379
+ try {
380
+ if (!threadId || !userId) {
381
+ return new Error('Thread ID and user ID are required');
382
+ }
383
+ const thread = await this.get(threadId);
384
+ if (!thread) {
385
+ return new Error('Thread not found');
386
+ }
387
+ // Get current participants
388
+ const participants = thread.participants || [];
389
+ // Check if user is a participant
390
+ const userIndex = participants.indexOf(userId);
391
+ if (userIndex === -1) {
392
+ return new Error('User is not a participant');
393
+ }
394
+ // Remove the participant
395
+ participants.splice(userIndex, 1);
396
+ // Update the thread
397
+ const updateResult = await this.updateThread(threadId, {
398
+ participants
399
+ });
400
+ if (updateResult instanceof Error) {
401
+ return updateResult;
402
+ }
403
+ this.logger.debug('Participant removed from thread', {
404
+ threadId,
405
+ userId
406
+ });
407
+ return true;
408
+ } catch (error) {
409
+ this.logger.error('Error removing participant from thread: %o', error);
410
+ return error instanceof Error ? error : new Error('Unknown error occurred while removing participant');
411
+ }
27
412
  }
28
413
  };
29
- PostThreadService = PostThreadService_1 = __decorate([injectable(), __param(0, inject(SERVER_TYPES.PostThreadRepository)), __param(1, inject(CommonType.MOLECULER_BROKER)), __param(2, inject('Logger')), __metadata("design:paramtypes", [Object, ServiceBroker, Object])], PostThreadService);export{PostThreadService};//# sourceMappingURL=post-thread-service.js.map
414
+ PostThreadService = PostThreadService_1 = __decorate([injectable()
415
+ // @ts-ignore - Type compatibility issue between BaseService2 and IPostThreadService
416
+ , __param(0, inject(SERVER_TYPES.PostThreadRepository)), __param(1, inject(CommonType.MOLECULER_BROKER)), __param(2, inject('Logger')), __metadata("design:paramtypes", [Object, ServiceBroker, Object])], PostThreadService);export{PostThreadService};//# sourceMappingURL=post-thread-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-thread-service.js","sources":["../../src/services/post-thread-service.ts"],"sourcesContent":[null],"names":[],"mappings":";AAQO,IAAM,iBAAiB,GAAA,mBAAA,GAAvB,MAAM,iBAAkB,SAAQ,WAAwB,CAAA;AAI9C,EAAA,UAAA;AAEQ,EAAA,MAAA;AALb,EAAA,MAAA;AACR,EAAA,WAAA,CAAA,UAE8C,EAAA,MAEJ,EAAA,MAEb,EAAA;SAEpB,CAAA,UAAW,CAAA;QANP,CAAU,UAAA,GAAA;QAEF,CAAM,MAAA,GAAA;AAKvB,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,EAAA,KAAa,CAAA;MAC9B,SAAA,EAAA,mBAAA,CAAA;KAEI,CAAA;;AAGD,EAAA,MAAA,MAAA,CAAO;IACX,MAAC,UAAA,GAAA,MAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA;IAED,OAAmB,UAAA;AACf;QACA,aAA6B,CAAA,IAAA,EAAA;UACgC;;AAE7D,KAAA,GAAA,IAAA;AACA;;;AA1BK,IAAiB,MAAA,UAAA,GAAA,MAAA,IAAA,CAAA,UAAA,CAAA,KAAA,CAAA,OAAA,CAAA,IAAA,CAAA;AAD7B,IAAA,OAAA,UAAY;AAIJ;AAEA;AAEA,iBAAM,GAAA,mBAAU,GAAA,UAAA,CAAA,CAAA,UAAA,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,YAAA,CAAA,oBAAA,CAAA,CAAA,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,MAAA,EAAA,aAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,iBAAA,CAAA"}
1
+ {"version":3,"file":"post-thread-service.js","sources":["../../src/services/post-thread-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { ServiceBroker } from 'moleculer';
2
+ import { CdmLogger } from '@cdm-logger/core';
3
+ import { IAiFragmentModel, IAiFragmentService, IAiFragmentCreateInput, MoleculerTopics, AiFragmentSyncStatus } from 'common/server';
4
+ import { BaseProxyService } from '@common-stack/store-mongo';
5
+ type MethodsNames = keyof IAiFragmentService;
6
+ type MethodResponse<T extends MethodsNames> = ReturnType<IAiFragmentService[T]>;
7
+ export declare class AiFragmentProxyService extends BaseProxyService<IAiFragmentModel> implements IAiFragmentService {
8
+ protected readonly logger: CdmLogger.ILogger;
9
+ topic: MoleculerTopics;
10
+ constructor(broker: ServiceBroker, logger: CdmLogger.ILogger);
11
+ dispose(): void;
12
+ createFragment(input: IAiFragmentCreateInput): MethodResponse<'createFragment'>;
13
+ getFragmentByMessageId(messageId: string): MethodResponse<'getFragmentByMessageId'>;
14
+ getFragmentsByUser(orgName: string, owner: string, limit?: number, skip?: number): MethodResponse<'getFragmentsByUser'>;
15
+ updateFragmentFiles(messageId: string, files: Record<string, any>): MethodResponse<'updateFragmentFiles'>;
16
+ deleteFragment(id: string): MethodResponse<'deleteFragment'>;
17
+ deleteFragmentByMessageId(messageId: string): MethodResponse<'deleteFragmentByMessageId'>;
18
+ getFragmentById(fragmentId: string): MethodResponse<'getFragmentById'>;
19
+ updateSandboxUrl(fragmentId: string, newSandboxUrl: string): MethodResponse<'updateSandboxUrl'>;
20
+ updateFileSync(fragmentId: string, fileVersions: Record<string, number>, syncStatus: AiFragmentSyncStatus): MethodResponse<'updateFileSync'>;
21
+ updateFilesAndSync(fragmentId: string, files: Record<string, any>, fileVersions: Record<string, number>, syncStatus: AiFragmentSyncStatus): MethodResponse<'updateFilesAndSync'>;
22
+ }
23
+ export {};