@futdevpro/nts-dynamo 1.14.79 → 1.14.81

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 (57) hide show
  1. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +3 -1
  2. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts.map +1 -1
  3. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +3 -1
  4. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js.map +1 -1
  5. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +4 -4
  6. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts.map +1 -1
  7. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +22 -22
  8. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js.map +1 -1
  9. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +4 -4
  10. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts.map +1 -1
  11. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +19 -19
  12. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js.map +1 -1
  13. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +4 -4
  14. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts.map +1 -1
  15. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +1 -1
  16. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js.map +1 -1
  17. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +4 -4
  18. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts.map +1 -1
  19. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +1 -1
  20. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js.map +1 -1
  21. package/build/_modules/bot/_services/bot-main.control-service.js +2 -2
  22. package/build/_modules/bot/_services/bot-main.control-service.js.map +1 -1
  23. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +4 -4
  24. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts.map +1 -1
  25. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +13 -1
  26. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts.map +1 -1
  27. package/build/_modules/defaults/_collections/default-endpoints.util.js +58 -28
  28. package/build/_modules/defaults/_collections/default-endpoints.util.js.map +1 -1
  29. package/build/_services/base/data.service.d.ts +4 -1
  30. package/build/_services/base/data.service.d.ts.map +1 -1
  31. package/build/_services/base/data.service.js +6 -1
  32. package/build/_services/base/data.service.js.map +1 -1
  33. package/build/_services/base/singleton.service.d.ts +3 -1
  34. package/build/_services/base/singleton.service.d.ts.map +1 -1
  35. package/build/_services/base/singleton.service.js +3 -1
  36. package/build/_services/base/singleton.service.js.map +1 -1
  37. package/build/_services/core/email.service.d.ts +3 -1
  38. package/build/_services/core/email.service.d.ts.map +1 -1
  39. package/build/_services/core/email.service.js +3 -1
  40. package/build/_services/core/email.service.js.map +1 -1
  41. package/build/_services/core/global.service.d.ts +3 -1
  42. package/build/_services/core/global.service.d.ts.map +1 -1
  43. package/build/_services/core/global.service.js +3 -1
  44. package/build/_services/core/global.service.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +1 -0
  47. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +30 -24
  48. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +22 -22
  49. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +6 -6
  50. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +6 -6
  51. package/src/_modules/bot/_services/bot-main.control-service.ts +2 -2
  52. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +5 -5
  53. package/src/_modules/defaults/_collections/default-endpoints.util.ts +78 -29
  54. package/src/_services/base/data.service.ts +6 -1
  55. package/src/_services/base/singleton.service.ts +1 -0
  56. package/src/_services/core/email.service.ts +1 -0
  57. package/src/_services/core/global.service.ts +1 -0
@@ -1,5 +1,5 @@
1
1
  import { Client, GatewayIntentBits, Guild, Collection, GuildMember, Message, Partials, Role, TextChannel, Channel, DMChannel } from 'discord.js';
2
- import { DyFM_AnyError, DyFM_Error, DyFM_Log, week } from '@futdevpro/fsm-dynamo';
2
+ import { DyFM_AnyError, DyFM_Array, DyFM_Error, DyFM_Log, week } from '@futdevpro/fsm-dynamo';
3
3
  import { DyNTS_Bot_MessagingProvider_ServiceBase, DyNTS_Bot_MessagingProvider_Config } from '../../../_services/bot-messaging-provider.service-base';
4
4
  import { DyNTS_Bot_LastMessageDate } from '../../../_models/bot-last-message-date.interface';
5
5
  import { DyNTS_Bot_LastMentionDate } from '../../../_models/bot-last-mention-date.interface';
@@ -115,7 +115,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
115
115
 
116
116
  async getChannelByName(name: string): Promise<DyNTS_DiB_Channel> {
117
117
  if (this.channelCache.has(name)) {
118
- return this.wrapChannel(this.channelCache.get(name));
118
+ return await this.wrapChannel(this.channelCache.get(name));
119
119
  }
120
120
 
121
121
  const channel = this.guild.channels.cache.find(
@@ -127,7 +127,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
127
127
  }
128
128
 
129
129
  this.channelCache.set(name, channel);
130
- return this.wrapChannel(channel);
130
+ return await this.wrapChannel(channel);
131
131
  }
