@messenger-box/platform-server 10.0.3-alpha.7 → 10.0.3-alpha.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/config/env-config.d.ts +7 -0
- package/lib/config/env-config.js +20 -0
- package/lib/config/env-config.js.map +1 -1
- package/lib/containers/containers.js +9 -1
- package/lib/containers/containers.js.map +1 -1
- package/lib/containers/context-services-from-container.d.ts +1 -1
- package/lib/containers/context-services-from-container.js +4 -2
- package/lib/containers/context-services-from-container.js.map +1 -1
- package/lib/graphql/resolvers/ai-fragment.d.ts +3 -0
- package/lib/graphql/resolvers/ai-fragment.js +276 -0
- package/lib/graphql/resolvers/ai-fragment.js.map +1 -0
- package/lib/graphql/resolvers/channel-member.d.ts +3 -2
- package/lib/graphql/resolvers/channel-member.js +30 -5
- package/lib/graphql/resolvers/channel-member.js.map +1 -1
- package/lib/graphql/resolvers/channel.d.ts +3 -2
- package/lib/graphql/resolvers/channel.js +308 -53
- package/lib/graphql/resolvers/channel.js.map +1 -1
- package/lib/graphql/resolvers/extended-token-account.d.ts +3 -2
- package/lib/graphql/resolvers/extended-token-account.js +90 -23
- package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
- package/lib/graphql/resolvers/index.d.ts +1 -1
- package/lib/graphql/resolvers/index.js +1 -1
- package/lib/graphql/resolvers/index.js.map +1 -1
- package/lib/graphql/resolvers/post-thread.d.ts +1 -1
- package/lib/graphql/resolvers/post-thread.js +294 -132
- package/lib/graphql/resolvers/post-thread.js.map +1 -1
- package/lib/graphql/resolvers/post.d.ts +2 -3
- package/lib/graphql/resolvers/post.js +874 -239
- package/lib/graphql/resolvers/post.js.map +1 -1
- package/lib/graphql/resolvers/reaction.d.ts +3 -2
- package/lib/graphql/resolvers/reaction.js +96 -14
- package/lib/graphql/resolvers/reaction.js.map +1 -1
- package/lib/graphql/schema/ai-fragment.graphql +311 -0
- package/lib/graphql/schema/ai-fragment.graphql.js +1 -0
- package/lib/graphql/schema/ai-fragment.graphql.js.map +1 -0
- package/lib/graphql/schema/channel-member.graphql +110 -21
- package/lib/graphql/schema/channel-member.graphql.js +1 -1
- package/lib/graphql/schema/channel.graphql +356 -38
- package/lib/graphql/schema/channel.graphql.js +1 -1
- package/lib/graphql/schema/index.js +2 -2
- package/lib/graphql/schema/index.js.map +1 -1
- package/lib/graphql/schema/post-thread.graphql +167 -21
- package/lib/graphql/schema/post-thread.graphql.js +1 -1
- package/lib/graphql/schema/post.graphql +360 -40
- package/lib/graphql/schema/post.graphql.js +1 -1
- package/lib/graphql/schema/reaction.graphql +71 -13
- package/lib/graphql/schema/reaction.graphql.js +1 -1
- package/lib/graphql/schema/services.graphql +21 -0
- package/lib/graphql/schema/users.graphql +76 -13
- package/lib/graphql/schema/users.graphql.js +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/inngest/factory.d.ts +20 -0
- package/lib/inngest/factory.js +4 -0
- package/lib/inngest/factory.js.map +1 -0
- package/lib/inngest/functions.d.ts +235 -0
- package/lib/inngest/functions.js +1385 -0
- package/lib/inngest/functions.js.map +1 -0
- package/lib/inngest/index.d.ts +3 -0
- package/lib/inngest/prompt.d.ts +6 -0
- package/lib/inngest/prompt.js +871 -0
- package/lib/inngest/prompt.js.map +1 -0
- package/lib/inngest/utils.d.ts +5 -0
- package/lib/inngest/utils.js +32 -0
- package/lib/inngest/utils.js.map +1 -0
- package/lib/interfaces/index.d.ts +0 -1
- package/lib/interfaces/services.d.ts +1 -1
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.d.ts +17 -0
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js +44 -0
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js.map +1 -0
- package/lib/migrations/dbMigrations/index.d.ts +1 -0
- package/lib/migrations/index.d.ts +1 -0
- package/lib/migrations/mail-template-migration.js +1 -1
- package/lib/migrations/message-notification-template-migration.d.ts +1 -1
- package/lib/migrations/message-notification-template-migration.js +1 -1
- package/lib/module.js +10 -3
- package/lib/module.js.map +1 -1
- package/lib/plugins/ai-fragment-moleculer-service.d.ts +29 -0
- package/lib/plugins/ai-fragment-moleculer-service.js +516 -0
- package/lib/plugins/ai-fragment-moleculer-service.js.map +1 -0
- package/lib/plugins/channel-moleculer-service.d.ts +21 -1
- package/lib/plugins/channel-moleculer-service.js +426 -115
- package/lib/plugins/channel-moleculer-service.js.map +1 -1
- package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
- package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
- package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
- package/lib/plugins/index.d.ts +1 -0
- package/lib/plugins/messenger-notification-moleculer-service.d.ts +27 -3
- package/lib/plugins/messenger-notification-moleculer-service.js +404 -58
- package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
- package/lib/plugins/post-moleculer-service.d.ts +85 -21
- package/lib/plugins/post-moleculer-service.js +1102 -256
- package/lib/plugins/post-moleculer-service.js.map +1 -1
- package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
- package/lib/plugins/post-thread-moleculer-service.js +326 -8
- package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
- package/lib/plugins/reaction-moleculer-service.js +1 -1
- package/lib/plugins/reaction-moleculer-service.js.map +1 -1
- package/lib/preferences/settings/post-settings.d.ts +2 -0
- package/lib/preferences/settings/post-settings.js +47 -9
- package/lib/preferences/settings/post-settings.js.map +1 -1
- package/lib/services/ai-fragment-service.d.ts +195 -0
- package/lib/services/ai-fragment-service.js +631 -0
- package/lib/services/ai-fragment-service.js.map +1 -0
- package/lib/services/channel-service.d.ts +181 -33
- package/lib/services/channel-service.js +842 -273
- package/lib/services/channel-service.js.map +1 -1
- package/lib/services/extended-token-account-service.d.ts +130 -14
- package/lib/services/extended-token-account-service.js +462 -52
- package/lib/services/extended-token-account-service.js.map +1 -1
- package/lib/services/index.d.ts +3 -0
- package/lib/services/messenger-notification-service.d.ts +106 -13
- package/lib/services/messenger-notification-service.js +824 -442
- package/lib/services/messenger-notification-service.js.map +1 -1
- package/lib/services/post-service.d.ts +189 -16
- package/lib/services/post-service.js +949 -113
- package/lib/services/post-service.js.map +1 -1
- package/lib/services/post-thread-service.d.ts +114 -5
- package/lib/services/post-thread-service.js +400 -13
- package/lib/services/post-thread-service.js.map +1 -1
- package/lib/services/proxy-services/ai-fragment-microservice.d.ts +23 -0
- package/lib/services/proxy-services/ai-fragment-microservice.js +78 -0
- package/lib/services/proxy-services/ai-fragment-microservice.js.map +1 -0
- package/lib/services/proxy-services/channel-microservice.d.ts +6 -3
- package/lib/services/proxy-services/channel-microservice.js +25 -10
- package/lib/services/proxy-services/channel-microservice.js.map +1 -1
- package/lib/services/proxy-services/index.d.ts +1 -0
- package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
- package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
- package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
- package/lib/services/proxy-services/post-microservice.d.ts +207 -12
- package/lib/services/proxy-services/post-microservice.js +623 -54
- package/lib/services/proxy-services/post-microservice.js.map +1 -1
- package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -3
- package/lib/services/proxy-services/post-thread-microservice.js +388 -6
- package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
- package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
- package/lib/services/proxy-services/reaction-microservice.js +474 -2
- package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
- package/lib/services/reaction-service.d.ts +124 -4
- package/lib/services/reaction-service.js +415 -3
- package/lib/services/reaction-service.js.map +1 -1
- package/lib/services/redis-cache-manager.d.ts +18 -0
- package/lib/services/redis-cache-manager.js +83 -0
- package/lib/services/redis-cache-manager.js.map +1 -0
- package/lib/services/sandbox-error-service.d.ts +23 -0
- package/lib/services/sandbox-error-service.js +422 -0
- package/lib/services/sandbox-error-service.js.map +1 -0
- package/lib/store/models/account-token-store.d.ts +1 -1
- package/lib/store/models/account-token-store.js.map +1 -1
- package/lib/store/models/ai-fragment.d.ts +4 -0
- package/lib/store/models/ai-fragment.js +125 -0
- package/lib/store/models/ai-fragment.js.map +1 -0
- package/lib/store/models/channel.d.ts +2 -3
- package/lib/store/models/channel.js +185 -71
- package/lib/store/models/channel.js.map +1 -1
- package/lib/store/models/index.d.ts +1 -0
- package/lib/store/models/post-thread.d.ts +3 -3
- package/lib/store/models/post-thread.js +96 -14
- package/lib/store/models/post-thread.js.map +1 -1
- package/lib/store/models/post.d.ts +2 -3
- package/lib/store/models/post.js +143 -23
- package/lib/store/models/post.js.map +1 -1
- package/lib/store/models/reaction.d.ts +2 -3
- package/lib/store/models/reaction.js +67 -8
- package/lib/store/models/reaction.js.map +1 -1
- package/lib/store/repositories/__tests__/__fixtures__/team-repository.d.ts +3 -3
- package/lib/store/repositories/ai-fragment-repository.d.ts +15 -0
- package/lib/store/repositories/ai-fragment-repository.js +69 -0
- package/lib/store/repositories/ai-fragment-repository.js.map +1 -0
- package/lib/store/repositories/channel-repository.d.ts +6 -6
- package/lib/store/repositories/channel-repository.js +5 -2
- package/lib/store/repositories/channel-repository.js.map +1 -1
- package/lib/store/repositories/index.d.ts +1 -0
- package/lib/store/repositories/post-repository.d.ts +6 -6
- package/lib/store/repositories/post-repository.js +5 -2
- package/lib/store/repositories/post-repository.js.map +1 -1
- package/lib/store/repositories/post-thread-repository.d.ts +6 -6
- package/lib/store/repositories/post-thread-repository.js +5 -2
- package/lib/store/repositories/post-thread-repository.js.map +1 -1
- package/lib/store/repositories/reaction-repository.d.ts +6 -6
- package/lib/store/repositories/reaction-repository.js +5 -2
- package/lib/store/repositories/reaction-repository.js.map +1 -1
- package/lib/templates/constants/SERVER_TYPES.ts.template +4 -4
- package/lib/templates/repositories/AiFragmentRepository.ts.template +4 -0
- package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
- package/lib/templates/repositories/PostRepository.ts.template +3 -3
- package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
- package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
- package/lib/templates/services/AiFragmentService.ts.template +123 -0
- package/lib/templates/services/ChannelService.ts.template +290 -39
- package/lib/templates/services/ExtendedTokenAccountService.ts.template +104 -9
- package/lib/templates/services/MessengerNotificationService.ts.template +94 -19
- package/lib/templates/services/PostService.ts.template +265 -20
- package/lib/templates/services/PostThreadService.ts.template +151 -6
- package/lib/templates/services/ReactionService.ts.template +129 -3
- package/lib/templates/services/RedisCacheManager.ts.template +22 -0
- package/lib/templates/services/SandboxErrorService.ts.template +125 -0
- package/package.json +14 -7
- package/lib/interfaces/context.d.ts +0 -14
- package/lib/store/models/common-options.js +0 -20
- package/lib/store/models/common-options.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-service.js","sources":["../../src/services/post-service.ts"],"sourcesContent":[null],"names":[],"mappings":";AA+BA,IAAa,WAAW,GAAA,aAAA,GAAxB,MAAa,WAAY,SAAQ,WAAqD,CAAA;AAM7D,EAAA,WAAA;AAEA,EAAA,eAAA;AAEA,EAAA,4BAAA;AAEA,EAAA,MAAA;AAEP,EAAA,MAAA;AAbN,EAAA,MAAA;AACR,EAAA,WAAA,CAAA,UAE8B,EAAA,WAEqB,EAAA,eAEG,EAAA,4BAE0B,EAAA,MAEtC,EAAA,MAER,EAAA,MAEL,EAAA;SAEpB,CAAA,UAAW,CAAA;QAZC,CAAW,WAAA,GAAA;QAEX,CAAe,eAAA,GAAA;QAEf,CAA4B,4BAAA,GAAA;QAE5B,CAAM,MAAA,GAAA;QAEb,CAAM,MAAA,GAAA;AAKhB,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,EAAA,KAAa,CAAA;MAC9B,SAAA,EAAA,aAAA,CAAA;AAED,KAAA,CAAA;AACI;sBACY,CAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA;eACD,CAAA,eAAa,CAAA,WAAc,CAAA;AAClC,MAAA,QAAA;aACM,EAAA,WAAA,CAAA,IAAA;AACT,MAAA,GAAA,EAAE,MAAA;MACN;AAED,KAAA,CAAA;;AAEQ,EAAA,MAAA,kBAAO,CAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA;;AAEP,MAAA;cACS,IAAA,CAAA,eAAA,CAAA,kBAAA,CAAA;AACZ,MAAA,GAAA,IAAE;aACG,EAAA,WAAY,CAAG,IAAA;SACd,EAAA,MAAA;AACH,MAAA;;UAEO,YAAA,GAAA,MAAA,IAAA,CAAA,eAAA,CAAA,GAAA,CAAA,EAAA,CAAA;IACf,OAAC;AAED,MAAA,GAAA,YAAA;AACI,MAAA,GAAA,EAAA,IAAO,gBACM,CAAA,eAAc,CAAA,YACd,CAAe,GAAA;;;AAGhB,EAAA,qBAAW,CAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA;kBACL,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,QAAA,IAAA,IAAA,CAAA,eAAA,CAAA,WAAA,CAAA;cAGhB;MACL,OAAA,EAAA,WAAA,CAAA,IAAA;AAED,MAAA,GAAA,EAAA,MAAA;AACI,MAAA;;AAGY;qBACO,CAAA,MAAa,EAAA,KAAA,EAAC,SAAa,EAAA;AAClC,IAAA,OAAA,OAAA,CAAG,GAAQ,CAAA,KAAA,CAAA,GAAA,CAAA,MAAA,IAAA,IAAA;;AAEd,QAAA;gBACK,IAAA,CAAA,eAAe,CAAA,kBAA0B,CAAA;eACxC;AACH,QAAA,OAAA,EAAA,WAAe,CAAA,IAAA;mBACZ;;QAEX;MAEP,MAAA,YAAA,GAAA,MAAA,IAAA,CAAA,eAAA,CAAA,GAAA,CAAA,EAAA,CAAA;MAEI,OAAO;QACR,GAAM,YAAa;AACnB,QAAA,GAAA,EAAA,IAAQ,CAAA,eAAiB,CAAA,eAAA,CAAA,YAAA,CAAA,GAAA;;;;AAIzB,EAAA,MAAA,MAAM,CAAI,IAAC,EAAW;cAGJ,GAAA,MAAA,KAAM,CAAC,MAAS,CAAA,IAAA,CAAA;AAC1B,IAAA,MAAA;AACI,MAAA;AACA,KAAA,GAAA,IAAA;AACA;AACA;AACH;UAEL,IAAA,CAAA,WAAA,CAAA,KAAA,CAAA,SAAA,CAAA;;AAEC,KAAA,EAAA;AAEL,MAAA,UAAU,EAAA,IAAO,CAAA,SAAQ;AACzB,MAAA,IAAA,EAAA;QACA,aAAiH,EAAA,CAAA;AACjH,QAAA,iBAAiB,EAAC,CAAA;AAClB,QAAA,8BAAY,EAAA,CAAA;QACf,0BAAA,EAAA;;;AAIG,MAAA,YAAQ,EAAA,CAAA;AACR,QAAA,WAAW,EAAW,IAAA,CAAA;;AAId,KAAA,CAAA;AACI,IAAA,MAAA,IAAA,CAAA,MAAA,CAAA,OAAa,EAAE,aAAC,EAAA,OAAA,CAAA,CAAA,EAAA,IAAA,CAAA;AAChB,IAAA,MAAA,IAAA,CAAA,oBAAmB,CAAC,IAAA,CAAA;AACpB;AACA,IAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,cAAA,CAAA;AACH,IAAA,OAAA,IAAA;;iCAGgB,CAAA,IAAA,EAAW;AAC/B,IAAA,MACJ,IAAC,GAAA,MAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA;AAEF,IAAA,MAAA;MACH;AAED,KAAA,GAAA,IAAA;UACW,IAAA,CAAA,WAAoB,CAAA,KAAA,CAAA;MAC9B,GAAA,EAAA;AAED,KAAA,EAAA;AACI,MAAA,YAAU,IAAC,CAAA,SAAgB;AACvB,MAAA,IAAA,EAAA;AACI,QAAA,aAAK,EAAA,CAAA;AACR,QAAA,iBAAA,EAAA,CAAA;AACJ,QAAA,8BAAE,EAAA,CAAA;AACH,QAAA,0BAAY,EAAA;;AAGhB,KAAA,EAAA;AACI,MAAA,YAAU,EAAC,CAAA;AACP,QAAA,WAAO,EAAA,IAAA,CAAA;AACH,OAAA;AACH,KAAA,CAAA;AACJ,IAAA,OAAE,IAAA;AACH;YACH,CAAA,GAAA,EAAA;IAEO,OAA0B,IAAA,CAAA,eAAC,CAAW,WAAA,CAAA,GAAA,CAAA;AAC1C;mBACU,CAAA,SAAiC,EAAA,IAAA,EAAA;UAC1C,IAAA,CAAA,MAAA,CAAA,SAAA,CAAA,SAAA,EAAA;aAAM;AACH,QAAA,CAAA,CAAA,CAAA,EAAA,IAAA,CAAM,sBAA0C,CAAA,MAAA,EAAA,IAAA;;;AAG5C,IAAA,OAAA,IAAA;AACA;sBACF,CAAA,SAAA,EAAA,IAAA,EAAA;cACI,CAAA,MAAA,CAAI,SAAC,CAAA,SAAA,EAAA;WACd,EAAA;QACJ,CAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA,GAAA,GAAA,CAAA,EAAA,EAAA,SAAA,CAAA,WAAA,EAAA,IAAA;;AAGD,KAAA,CAAA;AAII,IAAA,OAAA,IAAU;;EAEjB,MAAA,oBAAA,CAAA,IAAA,EAAA;AAzKY,IAAW,IAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,KAAA,CAAA,IAAA,EAAA,IAAA,IAAA,IAAA,EAAA,IAAA,KAAA,OAAA,CAAA,EAAA;AAGf,MAAA,MAAA,iCAAoB,CAAA,0BAAe,CAAA,IAAA,CAAA;AAEnC,KAAA,MAAA,IAAA,OAAO,IAAA,IAAA,IAAY,EAAC,IAAA,KAAA,OAAiB,EAAC;AAEtC,MAAA,MAAA,gBAAO,GAAA;AAEP,QAAA,GAAA,EAAA,yBAAoB;AAEpB,QAAA,MAAA;AAEA,UAAA,SAAM,EAAA,IAAS,EAAA,OAAC;AAEhB,UAAA,UAAM,EAAC;;AATsB,QAAA,MAAA,EAAA;QAQZ,KAAY,EAAA;AAdzB,UAAA,KAyKZ,EAAA;;;;;;;;;;;"}
|
|
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 {
|
|
3
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
11
|
-
|
|
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 {
|
|
2
|
-
|
|
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
|
-
|
|
16
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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()
|
|
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":";
|
|
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 {};
|