@messenger-box/platform-server 10.0.3-alpha.7 → 10.0.3-alpha.72
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/containers/containers.js +4 -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 +1 -1
- package/lib/containers/context-services-from-container.js.map +1 -1
- 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 +279 -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/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 +696 -234
- 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/channel-member.graphql +110 -21
- package/lib/graphql/schema/channel-member.graphql.js +1 -1
- package/lib/graphql/schema/channel.graphql +337 -38
- package/lib/graphql/schema/channel.graphql.js +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 +284 -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 +2 -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/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/plugins/channel-moleculer-service.d.ts +21 -1
- package/lib/plugins/channel-moleculer-service.js +417 -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/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 +986 -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/channel-service.d.ts +179 -33
- package/lib/services/channel-service.js +821 -274
- 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 +1 -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 +182 -16
- package/lib/services/post-service.js +731 -115
- 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/channel-microservice.d.ts +5 -3
- package/lib/services/proxy-services/channel-microservice.js +19 -10
- package/lib/services/proxy-services/channel-microservice.js.map +1 -1
- 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 +186 -12
- package/lib/services/proxy-services/post-microservice.js +543 -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/store/models/account-token-store.d.ts +1 -1
- package/lib/store/models/account-token-store.js.map +1 -1
- package/lib/store/models/channel.d.ts +2 -3
- package/lib/store/models/channel.js +181 -72
- package/lib/store/models/channel.js.map +1 -1
- 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/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/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 +0 -3
- 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/ChannelService.ts.template +280 -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 +184 -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/package.json +6 -5
- 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,128 +1,430 @@
|
|
|
1
|
-
import {Service}from'moleculer';import {ApolloClientMixin}from'@adminide-stack/platform-server';import {MoleculerTopics,SERVER_TYPES,ChannelServiceCommands}from'common';import {BaseServiceMixin}from'@common-stack/store-mongo';import {config}from'../config/env-config.js'
|
|
1
|
+
import {Service}from'moleculer';import {ApolloClientMixin}from'@adminide-stack/platform-server';import {MoleculerTopics,SERVER_TYPES,ChannelServiceCommands}from'common/server';import {BaseServiceMixin}from'@common-stack/store-mongo';import {logger}from'@common-stack/server-core';import {config}from'../config/env-config.js';/**
|
|
2
|
+
* Channel Moleculer Service
|
|
3
|
+
*
|
|
4
|
+
* This service exposes channel management functionality through the Moleculer microservice framework,
|
|
5
|
+
* providing distributed access to channel operations across the messenger platform.
|
|
6
|
+
*
|
|
7
|
+
* Key capabilities:
|
|
8
|
+
* - Channel lifecycle management (creation, updates, deletion)
|
|
9
|
+
* - Member management (adding, removing, role assignment)
|
|
10
|
+
* - Direct and public channel handling
|
|
11
|
+
* - Message and post management within channels
|
|
12
|
+
* - Channel visibility and access control
|
|
13
|
+
* - Notification and unread message tracking
|
|
14
|
+
* - Team-based channel organization
|
|
15
|
+
* - Channel discovery and filtering
|
|
16
|
+
* - Event-driven architecture for channel changes
|
|
17
|
+
* - Comprehensive error handling and logging
|
|
18
|
+
* - Service integration through Apollo GraphQL
|
|
19
|
+
*/
|
|
20
|
+
class ChannelMoleculerService extends Service {
|
|
2
21
|
channelService;
|
|
22
|
+
container;
|
|
3
23
|
constructor(broker, {
|
|
4
24
|
container,
|
|
5
25
|
...settings
|
|
6
26
|
}) {
|
|
7
27
|
super(broker);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
[ChannelServiceCommands.SaveMembersToChannel]: {
|
|
23
|
-
handler: async ctx => this.channelService.saveMembersToChannel(ctx.params.data)
|
|
24
|
-
},
|
|
25
|
-
[ChannelServiceCommands.CreateDirectChannel]: {
|
|
26
|
-
handler: async ctx => this.channelService.createDirectChannel(ctx.params.data)
|
|
27
|
-
},
|
|
28
|
-
[ChannelServiceCommands.DeleteChannel]: {
|
|
29
|
-
handler: async ctx => this.channelService.deleteChannel(ctx.params.id)
|
|
30
|
-
},
|
|
31
|
-
[ChannelServiceCommands.HideChannel]: {
|
|
32
|
-
handler: async ctx => this.channelService.hideChannel(ctx.params.id)
|
|
33
|
-
},
|
|
34
|
-
[ChannelServiceCommands.GetChannelCounts]: {
|
|
35
|
-
handler: async ctx => this.channelService.getChannelCounts(ctx.params.teamId, ctx.params.userId)
|
|
36
|
-
},
|
|
37
|
-
[ChannelServiceCommands.GetByName]: {
|
|
38
|
-
handler: async ctx => this.channelService.getByName(ctx.params.name)
|
|
39
|
-
// this.channelService.getByName(ctx.params.teamId, ctx.params.name),
|
|
40
|
-
},
|
|
41
|
-
[ChannelServiceCommands.GetByNameIncludeDeleted]: {
|
|
42
|
-
handler: async ctx => this.channelService.getByNameIncludeDeleted(ctx.params.teamId, ctx.params.name)
|
|
43
|
-
},
|
|
44
|
-
[ChannelServiceCommands.GetByNames]: {
|
|
45
|
-
handler: async ctx => this.channelService.getByNames(ctx.params.teamId, ctx.params.names)
|
|
46
|
-
},
|
|
47
|
-
[ChannelServiceCommands.GetChannels]: {
|
|
48
|
-
handler: async ctx => this.channelService.getChannels(ctx.params.teamId, ctx.params.userId, ctx.params.includeDeleted, ctx.params.lastDeleteAt, ctx.params.orgName)
|
|
49
|
-
},
|
|
50
|
-
[ChannelServiceCommands.GetChannelUnread]: {
|
|
51
|
-
handler: async ctx => this.channelService.getChannelUnread(ctx.params.channelId, ctx.params.userId)
|
|
52
|
-
},
|
|
53
|
-
[ChannelServiceCommands.GetDeleted]: {
|
|
54
|
-
handler: async ctx => this.channelService.getDeleted(ctx.params.teamId, ctx.params.offset, ctx.params.limit, ctx.params.userId)
|
|
55
|
-
},
|
|
56
|
-
[ChannelServiceCommands.GetDeletedByName]: {
|
|
57
|
-
handler: async ctx => this.channelService.getDeletedByName(ctx.params.teamId, ctx.params.name)
|
|
58
|
-
},
|
|
59
|
-
[ChannelServiceCommands.SaveDirectChannel]: {
|
|
60
|
-
handler: async ctx => this.channelService.saveDirectChannel(ctx.params.channel)
|
|
61
|
-
},
|
|
62
|
-
[ChannelServiceCommands.SaveChannel]: {
|
|
63
|
-
handler: async ctx => this.channelService.saveChannel(ctx.params.data)
|
|
64
|
-
},
|
|
65
|
-
[ChannelServiceCommands.SavePublicChannel]: {
|
|
66
|
-
handler: async ctx => this.channelService.savePublicChannel(ctx.params.data)
|
|
67
|
-
},
|
|
68
|
-
[ChannelServiceCommands.InvalidateChannelByName]: {
|
|
69
|
-
handler: async ctx => this.channelService.invalidateChannelByName(ctx.params.teamId, ctx.params.name)
|
|
70
|
-
},
|
|
71
|
-
[ChannelServiceCommands.GetPinnedPosts]: {
|
|
72
|
-
handler: async ctx => this.channelService.getPinnedPosts(ctx.params.channelId)
|
|
73
|
-
},
|
|
74
|
-
[ChannelServiceCommands.GetFromMaster]: {
|
|
75
|
-
handler: async ctx => this.channelService.getFromMaster(ctx.params.id)
|
|
28
|
+
try {
|
|
29
|
+
this.container = container;
|
|
30
|
+
const topic = MoleculerTopics.ChannelService;
|
|
31
|
+
this.channelService = container.get(SERVER_TYPES.ChannelService);
|
|
32
|
+
logger.debug('Initializing Channel Moleculer Service', {
|
|
33
|
+
topic
|
|
34
|
+
});
|
|
35
|
+
this.parseServiceSchema({
|
|
36
|
+
name: topic,
|
|
37
|
+
mixins: [ApolloClientMixin, BaseServiceMixin(this.channelService)],
|
|
38
|
+
settings: {
|
|
39
|
+
apolloClient: {
|
|
40
|
+
serverUri: config.GRAPHQL_URL
|
|
41
|
+
}
|
|
76
42
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
43
|
+
events: {
|
|
44
|
+
'channel.created': {
|
|
45
|
+
handler: async ctx => {
|
|
46
|
+
try {
|
|
47
|
+
const {
|
|
48
|
+
event
|
|
49
|
+
} = ctx?.params || {};
|
|
50
|
+
logger.debug('Channel created event received', {
|
|
51
|
+
channelId: event?.channel?.id,
|
|
52
|
+
userId: event?.userId,
|
|
53
|
+
channelType: event?.channel?.type
|
|
54
|
+
});
|
|
55
|
+
// Emit to notification service for channel creation notifications
|
|
56
|
+
await ctx.emit('notification.channel.created', {
|
|
57
|
+
event: {
|
|
58
|
+
channel: event?.channel,
|
|
59
|
+
userId: event?.userId
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
// Update team channel statistics if applicable
|
|
63
|
+
if (event?.channel?.team) {
|
|
64
|
+
await ctx.emit('team.channel.added', {
|
|
65
|
+
event: {
|
|
66
|
+
teamId: event.channel.team,
|
|
67
|
+
channelId: event.channel.id
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
} catch (error) {
|
|
72
|
+
logger.error('Error handling channel created event: %o', error);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
'channel.member.added': {
|
|
77
|
+
handler: async ctx => {
|
|
78
|
+
try {
|
|
79
|
+
const {
|
|
80
|
+
event
|
|
81
|
+
} = ctx?.params || {};
|
|
82
|
+
logger.debug('Channel member added event received', {
|
|
83
|
+
channelId: event?.channelId,
|
|
84
|
+
memberId: event?.memberId,
|
|
85
|
+
invitedBy: event?.invitedBy
|
|
86
|
+
});
|
|
87
|
+
// Emit member notification events
|
|
88
|
+
await ctx.emit('notification.channel.member.added', {
|
|
89
|
+
event: {
|
|
90
|
+
channelId: event?.channelId,
|
|
91
|
+
memberId: event?.memberId,
|
|
92
|
+
invitedBy: event?.invitedBy
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
} catch (error) {
|
|
96
|
+
logger.error('Error handling channel member added event: %o', error);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
111
99
|
},
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
100
|
+
'channel.deleted': {
|
|
101
|
+
handler: async ctx => {
|
|
102
|
+
try {
|
|
103
|
+
const {
|
|
104
|
+
event
|
|
105
|
+
} = ctx?.params || {};
|
|
106
|
+
logger.debug('Channel deleted event received', {
|
|
107
|
+
channelId: event?.channelId,
|
|
108
|
+
channelName: event?.channelName,
|
|
109
|
+
teamId: event?.teamId
|
|
110
|
+
});
|
|
111
|
+
// Clean up related data
|
|
112
|
+
await ctx.emit('cleanup.channel.deleted', {
|
|
113
|
+
event: {
|
|
114
|
+
channelId: event?.channelId,
|
|
115
|
+
teamId: event?.teamId
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
} catch (error) {
|
|
119
|
+
logger.error('Error handling channel deleted event: %o', error);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
115
123
|
},
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
124
|
+
actions: {
|
|
125
|
+
[ChannelServiceCommands.AddMemberToChannel]: {
|
|
126
|
+
params: {
|
|
127
|
+
channelId: 'string',
|
|
128
|
+
memberId: 'string'
|
|
129
|
+
},
|
|
130
|
+
handler: async ctx => {
|
|
131
|
+
try {
|
|
132
|
+
logger.debug('Adding member to channel', {
|
|
133
|
+
channelId: ctx.params.channelId,
|
|
134
|
+
memberId: ctx.params.memberId
|
|
135
|
+
});
|
|
136
|
+
if (!ctx.params.channelId || !ctx.params.memberId) {
|
|
137
|
+
throw new Error('Channel ID and Member ID are required');
|
|
138
|
+
}
|
|
139
|
+
const result = await this.channelService.addMemberToChannel(ctx.params.channelId, ctx.params.memberId);
|
|
140
|
+
if (result instanceof Error) {
|
|
141
|
+
logger.error('Failed to add member to channel: %s', result.message);
|
|
142
|
+
throw result;
|
|
143
|
+
}
|
|
144
|
+
logger.debug('Member added to channel successfully', {
|
|
145
|
+
channelId: ctx.params.channelId,
|
|
146
|
+
memberId: ctx.params.memberId
|
|
147
|
+
});
|
|
148
|
+
// Emit member added event
|
|
149
|
+
await ctx.emit('channel.member.added', {
|
|
150
|
+
event: {
|
|
151
|
+
channelId: ctx.params.channelId,
|
|
152
|
+
memberId: ctx.params.memberId
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return result;
|
|
156
|
+
} catch (error) {
|
|
157
|
+
logger.error('Error in AddMemberToChannel action: %o', error);
|
|
158
|
+
throw error;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
[ChannelServiceCommands.SaveMembersToChannel]: {
|
|
163
|
+
params: {
|
|
164
|
+
data: 'object'
|
|
165
|
+
},
|
|
166
|
+
handler: async ctx => {
|
|
167
|
+
try {
|
|
168
|
+
logger.debug('Saving members to channel', {
|
|
169
|
+
channelId: ctx.params.data?.channelId,
|
|
170
|
+
memberCount: ctx.params.data?.membersIds?.length || 0
|
|
171
|
+
});
|
|
172
|
+
if (!ctx.params.data) {
|
|
173
|
+
throw new Error('Member data is required');
|
|
174
|
+
}
|
|
175
|
+
const result = await this.channelService.saveMembersToChannel(ctx.params.data);
|
|
176
|
+
if (result instanceof Error) {
|
|
177
|
+
logger.error('Failed to save members to channel: %s', result.message);
|
|
178
|
+
throw result;
|
|
179
|
+
}
|
|
180
|
+
logger.debug('Members saved to channel successfully', {
|
|
181
|
+
channelId: ctx.params.data.channelId,
|
|
182
|
+
memberCount: ctx.params.data.membersIds?.length || 0
|
|
183
|
+
});
|
|
184
|
+
return result;
|
|
185
|
+
} catch (error) {
|
|
186
|
+
logger.error('Error in SaveMembersToChannel action: %o', error);
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
[ChannelServiceCommands.CreateDirectChannel]: {
|
|
192
|
+
params: {
|
|
193
|
+
data: 'object'
|
|
194
|
+
},
|
|
195
|
+
handler: async ctx => {
|
|
196
|
+
try {
|
|
197
|
+
logger.debug('Creating direct channel', {
|
|
198
|
+
sender: ctx.params.data?.sender,
|
|
199
|
+
receiverCount: ctx.params.data?.receiver?.length || 0,
|
|
200
|
+
orgName: ctx.params.data?.orgName
|
|
201
|
+
});
|
|
202
|
+
if (!ctx.params.data) {
|
|
203
|
+
throw new Error('Direct channel data is required');
|
|
204
|
+
}
|
|
205
|
+
const result = await this.channelService.createDirectChannel(ctx.params.data);
|
|
206
|
+
if (result instanceof Error) {
|
|
207
|
+
logger.error('Failed to create direct channel: %s', result.message);
|
|
208
|
+
throw result;
|
|
209
|
+
}
|
|
210
|
+
logger.debug('Direct channel created successfully', {
|
|
211
|
+
channelId: result?.id,
|
|
212
|
+
sender: ctx.params.data.sender
|
|
213
|
+
});
|
|
214
|
+
// Emit channel created event
|
|
215
|
+
await ctx.emit('channel.created', {
|
|
216
|
+
event: {
|
|
217
|
+
channel: result,
|
|
218
|
+
userId: ctx.params.data.sender
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
return result;
|
|
222
|
+
} catch (error) {
|
|
223
|
+
logger.error('Error in CreateDirectChannel action: %o', error);
|
|
224
|
+
throw error;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
[ChannelServiceCommands.DeleteChannel]: {
|
|
229
|
+
params: {
|
|
230
|
+
id: 'string'
|
|
231
|
+
},
|
|
232
|
+
handler: async ctx => {
|
|
233
|
+
try {
|
|
234
|
+
logger.debug('Deleting channel', {
|
|
235
|
+
channelId: ctx.params.id
|
|
236
|
+
});
|
|
237
|
+
if (!ctx.params.id) {
|
|
238
|
+
throw new Error('Channel ID is required');
|
|
239
|
+
}
|
|
240
|
+
const result = await this.channelService.deleteChannel(ctx.params.id);
|
|
241
|
+
if (result instanceof Error) {
|
|
242
|
+
logger.error('Failed to delete channel: %s', result.message);
|
|
243
|
+
throw result;
|
|
244
|
+
}
|
|
245
|
+
logger.debug('Channel deleted successfully', {
|
|
246
|
+
channelId: ctx.params.id
|
|
247
|
+
});
|
|
248
|
+
// Emit channel deleted event
|
|
249
|
+
await ctx.emit('channel.deleted', {
|
|
250
|
+
event: {
|
|
251
|
+
channelId: ctx.params.id
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
return result;
|
|
255
|
+
} catch (error) {
|
|
256
|
+
logger.error('Error in DeleteChannel action: %o', error);
|
|
257
|
+
throw error;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
[ChannelServiceCommands.SaveChannel]: {
|
|
262
|
+
params: {
|
|
263
|
+
data: 'object'
|
|
264
|
+
},
|
|
265
|
+
handler: async ctx => {
|
|
266
|
+
try {
|
|
267
|
+
logger.debug('Saving channel', {
|
|
268
|
+
type: ctx.params.data?.type,
|
|
269
|
+
creator: ctx.params.data?.creator,
|
|
270
|
+
team: ctx.params.data?.team
|
|
271
|
+
});
|
|
272
|
+
if (!ctx.params.data) {
|
|
273
|
+
throw new Error('Channel data is required');
|
|
274
|
+
}
|
|
275
|
+
const result = await this.channelService.saveChannel(ctx.params.data);
|
|
276
|
+
if (result instanceof Error) {
|
|
277
|
+
logger.error('Failed to save channel: %s', result.message);
|
|
278
|
+
throw result;
|
|
279
|
+
}
|
|
280
|
+
logger.debug('Channel saved successfully', {
|
|
281
|
+
channelId: result?.id,
|
|
282
|
+
type: ctx.params.data.type
|
|
283
|
+
});
|
|
284
|
+
// Emit channel created event
|
|
285
|
+
await ctx.emit('channel.created', {
|
|
286
|
+
event: {
|
|
287
|
+
channel: result,
|
|
288
|
+
userId: ctx.params.data.creator
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
return result;
|
|
292
|
+
} catch (error) {
|
|
293
|
+
logger.error('Error in SaveChannel action: %o', error);
|
|
294
|
+
throw error;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
[ChannelServiceCommands.GetChannels]: {
|
|
299
|
+
params: {
|
|
300
|
+
teamId: 'string',
|
|
301
|
+
userId: 'string',
|
|
302
|
+
includeDeleted: 'boolean',
|
|
303
|
+
lastDeleteAt: 'number',
|
|
304
|
+
orgName: 'string'
|
|
305
|
+
},
|
|
306
|
+
handler: async ctx => {
|
|
307
|
+
try {
|
|
308
|
+
logger.debug('Getting channels', {
|
|
309
|
+
teamId: ctx.params.teamId,
|
|
310
|
+
userId: ctx.params.userId,
|
|
311
|
+
includeDeleted: ctx.params.includeDeleted,
|
|
312
|
+
orgName: ctx.params.orgName
|
|
313
|
+
});
|
|
314
|
+
if (!ctx.params.teamId || !ctx.params.userId) {
|
|
315
|
+
throw new Error('Team ID and User ID are required');
|
|
316
|
+
}
|
|
317
|
+
const result = await this.channelService.getChannels(ctx.params.teamId, ctx.params.userId, ctx.params.includeDeleted, ctx.params.lastDeleteAt, ctx.params.orgName);
|
|
318
|
+
if (result instanceof Error) {
|
|
319
|
+
logger.error('Failed to get channels: %s', result.message);
|
|
320
|
+
throw result;
|
|
321
|
+
}
|
|
322
|
+
const channelCount = Array.isArray(result) ? result.length : 0;
|
|
323
|
+
logger.debug('Channels retrieved successfully', {
|
|
324
|
+
teamId: ctx.params.teamId,
|
|
325
|
+
count: channelCount
|
|
326
|
+
});
|
|
327
|
+
return result;
|
|
328
|
+
} catch (error) {
|
|
329
|
+
logger.error('Error in GetChannels action: %o', error);
|
|
330
|
+
throw error;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
[ChannelServiceCommands.IsMember]: {
|
|
335
|
+
params: {
|
|
336
|
+
id: 'string',
|
|
337
|
+
user: 'string'
|
|
338
|
+
},
|
|
339
|
+
handler: async ctx => {
|
|
340
|
+
try {
|
|
341
|
+
logger.debug('Checking channel membership', {
|
|
342
|
+
channelId: ctx.params.id,
|
|
343
|
+
userId: ctx.params.user
|
|
344
|
+
});
|
|
345
|
+
if (!ctx.params.id || !ctx.params.user) {
|
|
346
|
+
throw new Error('Channel ID and User ID are required');
|
|
347
|
+
}
|
|
348
|
+
const result = await this.channelService.isMember(ctx.params.id, ctx.params.user);
|
|
349
|
+
logger.debug('Channel membership check completed', {
|
|
350
|
+
channelId: ctx.params.id,
|
|
351
|
+
userId: ctx.params.user,
|
|
352
|
+
isMember: result
|
|
353
|
+
});
|
|
354
|
+
return result;
|
|
355
|
+
} catch (error) {
|
|
356
|
+
logger.error('Error in IsMember action: %o', error);
|
|
357
|
+
throw error;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
},
|
|
361
|
+
[ChannelServiceCommands.ViewChannel]: {
|
|
362
|
+
params: {
|
|
363
|
+
id: 'string',
|
|
364
|
+
user: 'string'
|
|
365
|
+
},
|
|
366
|
+
handler: async ctx => {
|
|
367
|
+
try {
|
|
368
|
+
logger.debug('Viewing channel', {
|
|
369
|
+
channelId: ctx.params.id,
|
|
370
|
+
userId: ctx.params.user
|
|
371
|
+
});
|
|
372
|
+
if (!ctx.params.id || !ctx.params.user) {
|
|
373
|
+
throw new Error('Channel ID and User ID are required');
|
|
374
|
+
}
|
|
375
|
+
const result = await this.channelService.viewChannel(ctx.params.id, ctx.params.user);
|
|
376
|
+
logger.debug('Channel viewed successfully', {
|
|
377
|
+
channelId: ctx.params.id,
|
|
378
|
+
userId: ctx.params.user,
|
|
379
|
+
success: result
|
|
380
|
+
});
|
|
381
|
+
// Emit channel viewed event
|
|
382
|
+
await ctx.emit('channel.viewed', {
|
|
383
|
+
event: {
|
|
384
|
+
channelId: ctx.params.id,
|
|
385
|
+
userId: ctx.params.user,
|
|
386
|
+
timestamp: new Date()
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
return result;
|
|
390
|
+
} catch (error) {
|
|
391
|
+
logger.error('Error in ViewChannel action: %o', error);
|
|
392
|
+
throw error;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
120
395
|
},
|
|
121
|
-
|
|
122
|
-
params
|
|
123
|
-
|
|
396
|
+
[ChannelServiceCommands.GetByName]: {
|
|
397
|
+
params: {
|
|
398
|
+
name: 'string'
|
|
399
|
+
},
|
|
400
|
+
handler: async ctx => {
|
|
401
|
+
try {
|
|
402
|
+
logger.debug('Getting channel by name', {
|
|
403
|
+
name: ctx.params.name
|
|
404
|
+
});
|
|
405
|
+
if (!ctx.params.name) {
|
|
406
|
+
throw new Error('Channel name is required');
|
|
407
|
+
}
|
|
408
|
+
const result = await this.channelService.getByName(ctx.params.name);
|
|
409
|
+
logger.debug('Channel retrieved by name', {
|
|
410
|
+
name: ctx.params.name,
|
|
411
|
+
found: !!result
|
|
412
|
+
});
|
|
413
|
+
return result;
|
|
414
|
+
} catch (error) {
|
|
415
|
+
logger.error('Error in GetByName action: %o', error);
|
|
416
|
+
throw error;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
124
420
|
}
|
|
125
|
-
}
|
|
126
|
-
|
|
421
|
+
});
|
|
422
|
+
logger.debug('Channel Moleculer Service initialized successfully', {
|
|
423
|
+
topic
|
|
424
|
+
});
|
|
425
|
+
} catch (error) {
|
|
426
|
+
logger.error('Error initializing Channel Moleculer Service: %o', error);
|
|
427
|
+
throw error;
|
|
428
|
+
}
|
|
127
429
|
}
|
|
128
430
|
}export{ChannelMoleculerService};//# sourceMappingURL=channel-moleculer-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-moleculer-service.js","sources":["../../src/plugins/channel-moleculer-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel-moleculer-service.js","sources":["../../src/plugins/channel-moleculer-service.ts"],"sourcesContent":[null],"names":[],"mappings":"qUAsBA;;;;;;;;;;;;;;;;;;AAkBG;AACG,MAAO,uBAAwB,SAAQ,OAAO,CAAA;AAC/B,EAAA,cAAA;AACA,EAAA,SAAA;AAEjB,EAAA,WAAA,CAAA,QAAiC;aACxB;AAEL,IAAA,GAAA;AACI,GAAA,EAAA;AACA,IAAA,KAAA,CAAA,MAAA,CAAA;;gCAGa;YAEb,KAAK,kBAAkB,CAAC,cAAA;AACpB,MAAA,IAAA,CAAA,cAAW,GAAA,SAAA,CAAA,GAAA,CAAA,YAAA,CAAA,cAAA,CAAA;kBACL,CAAA,wCAAsB,EAAiB;AAC7C,QAAA;AACI,OAAA,CAAA;6BACa,CAAA;AACZ,QAAA,IAAA,EAAA,KAAA;AACJ,QAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,gBAAA,CAAA,IAAA,CAAA,cAAA,CAAA,CAAA;AACD,QAAA,QAAA,EAAA;AACI,UAAA,YAAA,EAAA;AACI,YAAA,SAAA,EAAA,MAAA,CAAA;AAMI;;AAGI,QAAA,MAAA,EAAA;AACI,UAAA,iBAAA,EAAA;;AAEA,cAAA,IAAA;AACH,gBAAA,MAAA;;AAGD,iBAAA,GAAA,GAAA,EAAA,MAAA,IAAA,EAAA;AACI,gBAAA,MAAA,CAAA,KAAA,CAAA,gCAAO,EAAA;2CACI,EAAA,EAAA;;AAEV,kBAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA;AACJ,iBAAA,CAAA;;AAGD,gBAAA,MAAA,GAAA,CAAA,IAAA,CAAA,8BAA2B,EAAA;AACvB,kBAAA,KAAA,EAAA;AACI,oBAAA,OAAA,EAAA,KAAA,EAAA,OAAA;AACI,oBAAA,MAAA,EAAA,KAAA,EAAA;AACA;AACH,iBAAA,CAAA;AACJ;kCACJ,EAAA,IAAA,EAAA;4BACL,IAAC,CAAA,oBAAA,EAAA;;AACG,sBAAA,MAAA,EAAA,KAAA,CAAA,OAAY,CAAA;+BACf,EAAA,KAAA,CAAA,OAAA,CAAA;;AAER,mBAAA,CAAA;AACD;AACI,eAAA,CAAA,OAAA,KAAA,EAAA;AAMI,gBAAA,MAAA,CAAA,KAAA,CAAA,0CAAK,EAAA,KAAA,CAAA;;AAGD;;;;AAIC,cAAA,IAAA;;AAGD,kBAAA;AACI,iBAAA,GAAA,GAAA,EAAA,MAAA,IAAA,EAAA;kEAC+B,EAAA;6CACnB;2CACC;AACZ,kBAAA,SAAA,EAAA,KAAA,EAAA;AACJ,iBAAA,CAAA;;8BACI,CAAA,mCAAQ,EAAA;AACb,kBAAA,KAAA,EAAA;6BACH,EAAA,KAAA,EAAA,SAAA;4BACJ,EAAA,KAAA,EAAA,QAAA;AACJ,oBAAA,SAAA,EAAA,KAAA,EAAA;AACD;AACI,iBAAA,CAAA;AAMI,eAAA,CAAA,OAAA,KAAA,EAAA;4EACwC,EAAA,KAAA,CAAA;AAEpC;;;;AAIC,YAAA,OAAA,EAAA,MAAA,GAAA,IAAC;;AAGF,gBAAA,MAAA;AACI,kBAAA;;6DAEyB,EAAA;AACxB,kBAAA,SAAA,EAAA,KAAA,EAAA,SAAA;AACJ,kBAAA,WAAA,EAAA,KAAE,EAAA,WAAA;+BACN,EAAA;;AACG;8BACH,CAAA,yBAAA,EAAA;yBACJ;AACJ,oBAAA,SAAA,EAAA,KAAA,EAAA,SAAA;AACJ,oBAAA,MAAA,EAAA,KAAA,EAAA;AACD;AACI,iBAAA,CAAA;AACI,eAAA,CAAA,OAAA,KAAA,EAAM;AACF,gBAAA,MAAA,CAAA,KAAA,CAAA,0CAAmB,EAAA,KAAA,CAAA;AACnB;AACH;AACD;AACI,SAAA;AACI,QAAA,OAAA,EAAA;AACI,UAAA,CAAA,sBAAA,CAAA,kBAAe,GAAA;AACf,YAAA,MAAA,EAAA;AACH,cAAA,SAAA,EAAA,QAAA;AAED,cAAA,QAAA,EAAA;AACI,aAAA;kCACH;;AAOD,gBAAA,MAAA,CAAA,KAAA,CAAA,0BAA2B,EAAA;uCACjB,CAAA,SAAO;AACb,kBAAA,QAAA,EAAA,GAAA,CAAA,MAAA,CAAA;;AAGJ,gBAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,SAAO,IAAM,CAAA,GAAA,CAAA,MAAA,CAAA,QAAA,EAAA;AACT,kBAAA,MAAA,IAAA,KAAA,CAAA,uCAA+B,CAAA;AAC/B;AACH,gBAAA,MAAA,MAAA,GAAA,MAAE,IAAA,CAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,MAAA,CAAA,SAAA,EAAA,GAAA,CAAA,MAAA,CAAA,QAAA,CAAA;sCAEuB,KAAA,EAAA;AAC1B,kBAAA,MAAA,CAAA,KAAA,CAAA,uCAAuC,MAAA,CAAA,OAAA,CAAA;AACnC,kBAAA,MAAA,MAAA;AACI;AACA,gBAAA,MAAA,CAAA,KAAA,CAAA,sCAA6B,EAAA;AAChC,kBAAA,SAAA,EAAA,GAAA,CAAA,MAAA,CAAA,SAAA;AACJ,kBAAA,QAAA,EAAA,GAAA,CAAA,MAAE,CAAA;AAEH,iBAAA,CAAA;;8BACK,CAAA,sBAAQ,EAAA;AACb,kBAAA,KAAA,EAAA;AACA,oBAAA,SAAA,EAAA,GAAA,CAAA,gBAAY;4BAChB,EAAC,GAAA,CAAA,MAAA,CAAA;;AAER,iBAAA,CAAA;AACD,gBAAA,OAAuB,MAAA;AACnB,eAAA,CAAA,OAAA,KAAA,EAAM;AACF,gBAAA,MAAA,CAAA,KAAA,CAAA,wCAAc,EAAA,KAAA,CAAA;AACjB,gBAAA,MAAA,KAAA;AACD;AACI;AACI,WAAA;AACI,UAAA,CAAA,sBAAA,CAAA,uBAAqB;;AAExB,cAAA,IAAA,EAAA;AAED,aAAA;AACI,YAAA,OAAA,EAAA,MAAA,GAAA,IAAA;;AAGJ,gBAAA,MAAA,CAAA,KAAA,CAAA,2BAAqB,EAAK;AAE1B,kBAAA,SAAA,EAAA,GAAA,CAAA,MAAU,CAAA,IAAA,EAAA,SAAiB;yCACjB,CAAA,MAAM,UAAC,EAAA,MAAA,IAAA;AACb,iBAAA,CAAA;gCACJ,IAAC,EAAA;AAED,kBAAA,MAAA,IAAA,KAAA,CAAA,yBAAa,CAAA;AACT;qCACW,IAAA,CAAA,cAAY,CAAA,oBAAkB,CAAM,GAAA,CAAA,MAAK,CAAA,IAAA,CAAA;AACvD,gBAAA,IAAA,MAAA,YAAE,KAAA,EAAA;AAEH,kBAAA,MAAA,CAAA,KAAA,CAAA,uCAAc,EAAA,MAAA,CAAA,OAAA,CAAA;8BACjB;;AACG,gBAAA,MAAA,CAAA,KAAA,CAAA;AACA,kBAAA,SAAA,EAAA,GAAA,CAAA,WAAY,CAAA,SAAA;6BACf,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA,UAAA,EAAA,MAAA,IAAA;;AAER,gBAAA,OAAA,MAAA;AACD,eAAA,CAAA,OAAuB,KAAA,EAAA;AACnB,gBAAA,MAAA,CAAA,KAAA,CAAA,0CAAQ,EAAA,KAAA,CAAA;AACJ,gBAAA,MAAA,KAAA;AACH;AACD;AACI,WAAA;AACI,UAAA,CAAA,sBAAA,CAAA,mBAAa,GAAA;AACT,YAAA,MAAA,EAAA;;AAEA,aAAA;AACH,YAAA,OAAA,EAAA,MAAA,GAAA,IAAC;AAEF,cAAA,IAAA;AACI,gBAAA,MAAA,CAAA,KAAA,CAAA,yBAAgB,EAAA;oCACnB,CAAA,IAAA,EAAA,MAAA;AAED,kBAAA,aAAA,EAAA,GAAA,CAAA,MAAY,CAAA,IAAS,EAAA,QAAK,EAAc,MAAA,IAAA,CAAA;AAExC,kBAAA,OAAA,EAAA,GAAA,CAAA,MAAU,CAAA,IAAA,EAAA;;AAEN,gBAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,EAAA;iCACH,CAAA,iCAAA,CAAA;AAED;qCACa,IAAA,CAAA,cAA6C,CAAA,mBAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA;AACtD,gBAAA,IAAA,MAAA,YAAA,OAAW;AACd,kBAAA,MAAA,CAAA,KAAA,CAAA,qCAAE,EAAA,MAAA,CAAA,OAAA,CAAA;;AAGH;AACI,gBAAA,MAAA,CAAA,KAAA,CAAA,qCAAO,EAAA;AACH,kBAAA,SAAA,EAAA,MAAA,EAAA,EAAA;AACA,kBAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA;AACH,iBAAA,CAAA;AACJ;AAED,gBAAA,MAAA,GAAA,CAAA,IAAA,CAAA,iBAAc,EAAA;;6BACT,MAAA;AACL,oBAAA,MAAA,EAAA,GAAA,CAAA,MAAM,CAAC,IAAK,CAAA;AACZ;;6BAEP;AACJ,eAAA,CAAA,OAAA,KAAA,EAAA;AACD,gBAAA,MAAuB,CAAA,KAAA,CAAA,yCAAiB,EAAA,KAAA,CAAA;AACpC,gBAAA,MAAA,KAAA;AACI;AACH;AACD,WAAA;AACI,UAAA,CAAA,sBAAK,CAAA,aAAA,GAAA;AACD,YAAA,MAAA,EAAA;AAEA,cAAA,EAAA,EAAA;AACI,aAAA;kCACH;AAED,cAAA,IAAA;AAEA,gBAAA,MAAA,CAAA,KAAA,CAAA,kBAAU,EAAA;uCACA,CAAA;AACN,iBAAA,CAAA;gCACJ,EAAC,EAAA;AAED,kBAAA,MAAA,IAAA,KAAA,CAAA,wBAAa,CAAA;;AAGb,gBAAA,MAAA,MAAA,GAAA,MAAA,IAAS,CAAC,4BAAwB,CAAA,GAAA,CAAA,MAAA,CAAA,EAAA,CAAA;AAC9B,gBAAA,IAAA,MAAA,YAAA,KAAO,EAAA;AACH,kBAAA,MAAA,CAAA,KAAA,CAAA,8BAAqB,EAAG,MAAA,CAAA,OAAA,CAAA;AAC3B,kBAAA,MAAA,MAAA;AACJ;AAED,gBAAA,MAAA,CAAA,KAAA,CAAA,8BAAc,EAAA;6BACjB,GAAA,CAAA,MAAA,CAAA;;AACG;AACA,gBAAA,MAAA,GAAA,CAAA,IAAA,CAAA,iBAAY,EAAA;;6BAEnB,EAAA,GAAA,CAAA,MAAA,CAAA;AACJ;AACD,iBAAA,CAAA;AACI,gBAAA,OAAA,MAAA;AACI,eAAA,CAAA,OAAA,KAAA,EAAA;AACH,gBAAA,MAAA,CAAA,KAAA,CAAA,mCAAA,EAAA,KAAA,CAAA;AACD,gBAAA,MAAA,KAAA;AACI;AACI;AACI,WAAA;AACA,UAAA,CAAA,sBAAA,CAAA,WAAS,GAAG;AACZ,YAAA,MAAA,EAAA;AACH,cAAA,IAAA,EAAA;AAED,aAAA;AACI,YAAA,OAAA,EAAA,MAAA,GAAA,IAAA;;AAGJ,gBAAA,MAAA,CAAA,KAAA,CAAA,gBAAY,EAAG;AAEf,kBAAA,IAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAU,EAAA,IAAA;qCACA,CAAA,IAAA,SAAO;AACb,kBAAA,IAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,EAAA;;AAGJ,gBAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,EAAM;4DACoD,CAAA;AACtD;AACH,gBAAA,MAAA,MAAA,GAAA,MAAE,IAAA,CAAA,cAAA,CAAA,WAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA;sCAE0B,KAAA,EAAA;AAC7B,kBAAA,MAAA,CAAA,KAAA,CAAA,oCAAkC,CAAA,OAAA,CAAA;AAC9B,kBAAA,MAAA,MAAA;AACI;AACA,gBAAA,MAAA,CAAA,KAAA,CAAA,8BAAmB;AACtB,kBAAA,SAAA,EAAA,MAAA,EAAA,EAAA;AACJ,kBAAA,IAAA,EAAA,GAAA,CAAA,MAAC,CAAC,IAAA,CAAA;AAEH,iBAAA,CAAA;;8BACK,CAAA,iBAAQ,EAAA;AACb,kBAAA,KAAA,EAAA;AACA,oBAAA,OAAA,EAAA,MAAA;4BACJ,GAAC,CAAA,MAAA,CAAA,IAAA,CAAA;;AAER,iBAAA,CAAA;AACD,gBAAA,OAAuB,MAAA;AACnB,eAAA,CAAA,OAAA,KAAA,EAAM;AACF,gBAAA,MAAA,CAAA,KAAA,CAAA,iCAAgB,EAAA,KAAA,CAAA;AAChB,gBAAA,MAAA,KAAA;AACA;AACA;AACA,WAAA;AACH,UAAA,CAAA,sBAAA,CAAA,WAAA,GAAA;AACD,YAAA,MAAA,EAAA;AASI,cAAA,MAAA,EAAA,QAAA;AACI,cAAA,MAAA,EAAA,QAAA;AACI,cAAA,cAAA,EAAA,SAAA;AACA,cAAA,YAAA,EAAA,QAAA;AACA,cAAA,OAAA,EAAA;AACA,aAAA;AACH,YAAA,OAAA,EAAA,MAAA,GAAA,IAAC;AAEF,cAAA,IAAA;AACI,gBAAA,MAAA,CAAA,KAAA,CAAA,kBAAU,EAAA;oCACb,CAAA,MAAA;AAED,kBAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA;AAQA,kBAAA,cAAA,EAAA,GAAU,CAAA,MAAA,CAAA,cAAiB;qCACjB,CAAA;AACN,iBAAA,CAAA;gCACJ,MAAC,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,MAAA,EAAA;AAED,kBAAA,MAAA,IAAA,KAAA,CAAA;AACA;AACI,gBAAA,MAAA,MAAA,GAAA,MAAA,IAAA,CAAM,cAAmB,CAAA,WAAA,CAAA,GAAA,CAAA,MAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,cAAA,EAAA,GAAA,CAAA,MAAA,CAAA,YAAA,EAAA,GAAA,CAAA,MAAA,CAAA,OAAA,CAAA;AACzB,gBAAA,IAAA,MAAA,YAAA,KAAO,EAAY;AACtB,kBAAA,MAAA,CAAA,KAAA,CAAA,4BAAE,EAAA,MAAA,CAAA,OAAA,CAAA;AAEH,kBAAA,MAAA,MAAA;;kCACK,GAAA,KAAO,CAAC,OAAA,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA,MAAA,GAAA,CAAA;AACb,gBAAA,MAAA,CAAA,KAAA,CAAA;AACA,kBAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,MAAW;;;AAGtB,gBAAA,OAAA,MAAA;AACD,eAAA,CAAA,OAAuB,KAAA,EAAA;AACnB,gBAAA,MAAA,CAAA,KAAA,CAAA,iCAAQ,EAAA,KAAA,CAAA;AACJ,gBAAA,MAAA,KAAA;AACA;AACH;AACD,WAAA;AACI,UAAA,CAAA,sBAAK,CAAA,QAAA,GAAA;AACD,YAAA,MAAA,EAAA;AACI,cAAA,EAAA,EAAA,QAAA;AACA,cAAA,IAAA,EAAA;AACH,aAAA;AAED,YAAA,OAAA,EAAA,MAAA,GAAA,IAAA;AACI,cAAA,IAAA;0DACH,EAAA;gCAED,CAAM,MAAA,CAAA,EAAA;AAEN,kBAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA;AACI,iBAAA,CAAA;AACA,gBAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,GAAM,CAAE,MAAI,CAAA,IAAM,EAAK;AACvB,kBAAA,MAAA,IAAA,KAAA,CAAA,qCAAgB,CAAA;AACnB;AAED,gBAAA,MAAA,MAAA,GAAA,MAAA,mBAAc,CAAA,QAAA,CAAA,GAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA;4BAClB,CAAC,oCAAA,EAAA;6BAAQ,GAAA,CAAA,MAAA,CAAK,EAAE;AACZ,kBAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAY;AACZ,kBAAA,QAAA,EAAA;;6BAEP;AACJ,eAAA,CAAA,OAAA,KAAA,EAAA;AACD,gBAAA,MAAuB,CAAA,KAAA,CAAA,8BAAe,EAAA,KAAA,CAAA;AAClC,gBAAA,MAAA,KAAA;AACI;AACA;AACH,WAAA;AACD,UAAA,CAAA,sBAAS,CAAA,WAAmD,GAAE;AAC1D,YAAA,MAAA,EAAA;AACI,cAAA,EAAA,EAAA,QAAA;AACI,cAAA,IAAA,EAAA;AACA,aAAA;AACH,YAAA,OAAA,EAAA,MAAA,GAAA,IAAC;AAEF,cAAA,IAAA;AACI,gBAAA,MAAA,CAAA,KAAA,CAAA,iBAAU,EAAA;gCACd,CAAC,MAAA,CAAA,EAAA;oCAEK,CAAA;AAEN,iBAAA,CAAA;AACI,gBAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,GAAA,CAAA,MAAW,CAAG,IAAC,EAAA;AACf,kBAAA,MAAA,IAAA,KAAA,CAAA,qCAAuB,CAAA;AACvB;AACH,gBAAA,MAAA,MAAA,GAAA,MAAE,IAAA,CAAA,cAAA,CAAA,WAAA,CAAA,GAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA;0DAEyB,EAAA;AAC5B,kBAAA,SAAA,EAAA,GAAA,CAAA,MAAS,CAAA,EAAC;AACN,kBAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAK;AACD,kBAAA,OAAA,EAAA;AACA,iBAAA,CAAA;;AAEH,gBAAA,MAAA,GAAA,CAAA,IAAA,CAAA,gBAAA,EAAA;AACJ,kBAAA,KAAA,EAAA;AAED,oBAAA,SAAA,EAAA,GAAA,CAAA;4BACJ,GAAC,CAAA,MAAA,CAAA,IAAA;6BAAQ,EAAA,IAAA,IAAA;AACL;AACA,iBAAA,CAAA;6BACH;4BACJ,EAAA;AACJ,gBAAA,MAAA,CAAA,KAAA,CAAA,iCAAA,EAAA,KAAA,CAAA;AACD,gBAAA,MAAuB,KAAA;AACnB;AACI;AACH,WAAA;AACD,UAAA,CAAA,sBAAS,CAAA,SAAqC,GAAI;AAC9C,YAAA,MAAA,EAAA;AACI,cAAA,IAAA,EAAA;AAEA,aAAA;AACI,YAAA,OAAA,EAAA,MAAA,GAAA,IAAA;;AAGJ,gBAAA,MAAA,CAAA,KAAA,CAAA,yBAAqB,EAAA;AAErB,kBAAA,IAAA,EAAA,GAAA,CAAA,MAAA,CAAA;AACI,iBAAA,CAAA;oCACA,EAAK;AACR,kBAAA,MAAA,IAAA,KAAA,CAAC,0BAAC,CAAA;AAEH;4BACJ,GAAC,MAAA,IAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,CAAA;4BAAC,CAAO,2BAAQ,EAAA;AACb,kBAAA,IAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAO;AACP,kBAAA,KAAA,EAAA,CAAA,CAAA;;6BAEP;AACJ,eAAA,CAAA,OAAA,KAAA,EAAA;AACJ,gBAAA,MAAA,CAAA,KAAA,CAAA,+BAAA,EAAA,KAAA,CAAA;AACJ,gBAAE,MAAA,KAAA;;;;AAIH;AACA,OAAA,CAAA;YACH,CAAA,KAAA,CAAA,oDAAA,EAAA;QACJ;AACJ,OAAA,CAAA;;;;;;"}
|
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
import { Service, ServiceBroker } from 'moleculer';
|
|
2
2
|
import { Container } from 'inversify';
|
|
3
|
+
/**
|
|
4
|
+
* Extended Token Account Moleculer Service
|
|
5
|
+
*
|
|
6
|
+
* This Moleculer service provides a comprehensive microservice interface for device token
|
|
7
|
+
* management and account operations within the messenger platform. It orchestrates
|
|
8
|
+
* token lifecycle events, user session management, and device registration workflows
|
|
9
|
+
* through event-driven architecture.
|
|
10
|
+
*
|
|
11
|
+
* Key capabilities:
|
|
12
|
+
* - User session lifecycle management (login, logout, initialization)
|
|
13
|
+
* - Device token registration and cleanup
|
|
14
|
+
* - Expo notification token management
|
|
15
|
+
* - Auth0 integration and user lookup
|
|
16
|
+
* - Cross-service communication and event handling
|
|
17
|
+
* - Bulk token operations and cleanup
|
|
18
|
+
* - Error handling and recovery mechanisms
|
|
19
|
+
* - Performance monitoring and logging
|
|
20
|
+
*
|
|
21
|
+
* The service integrates with the account microservice through Moleculer broker
|
|
22
|
+
* and provides robust token management for mobile and web applications,
|
|
23
|
+
* ensuring reliable push notification delivery and user authentication flows.
|
|
24
|
+
*/
|
|
3
25
|
export declare class ExtendedTokenAccountMoleculerService extends Service {
|
|
4
26
|
private readonly extendedTokenAccountService;
|
|
5
|
-
|
|
27
|
+
private container;
|
|
28
|
+
constructor(broker: ServiceBroker, { container, settings }: {
|
|
6
29
|
container: Container;
|
|
30
|
+
settings?: any;
|
|
7
31
|
});
|
|
8
32
|
}
|