132
132
 
133
133
  async getChannelById(id: string): Promise<DyNTS_DiB_Channel> {
@@ -139,7 +139,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
139
139
  if (!this.channelCache.has(channel.name)) {
140
140
  this.channelCache.set(channel.name, channel);
141
141
  }
142
- return this.wrapChannel(channel);
142
+ return await this.wrapChannel(channel);
143
143
  }
144
144
 
145
145
  async sendMessageToChannelByName(channelName: string, message: string): Promise<DyNTS_DiB_Message> {
@@ -190,7 +190,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
190
190
  limit: limit
191
191
  });
192
192
 
193
- return Array.from(messages.values()).map((msg: Message) => this.wrapMessage(msg));
193
+ return await Promise.all(Array.from(messages.values()).map(async (msg: Message) => await this.wrapMessage(msg)));
194
194
  }
195
195
 
196
196
  async getLastMessageInChannel(channelName: string): Promise<DyNTS_DiB_Message> {
@@ -205,7 +205,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
205
205
  });
206
206
  const lastMessage: Message = messages.first();
207
207
 
208
- return lastMessage ? this.wrapMessage(lastMessage) : null;
208
+ return lastMessage ? await this.wrapMessage(lastMessage) : null;
209
209
  }
210
210
 
211
211
  async clearChannel(channel: DyNTS_DiB_Channel): Promise<void> {
@@ -261,10 +261,10 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
261
261
  }
262
262
 
263
263
  firstMessage.content = originalContent;
264
- return this.wrapMessage(firstMessage);
264
+ return await this.wrapMessage(firstMessage);
265
265
  } else {
266
266
  const message: Message = await discordTextChannel.send(content);
267
- return this.wrapMessage(message);
267
+ return await this.wrapMessage(message);
268
268
  }
269
269
  }
270
270
 
@@ -295,10 +295,10 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
295
295
  }
296
296
 
297
297
  firstMessage.content = originalContent;
298
- return this.wrapMessage(firstMessage);
298
+ return await this.wrapMessage(firstMessage);
299
299
  } else {
300
300
  const reply: Message= await message.rawPlatformMessage.reply(content);
301
- return this.wrapMessage(reply);
301
+ return await this.wrapMessage(reply);
302
302
  }
303
303
  } catch (error) {
304
304
  DyFM_Error.logSimple('Error replying to message:', error);
@@ -334,7 +334,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
334
334
  const messages: Collection<string, Message> = await (channel.rawPlatformChannel as TextChannel).messages.fetch({
335
335
  limit: limit
336
336
  });
337
- return Array.from(messages.values()).map((msg: Message) => this.wrapMessage(msg));
337
+ return await Promise.all(Array.from(messages.values()).map(async (msg: Message) => await this.wrapMessage(msg)));
338
338
  }
339
339
 
340
340
  async fetchMessagesById(id: string, limit: number): Promise<DyNTS_DiB_Message[]> {
@@ -350,7 +350,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
350
350
  const messages: Collection<string, Message> = await message.rawPlatformMessage.channel.messages.fetch({
351
351
  limit: limit
352
352
  });
353
- return Array.from(messages.values()).map((msg: Message) => this.wrapMessage(msg));
353
+ return await Promise.all(Array.from(messages.values()).map(async (msg: Message) => await this.wrapMessage(msg)));
354
354
  }
355
355
 
356
356
  async fetchAllMessagesWithPaging(channel: DyNTS_DiB_Channel, maxFetch: number = 1000): Promise<DyNTS_DiB_Message[]> {
@@ -369,9 +369,12 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
369
369
  const messageCollection: Collection<string, Message> = await channel.rawPlatformChannel.messages.fetch(options);
370
370
  if (messageCollection.size === 0) break;
371
371
 
372
- Array.from(messageCollection.values()).forEach((msg: Message) => {
373
- allMessages.push(this.wrapMessage(msg));
374
- });
372
+ await DyFM_Array.asyncForEach(
373
+ Array.from(messageCollection.values()),
374
+ async (msg: Message) => {
375
+ allMessages.push(await this.wrapMessage(msg));
376
+ }
377
+ );
375
378
 
376
379
  lastId = Array.from(messageCollection.values()).pop()?.id;
377
380
  fetched += messageCollection.size;
@@ -392,7 +395,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
392
395
  throw new Error(`User not found with username: ${username}`);
393
396
  }
394
397
 
395
- return this.wrapUser(member);
398
+ return await this.wrapUser(member);
396
399
  }
397
400
 
398
401
  getUserMention(userId: string): string {
@@ -408,7 +411,10 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
408
411
  (channel.rawPlatformChannel as TextChannel).permissionsFor(member)?.has('ViewChannel')
409
412
  );
410
413
 
411
- return Array.from(allowedMembers.values()).map((member: GuildMember) => this.wrapUser(member));
414
+ return await DyFM_Array.asyncMap(
415
+ Array.from(allowedMembers.values()),
416
+ async (member: GuildMember) => await this.wrapUser(member)
417
+ );
412
418
  }
413
419
 
414
420
  async fetchMembersInGuild(guild: Guild): Promise<Collection<string, GuildMember>> {
@@ -545,9 +551,9 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
545
551
  return pings.join(' ');
546
552
  }
547
553
 
548
- create_onMessageEventListener(handler: (message: DyNTS_DiB_Message, issuer: string) => void): void {
549
- this.client.on('messageCreate', (message: Message) => {
550
- handler(this.wrapMessage(message), 'discord');
554
+ async create_onMessageEventListener(handler: (message: DyNTS_DiB_Message, issuer: string) => Promise<void>): Promise<void> {
555
+ this.client.on('messageCreate', async (message: Message) => {
556
+ await handler(await this.wrapMessage(message), 'discord');
551
557
  });
552
558
  }
553
559
 
@@ -569,7 +575,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
569
575
  );
570
576
  }
571
577
 
572
- wrapMessage(message: Message): DyNTS_DiB_Message {
578
+ async wrapMessage(message: Message): Promise<DyNTS_DiB_Message> {
573
579
  let replyTo: Message | null = null;
574
580
  if (message.reference?.messageId) {
575
581
  replyTo = message.channel.messages.cache.get(
@@ -597,14 +603,14 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
597
603
 
598
604
  issuer: message.author.id,
599
605
 
600
- channel: this.wrapChannel(message.channel),
606
+ channel: await this.wrapChannel(message.channel),
601
607
  /* user: this.wrapUser(message.author), */
602
608
 
603
609
  provider: this,
604
610
  });
605
611
  }
606
612
 
607
- wrapChannel(channel: Channel): DyNTS_DiB_Channel {
613
+ async wrapChannel(channel: Channel): Promise<DyNTS_DiB_Channel> {
608
614
  return new DyNTS_Bot_ChannelWrapper<Channel>({
609
615
  id: channel.id,
610
616
  name: (channel as TextChannel).name || ('DM Channel with ' + (channel as DMChannel).recipient.username),
@@ -617,7 +623,7 @@ export class DyNTS_DiB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
617
623
  });
618
624
  }
619
625
 
620
- wrapUser(user: GuildMember): DyNTS_DiB_User {
626
+ async wrapUser(user: GuildMember): Promise<DyNTS_DiB_User> {
621
627
  return new DyNTS_Bot_UserWrapper<GuildMember>({
622
628
  id: user.user.id,
623
629
  username: user.user.username,
@@ -1,4 +1,4 @@
1
- import { DyFM_AnyError, DyFM_Error, DyFM_Log, week } from '@futdevpro/fsm-dynamo';
1
+ import { DyFM_AnyError, DyFM_Array, DyFM_Error, DyFM_Log, week } from '@futdevpro/fsm-dynamo';
2
2
  import {
3
3
  DyFM_Msg_Provider_Type, DyFM_Msg_Conversation, DyFM_Msg_EventKey, DyFM_Msg_Message, DyFM_Msg_Participant
4
4
  } from '@futdevpro/fsm-dynamo/messaging';
@@ -95,7 +95,7 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
95
95
  // Channel operations
96
96
  async getChannelByName(name: string): Promise<DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>> {
97
97
  if (this.channelCache.has(name)) {
98
- return this.wrapChannel(this.channelCache.get(name));
98
+ return await this.wrapChannel(this.channelCache.get(name));
99
99
  }
100
100
 
101
101
  const conversationService: DyNTS_Msg_Conversation_DataService = new DyNTS_Msg_Conversation_DataService({
@@ -116,12 +116,12 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
116
116
  }
117
117
 
118
118
  this.channelCache.set(name, conversation);
119
- return this.wrapChannel(conversation);
119
+ return await this.wrapChannel(conversation);
120
120
  }
121
121
 
122
122
  async getChannelById(id: string): Promise<DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>> {
123
123
  if (this.channelCache.has(id)) {
124
- return this.wrapChannel(this.channelCache.get(id));
124
+ return await this.wrapChannel(this.channelCache.get(id));
125
125
  }
126
126
 
127
127
  const conversationService: DyNTS_Msg_Conversation_DataService = new DyNTS_Msg_Conversation_DataService({
@@ -138,13 +138,13 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
138
138
  }
139
139
 
140
140
  this.channelCache.set(id, conversation);
141
- return this.wrapChannel(conversation);
141
+ return await this.wrapChannel(conversation);
142
142
  }
143
143
 
144
144
  async sendMessageToChannel(channel: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>, message: string, issuer: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
145
145
  const msg: DyFM_Msg_Message = await this.messaging_CS.sendMessage(channel.id, { content: message }, this.botId, issuer);
146
146
 
147
- return this.wrapMessage(msg);
147
+ return await this.wrapMessage(msg);
148
148
  }
149
149
 
150
150
  async sendMessageToChannelByName(channelName: string, message: string, issuer: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
@@ -200,7 +200,7 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
200
200
  $limit: limit
201
201
  });
202
202
 
203
- return messages.map((msg: DyFM_Msg_Message) => this.wrapMessage(msg));
203
+ return await DyFM_Array.asyncMap(messages, async (msg: DyFM_Msg_Message) => await this.wrapMessage(msg));
204
204
  }
205
205
 
206
206
  async fetchMessagesById(id: string, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
@@ -215,7 +215,7 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
215
215
  $limit: limit
216
216
  });
217
217
 
218
- return messages.map((msg: DyFM_Msg_Message) => this.wrapMessage(msg));
218
+ return await DyFM_Array.asyncMap(messages, async (msg: DyFM_Msg_Message) => await this.wrapMessage(msg));
219
219
  }
220
220
 
221
221
  async fetchMessagesForMessage(messageWrapper: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
@@ -244,7 +244,7 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
244
244
  joinedAt: new Date()
245
245
  };
246
246
 
247
- return this.wrapUser(userData);
247
+ return await this.wrapUser(userData);
248
248
  }
249
249
 
250
250
  getUserMention(userId: string): string {
@@ -255,7 +255,7 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
255
255
  const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
256
256
  const participants: DyFM_Msg_Participant[] = channelWrapper.rawPlatformChannel.participants || [];
257
257
 
258
- return participants.map(participant => this.wrapUser(participant));
258
+ return await DyFM_Array.asyncMap(participants, async (participant: DyFM_Msg_Participant) => await this.wrapUser(participant));
259
259
  }
260
260
 
261
261
  async readMemberNamesInChannel(channelName: string): Promise<string[]> {
@@ -364,9 +364,9 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
364
364
  }
365
365
 
366
366
  // Event binding
367
- create_onMessageEventListener(
368
- handler: (message: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, issuer: string) => void
369
- ): void {
367
+ async create_onMessageEventListener(
368
+ handler: (message: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, issuer: string) => Promise<void>
369
+ ): Promise<void> {
370
370
  // TODO: Implement message event listener for messaging system
371
371
  DyFM_Log.info('Message event listener created (messaging integration)');
372
372
  }
@@ -389,7 +389,7 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
389
389
  );
390
390
  }
391
391
 
392
- wrapMessage(msgMessage: DyFM_Msg_Message): DyNTS_Bot_MessageWrapper<DyFM_Msg_Message> {
392
+ async wrapMessage(msgMessage: DyFM_Msg_Message): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
393
393
  return new DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>({
394
394
  id: msgMessage._id,
395
395
  content: msgMessage.content,
@@ -418,10 +418,10 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
418
418
  });
419
419
  }
420
420
 
421
- wrapChannel(conversation: any): DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> {
421
+ async wrapChannel(conversation: DyFM_Msg_Conversation): Promise<DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>> {
422
422
  return new DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>({
423
- id: conversation._id || conversation.id,
424
- name: conversation.name || conversation.platformChannelId || 'unknown',
423
+ id: conversation._id,
424
+ name: conversation.title || conversation.platformChannelId || 'unknown',
425
425
  isTextBased: true,
426
426
  isDM: conversation.type === 'direct',
427
427
  isVoiceBased: false,
@@ -430,12 +430,12 @@ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
430
430
  });
431
431
  }
432
432
 
433
- wrapUser(user: any): DyNTS_Bot_UserWrapper<DyFM_Msg_Participant> {
433
+ async wrapUser(user: DyFM_Msg_Participant): Promise<DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>> {
434
434
  return new DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>({
435
- id: user.userId || user.id,
436
- username: user.username || user.userId || user.id,
437
- displayName: user.displayName || user.username || user.userId,
438
- isBot: user.isBot || false,
435
+ id: user.userId,
436
+ username: user.username,
437
+ displayName: user.displayName,
438
+ isBot: false,
439
439
  rawPlatformUser: user,
440
440
  provider: this
441
441
  });
@@ -161,9 +161,9 @@ export class DyNTS_SlB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
161
161
  }
162
162
 
163
163
  // Event binding
164
- create_onMessageEventListener(
165
- handler: (message: DyNTS_Bot_MessageWrapper<SlackMessage>, issuer: string) => void
166
- ): void {
164
+ async create_onMessageEventListener(
165
+ handler: (message: DyNTS_Bot_MessageWrapper<SlackMessage>, issuer: string) => Promise<void>
166
+ ): Promise<void> {
167
167
  throw new Error('Slack provider not yet implemented');
168
168
  }
169
169
 
@@ -179,15 +179,15 @@ export class DyNTS_SlB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
179
179
  throw new Error('Slack provider not yet implemented');
180
180
  }
181
181
 
182
- wrapMessage(message: SlackMessage): DyNTS_Bot_MessageWrapper<SlackMessage> {
182
+ wrapMessage(message: SlackMessage): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
183
183
  throw new Error('Slack provider not yet implemented');
184
184
  }
185
185
 
186
- wrapChannel(channel: SlackChannel): DyNTS_Bot_ChannelWrapper<SlackChannel> {
186
+ wrapChannel(channel: SlackChannel): Promise<DyNTS_Bot_ChannelWrapper<SlackChannel>> {
187
187
  throw new Error('Slack provider not yet implemented');
188
188
  }
189
189
 
190
- wrapUser(user: SlackUser): DyNTS_Bot_UserWrapper<SlackUser> {
190
+ wrapUser(user: SlackUser): Promise<DyNTS_Bot_UserWrapper<SlackUser>> {
191
191
  throw new Error('Slack provider not yet implemented');
192
192
  }
193
193
  }
@@ -161,9 +161,9 @@ export class DyNTS_TeB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
161
161
  }
162
162
 
163
163
  // Event binding
164
- create_onMessageEventListener(
165
- handler: (message: DyNTS_Bot_MessageWrapper<TeamsMessage>, issuer: string) => void
166
- ): void {
164
+ async create_onMessageEventListener(
165
+ handler: (message: DyNTS_Bot_MessageWrapper<TeamsMessage>, issuer: string) => Promise<void>
166
+ ): Promise<void> {
167
167
  throw new Error('Teams provider not yet implemented');
168
168
  }
169
169
 
@@ -179,15 +179,15 @@ export class DyNTS_TeB_MessagingProvider_ControlService extends DyNTS_Bot_Messag
179
179
  throw new Error('Teams provider not yet implemented');
180
180
  }
181
181
 
182
- wrapMessage(message: TeamsMessage): DyNTS_Bot_MessageWrapper<TeamsMessage> {
182
+ wrapMessage(message: TeamsMessage): Promise<DyNTS_Bot_MessageWrapper<TeamsMessage>> {
183
183
  throw new Error('Teams provider not yet implemented');
184
184
  }
185
185
 
186
- wrapChannel(channel: TeamsChannel): DyNTS_Bot_ChannelWrapper<TeamsChannel> {
186
+ wrapChannel(channel: TeamsChannel): Promise<DyNTS_Bot_ChannelWrapper<TeamsChannel>> {
187
187
  throw new Error('Teams provider not yet implemented');
188
188
  }
189
189
 
190
- wrapUser(user: TeamsUser): DyNTS_Bot_UserWrapper<TeamsUser> {
190
+ wrapUser(user: TeamsUser): Promise<DyNTS_Bot_UserWrapper<TeamsUser>> {
191
191
  throw new Error('Teams provider not yet implemented');
192
192
  }
193
193
  }
@@ -202,9 +202,9 @@ export abstract class DyNTS_Bot_Main_ControlService<
202
202
  DyFM_Log.success(`${provider.name} Error event registered`);
203
203
  }
204
204
 
205
- provider.create_onMessageEventListener((message: DyNTS_Bot_MessageWrapper<any>, messageIssuer: string) => {
205
+ provider.create_onMessageEventListener(async (message: DyNTS_Bot_MessageWrapper<any>, messageIssuer: string) => {
206
206
  try {
207
- this.botIO_CS._handleNewMessage(message, messageIssuer)
207
+ await this.botIO_CS._handleNewMessage(message, messageIssuer)
208
208
  } catch (error) {
209
209
  DyFM_Error.logSimple(`${provider.name} error handling new message:`, error);
210
210
  DyNTS_GlobalService.globalErrorHandler(error);
@@ -133,17 +133,17 @@ export abstract class DyNTS_Bot_MessagingProvider_ServiceBase<
133
133
  // /* handler: (message: DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>, issuer: string, providerId?: string) => void */
134
134
  //): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>>; /* void; */
135
135
  abstract create_onMessageEventListener(
136
- handler: (message: DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>, issuer: string) => void
137
- ): void;
136
+ handler: (message: DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>, issuer: string) => Promise<void>
137
+ ): Promise<void>;
138
138
  //abstract create_onReadyEventListener(handler: () => void): void;
139
139
  abstract create_onErrorEventListener(handler: (error: DyFM_AnyError) => void): void;
140
140
 
141
141
  abstract sendReport(message: string): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>>;
142
142
  abstract sendReportIn(message: string): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>>;
143
143
 
144
- abstract wrapMessage(message: T_MessagingPlatformMessage): DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>;
145
- abstract wrapChannel(channel: T_MessagingPlatformChannel): DyNTS_Bot_ChannelWrapper<T_MessagingPlatformChannel>;
146
- abstract wrapUser(user: T_MessagingPlatformUser): DyNTS_Bot_UserWrapper<T_MessagingPlatformUser>;
144
+ abstract wrapMessage(message: T_MessagingPlatformMessage): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>>;
145
+ abstract wrapChannel(channel: T_MessagingPlatformChannel): Promise<DyNTS_Bot_ChannelWrapper<T_MessagingPlatformChannel>>;
146
+ abstract wrapUser(user: T_MessagingPlatformUser): Promise<DyNTS_Bot_UserWrapper<T_MessagingPlatformUser>>;
147
147
 
148
148
  /* abstract channelIsTextBased(channel: T_MessagingPlatformChannel): boolean;
149
149
  abstract channelIsVoiceBased(channel: T_MessagingPlatformChannel): boolean;
@@ -67,6 +67,35 @@ export class DyNTS_DefaultEndpoints_Util {
67
67
  });
68
68
  }
69
69
 
70
+ static getGetMyEndpoint<T_Data extends DyFM_Metadata>(
71
+ set: {
72
+ entityName: string;
73
+ dataServiceClass: new (set: { data?: T_Data; issuer: string }) => DyNTS_DataService<T_Data>;
74
+ endpointPath: string;
75
+ authService: { authenticate_tokenSelf: (req: Request, res: Response) => Promise<void> };
76
+ }
77
+ ): DyNTS_Endpoint_Params {
78
+ const endpointName: string = `getMy${set.entityName}s`;
79
+
80
+ return new DyNTS_Endpoint_Params({
81
+ name: endpointName,
82
+ type: DyFM_HttpCallType.get,
83
+ endpoint: set.endpointPath,
84
+ preProcesses: [set.authService.authenticate_tokenSelf],
85
+ tasks: [
86
+ async (req: Request, res: Response, issuer: string): Promise<void> => {
87
+ const dataService: DyNTS_DataService<T_Data> = new set.dataServiceClass({
88
+ issuer: issuer,
89
+ });
90
+
91
+ const dataList: T_Data[] = await dataService.getDataListByDependencyId({ userId: req.params.userId });
92
+
93
+ res.send(dataService.getProvidedDataList(dataList));
94
+ },
95
+ ],
96
+ });
97
+ }
98
+
70
99
  /**
71
100
  * POST endpoint létrehozása adatok kereséséhez.
72
101
  *
@@ -111,9 +140,7 @@ export class DyNTS_DefaultEndpoints_Util {
111
140
 
112
141
  const searchResults: DyFM_SearchResult<T_Data> = await dataService.searchData(req.body);
113
142
 
114
- searchResults.results = searchResults.results.map((data: T_Data): T_Data => {
115
- return dataService.getProvidedData(data);
116
- });
143
+ searchResults.results = dataService.getProvidedDataList(searchResults.results);
117
144
 
118
145
  res.send(searchResults);
119
146
  },
@@ -320,7 +347,8 @@ export class DyNTS_DefaultEndpoints_Util {
320
347
  entityName: string;
321
348
  dataServiceClass: new (set: { data?: T_Data; issuer: string }) => DyNTS_DataService<T_Data>;
322
349
  endpoints: {
323
- get: string;
350
+ get?: string;
351
+ getMy?: string;
324
352
  search?: string;
325
353
  modify: string;
326
354
  patch?: string;
@@ -330,43 +358,64 @@ export class DyNTS_DefaultEndpoints_Util {
330
358
  idParamName?: string;
331
359
  }
332
360
  ): DyNTS_Endpoint_Params[] {
333
- return [
334
- this.getGetEndpoint<T_Data>({
361
+ const endpoints: DyNTS_Endpoint_Params[] = [];
362
+
363
+ if (set.endpoints.get) {
364
+ endpoints.push(this.getGetEndpoint<T_Data>({
335
365
  entityName: set.entityName,
336
366
  dataServiceClass: set.dataServiceClass,
337
367
  endpointPath: set.endpoints.get,
338
368
  authService: set.authService,
339
369
  idParamName: set.idParamName,
340
- }),
341
- this.getSearchEndpoint<T_Data>({
370
+ }));
371
+ }
372
+
373
+ if (set.endpoints.getMy) {
374
+ endpoints.push(this.getGetMyEndpoint<T_Data>({
375
+ entityName: set.entityName,
376
+ dataServiceClass: set.dataServiceClass,
377
+ endpointPath: set.endpoints.getMy,
378
+ authService: set.authService,
379
+ }));
380
+ }
381
+
382
+ if (set.endpoints.search) {
383
+ endpoints.push(this.getSearchEndpoint<T_Data>({
342
384
  entityName: set.entityName,
343
385
  dataServiceClass: set.dataServiceClass,
344
386
  endpointPath: set.endpoints.search,
345
387
  authService: set.authService,
346
- }),
347
- this.getModifyEndpoint<T_Data>({
388
+ }));
389
+ }
390
+
391
+ if (set.endpoints.modify) {
392
+ endpoints.push(this.getModifyEndpoint<T_Data>({
348
393
  entityName: set.entityName,
349
394
  dataServiceClass: set.dataServiceClass,
350
395
  endpointPath: set.endpoints.modify,
351
396
  authService: set.authService,
352
- }),
353
- ...(set.endpoints.patch ? [
354
- this.getPatchEndpoint<T_Data>({
355
- entityName: set.entityName,
356
- dataServiceClass: set.dataServiceClass,
357
- endpointPath: set.endpoints.patch,
358
- authService: set.authService,
359
- }),
360
- ] : []),
361
- ...(set.endpoints.delete ? [
362
- this.getDeleteEndpoint<T_Data>({
363
- entityName: set.entityName,
364
- dataServiceClass: set.dataServiceClass,
365
- endpointPath: set.endpoints.delete,
366
- authService: set.authService,
367
- idParamName: set.idParamName,
368
- }),
369
- ] : []),
370
- ];
397
+ }));
398
+ }
399
+
400
+ if (set.endpoints.patch) {
401
+ endpoints.push(this.getPatchEndpoint<T_Data>({
402
+ entityName: set.entityName,
403
+ dataServiceClass: set.dataServiceClass,
404
+ endpointPath: set.endpoints.patch,
405
+ authService: set.authService,
406
+ }));
407
+ }
408
+
409
+ if (set.endpoints.delete) {
410
+ endpoints.push(this.getDeleteEndpoint<T_Data>({
411
+ entityName: set.entityName,
412
+ dataServiceClass: set.dataServiceClass,
413
+ endpointPath: set.endpoints.delete,
414
+ authService: set.authService,
415
+ idParamName: set.idParamName,
416
+ }));
417
+ }
418
+
419
+ return endpoints;
371
420
  }
372
421
  }
@@ -2482,7 +2482,11 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
2482
2482
  getProvidedData(data: T): T {
2483
2483
  return data;
2484
2484
  }
2485
-
2485
+
2486
+ getProvidedDataList(dataList: T[]): T[] {
2487
+ return dataList;
2488
+ }
2489
+
2486
2490
  private _getDefaultErrorSettings(
2487
2491
  fnName: string,
2488
2492
  error: DyFM_AnyError
@@ -2504,6 +2508,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
2504
2508
  protected getDefaultErrorSettings(
2505
2509
  fnName: string,
2506
2510
  error: DyFM_AnyError,
2511
+ /** @deprecated we wont support the separate user message in the future, use the message instead */
2507
2512
  useMessageAsUserMessage: boolean = true,
2508
2513
  ): DyFM_Error_Settings {
2509
2514
  return {
@@ -16,6 +16,7 @@ export class DyNTS_SingletonService extends DyNTS_SingletonServiceBase {
16
16
  fnName: string,
17
17
  error: DyFM_AnyError,
18
18
  issuer: string,
19
+ /** @deprecated we wont support the separate user message in the future, use the message instead */
19
20
  useMessageAsUserMessage: boolean = true,
20
21
  /* errorCode: string, */
21
22
  ): DyFM_Error_Settings {
@@ -723,6 +723,7 @@ export class DyNTS_EmailService /* extends DyNTS_SingletonService */ {
723
723
  fnName: string,
724
724
  error: DyFM_AnyError,
725
725
  issuer: string,
726
+ /** @deprecated we wont support the separate user message in the future, use the message instead */
726
727
  useMessageAsUserMessage: boolean = true,
727
728
  ): DyFM_Error_Settings {
728
729
  return {
@@ -442,6 +442,7 @@ export class DyNTS_GlobalService extends DyNTS_SingletonService {
442
442
  fnName: string,
443
443
  error: DyFM_AnyError,
444
444
  issuer: string,
445
+ /** @deprecated we wont support the separate user message in the future, use the message instead */
445
446
  useMessageAsUserMessage: boolean = true,
446
447
  ): DyFM_Error_Settings {
447
448
  return {