@builder6/rooms 0.13.2 → 0.13.3

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.
@@ -3,14 +3,14 @@ import { JwtService } from '@nestjs/jwt';
3
3
  import { RoomDTO } from './dtos/rooms.dto';
4
4
  import { RoomMemberDTO } from './dtos/room_members.dto';
5
5
  import { NotificationsService } from './notifications.service';
6
- import { EmailNotificationService } from './emailNotification.service';
7
6
  export interface CreateThreadParams {
8
7
  id?: string;
9
8
  comment?: CreateCommentParams;
10
9
  metadata?: object;
11
- resolved: boolean;
10
+ resolved?: boolean;
12
11
  roomId?: string;
13
12
  userId?: string;
13
+ participantIds?: string[];
14
14
  }
15
15
  export interface CreateCommentParams {
16
16
  id?: string;
@@ -38,8 +38,7 @@ export declare class RoomsService {
38
38
  private mongodbService;
39
39
  private jwtService;
40
40
  private notificationsService;
41
- private emailNotificationService;
42
- constructor(mongodbService: MongodbService, jwtService: JwtService, notificationsService: NotificationsService, emailNotificationService: EmailNotificationService);
41
+ constructor(mongodbService: MongodbService, jwtService: JwtService, notificationsService: NotificationsService);
43
42
  getToken({ spaceId, userId, perms, }: {
44
43
  spaceId: string;
45
44
  userId: string;
@@ -26,7 +26,6 @@ const rooms_dto_1 = require("./dtos/rooms.dto");
26
26
  const lodash_1 = require("lodash");
27
27
  const notifications_service_1 = require("./notifications.service");
28
28
  const uuid_1 = require("uuid");
29
- const emailNotification_service_1 = require("./emailNotification.service");
30
29
  var CommentType;
31
30
  (function (CommentType) {
32
31
  CommentType["Paragraph"] = "paragraph";
@@ -37,11 +36,10 @@ var CommentBodyInlineType;
37
36
  CommentBodyInlineType["Link"] = "link";
38
37
  })(CommentBodyInlineType = exports.CommentBodyInlineType || (exports.CommentBodyInlineType = {}));
39
38
  let RoomsService = class RoomsService {
40
- constructor(mongodbService, jwtService, notificationsService, emailNotificationService) {
39
+ constructor(mongodbService, jwtService, notificationsService) {
41
40
  this.mongodbService = mongodbService;
42
41
  this.jwtService = jwtService;
43
42
  this.notificationsService = notificationsService;
44
- this.emailNotificationService = emailNotificationService;
45
43
  }
46
44
  getToken({ spaceId, userId, perms, }) {
47
45
  return __awaiter(this, void 0, void 0, function* () {
@@ -110,6 +108,10 @@ let RoomsService = class RoomsService {
110
108
  for (const userId of userIds) {
111
109
  const user = yield this.mongodbService.findOne('users', {
112
110
  _id: userId,
111
+ }, {
112
+ projection: {
113
+ name: 1,
114
+ },
113
115
  });
114
116
  users.push({
115
117
  name: user ? user.name : 'Unknown',
@@ -136,6 +138,9 @@ let RoomsService = class RoomsService {
136
138
  }
137
139
  const spaceUsers = yield this.mongodbService.find('space_users', query, {
138
140
  limit: 5,
141
+ projection: {
142
+ name: 1,
143
+ },
139
144
  });
140
145
  return spaceUsers.map((spaceUser) => spaceUser.user);
141
146
  });
@@ -216,6 +221,7 @@ let RoomsService = class RoomsService {
216
221
  type: 'thread',
217
222
  roomId,
218
223
  userId,
224
+ participantIds: [userId],
219
225
  };
220
226
  const result = yield this.mongodbService.insertOne('b6_threads', newThread);
221
227
  const newComment = yield this.createComment({
@@ -263,8 +269,6 @@ let RoomsService = class RoomsService {
263
269
  }
264
270
  }
265
271
  const { content } = body;
266
- let notificationsPromises;
267
- let createRoomMentionPromises;
268
272
  const mentionUsers = [];
269
273
  for (const message of content) {
270
274
  if (message.type === CommentType.Paragraph) {
@@ -273,36 +277,41 @@ let RoomsService = class RoomsService {
273
277
  .forEach((child) => mentionUsers.push(child.id));
274
278
  }
275
279
  }
280
+ const thread = yield this.getThread({ roomId, threadId });
281
+ if (thread) {
282
+ thread.participantIds = (0, lodash_1.uniq)((thread.participantIds || []).concat([userId]).concat(mentionUsers));
283
+ yield this.updateThread(threadId, {
284
+ participantIds: thread.participantIds,
285
+ });
286
+ }
287
+ let onThreadMentionPromises;
276
288
  if (mentionUsers && mentionUsers.length > 0) {
277
- const uniqUsers = (0, lodash_1.uniq)(mentionUsers);
278
- notificationsPromises = uniqUsers.map((mentionedUserId) => __awaiter(this, void 0, void 0, function* () {
279
- const _id = (0, uuid_1.v4)();
280
- const notification = yield this.notificationsService.createInboxNotification({
281
- _id,
282
- userId: mentionedUserId,
283
- kind: 'thread',
284
- notifiedAt: new Date(),
285
- readAt: null,
286
- roomId,
287
- threadId,
288
- });
289
- yield this.emailNotificationService.sendThreadNotificationEmail({
290
- roomId,
291
- threadId,
292
- userId: mentionedUserId,
293
- fromUserId: userId,
294
- inboxNotificationId: notification._id,
295
- });
296
- }));
297
- createRoomMentionPromises = uniqUsers.map((mentionedUserId) => {
298
- return this.notificationsService.createRoomMention({
289
+ const uniqUsers = (0, lodash_1.uniq)(mentionUsers).filter((mentionedUserId) => mentionedUserId !== userId);
290
+ onThreadMentionPromises = uniqUsers.map((mentionedUserId) => {
291
+ return this.notificationsService.onThreadNotification({
299
292
  userId: mentionedUserId,
300
293
  roomId,
301
294
  fromUserId: userId,
295
+ threadId,
296
+ type: 'mention',
302
297
  });
303
298
  });
304
- yield Promise.all([].concat(notificationsPromises, createRoomMentionPromises));
299
+ yield Promise.all([].concat(onThreadMentionPromises));
305
300
  }
301
+ const participantIds = thread.participantIds.filter((participantUserId) => {
302
+ return (participantUserId !== userId &&
303
+ !mentionUsers.includes(participantUserId));
304
+ });
305
+ const onThreadReplyPromises = participantIds.map((participantUserId) => {
306
+ return this.notificationsService.onThreadNotification({
307
+ userId: participantUserId,
308
+ roomId,
309
+ fromUserId: userId,
310
+ threadId,
311
+ type: 'reply',
312
+ });
313
+ });
314
+ yield Promise.all([].concat(onThreadReplyPromises));
306
315
  delete result['_id'];
307
316
  delete result['attachmentIds'];
308
317
  return result;
@@ -523,8 +532,7 @@ RoomsService = __decorate([
523
532
  (0, common_1.Injectable)(),
524
533
  __metadata("design:paramtypes", [core_1.MongodbService,
525
534
  jwt_1.JwtService,
526
- notifications_service_1.NotificationsService,
527
- emailNotification_service_1.EmailNotificationService])
535
+ notifications_service_1.NotificationsService])
528
536
  ], RoomsService);
529
537
  exports.RoomsService = RoomsService;
530
538
  //# sourceMappingURL=rooms.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rooms.service.js","sourceRoot":"","sources":["../../src/rooms/rooms.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rooms.service.js","sourceRoot":"","sources":["../../src/rooms/rooms.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder6/rooms",
3
- "version": "0.13.2",
3
+ "version": "0.13.3",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -11,11 +11,11 @@
11
11
  "build:watch": "rimraf dist && tsc --watch"
12
12
  },
13
13
  "dependencies": {
14
- "@builder6/core": "0.13.2",
15
- "@builder6/email": "0.13.2",
16
- "@builder6/files": "0.13.2",
17
- "@builder6/moleculer": "0.13.2",
18
- "@builder6/pages": "0.13.2",
14
+ "@builder6/core": "0.13.3",
15
+ "@builder6/email": "0.13.3",
16
+ "@builder6/files": "0.13.3",
17
+ "@builder6/moleculer": "0.13.3",
18
+ "@builder6/pages": "0.13.3",
19
19
  "@liveblocks/emails": "2.12.0",
20
20
  "@liveblocks/node": "2.12.0",
21
21
  "@react-email/components": "^0.0.31",
@@ -54,5 +54,5 @@
54
54
  "devDependencies": {
55
55
  "@types/lodash": "^4.17.13"
56
56
  },
57
- "gitHead": "51f569ac25c649ca961a859581d2bf1b23ffa8f3"
57
+ "gitHead": "08a745b0b9d3b6373d99a8f7e9be99180b494ad9"
58
58
  }
@@ -18,13 +18,7 @@ export class EmailNotificationService {
18
18
  private roomsService: RoomsService,
19
19
  private configService: ConfigService,
20
20
  private emailService: EmailService,
21
- ) {
22
- // this.liveblocks = new Liveblocks({
23
- // baseUrl: `${process.env.B6_HOST}`,
24
- // secret:
25
- // 'sk_dev_b5cEGS2Swc54G4W6Kj4fTGqIKEAI9WppHtlKNMrsMXfkoTPVoIBlmKNVnlMyUSX_',
26
- // } as any);
27
- }
21
+ ) {}
28
22
 
29
23
  async sendThreadNotificationEmail({
30
24
  roomId,
@@ -70,6 +64,9 @@ export class EmailNotificationService {
70
64
  if (!emailData) {
71
65
  return;
72
66
  }
67
+ const fromUser = (await this.roomsService.resolveUsers({
68
+ userIds: [fromUserId],
69
+ })[0]) || { name: 'Somebody' };
73
70
  const company = {
74
71
  name: this.configService.get('tenant.name'),
75
72
  url: this.configService.get('host'),
@@ -105,7 +102,7 @@ export class EmailNotificationService {
105
102
  comment={emailData.comment}
106
103
  />
107
104
  );
108
- subject = `[${company.name}] You are mentioned in ${room.name}.`;
105
+ subject = `[${company.name}] ${fromUser.name} mentioned you in ${room.name}.`;
109
106
  break;
110
107
  }
111
108
  }
@@ -8,25 +8,25 @@ import type {
8
8
  InboxNotificationData,
9
9
  OptionalPromise,
10
10
  ResolveUsersArgs,
11
- } from "@liveblocks/core";
11
+ } from '@liveblocks/core';
12
12
  import {
13
13
  generateCommentUrl,
14
14
  getMentionedIdsFromCommentBody,
15
- } from "@liveblocks/core";
16
- import type { Liveblocks, ThreadNotificationEvent } from "@liveblocks/node";
17
- import type React from "react";
15
+ } from '@liveblocks/core';
16
+ import type { Liveblocks, ThreadNotificationEvent } from '@liveblocks/node';
17
+ import type React from 'react';
18
18
 
19
19
  import type {
20
20
  ConvertCommentBodyAsHtmlStyles,
21
21
  ConvertCommentBodyAsReactComponents,
22
- } from "./comment-body";
22
+ } from './comment-body';
23
23
  import {
24
24
  convertCommentBodyAsHtml,
25
25
  convertCommentBodyAsReact,
26
- } from "./comment-body";
27
- import type { CommentDataWithBody } from "./comment-with-body";
28
- import { filterCommentsWithBody } from "./comment-with-body";
29
- import { createBatchUsersResolver } from "./lib/batch-users-resolver";
26
+ } from './comment-body';
27
+ import type { CommentDataWithBody } from './comment-with-body';
28
+ import { filterCommentsWithBody } from './comment-with-body';
29
+ import { createBatchUsersResolver } from './lib/batch-users-resolver';
30
30
 
31
31
  /** @internal */
32
32
  export const getUnreadComments = ({
@@ -41,13 +41,13 @@ export const getUnreadComments = ({
41
41
  const commentsWithBody = filterCommentsWithBody(comments);
42
42
  const readAt = inboxNotification.readAt;
43
43
 
44
- return commentsWithBody
45
- // .filter((c) => c.userId !== userId)
46
- // .filter((c) =>
47
- // readAt
48
- // ? c.createdAt > readAt && c.createdAt <= inboxNotification.notifiedAt
49
- // : c.createdAt <= inboxNotification.notifiedAt
50
- // );
44
+ return commentsWithBody;
45
+ // .filter((c) => c.userId !== userId)
46
+ // .filter((c) =>
47
+ // readAt
48
+ // ? c.createdAt > readAt && c.createdAt <= inboxNotification.notifiedAt
49
+ // : c.createdAt <= inboxNotification.notifiedAt
50
+ // );
51
51
  };
52
52
 
53
53
  /** @internal */
@@ -70,8 +70,8 @@ export const getLastUnreadCommentWithMention = ({
70
70
  };
71
71
 
72
72
  export type ThreadNotificationData =
73
- | { type: "unreadMention"; comment: CommentDataWithBody }
74
- | { type: "unreadReplies"; comments: CommentDataWithBody[] };
73
+ | { type: 'unreadMention'; comment: CommentDataWithBody }
74
+ | { type: 'unreadReplies'; comments: CommentDataWithBody[] };
75
75
 
76
76
  /** @internal */
77
77
  export const extractThreadNotificationData = async ({
@@ -102,11 +102,11 @@ export const extractThreadNotificationData = async ({
102
102
  mentionedUserId: userId,
103
103
  });
104
104
  if (lastUnreadCommentWithMention !== null) {
105
- return { type: "unreadMention", comment: lastUnreadCommentWithMention };
105
+ return { type: 'unreadMention', comment: lastUnreadCommentWithMention };
106
106
  }
107
107
 
108
108
  return {
109
- type: "unreadReplies",
109
+ type: 'unreadReplies',
110
110
  comments: unreadComments,
111
111
  };
112
112
  };
@@ -133,13 +133,13 @@ type PrepareThreadNotificationEmailBaseDataOptions = {
133
133
  * A function that returns room info from room IDs.
134
134
  */
135
135
  resolveRoomInfo?: (
136
- args: ResolveRoomInfoArgs
136
+ args: ResolveRoomInfoArgs,
137
137
  ) => OptionalPromise<DRI | undefined>;
138
138
  };
139
139
 
140
140
  export type ThreadNotificationEmailBaseData = (
141
- | { type: "unreadMention"; comment: CommentEmailBaseData }
142
- | { type: "unreadReplies"; comments: CommentEmailBaseData[] }
141
+ | { type: 'unreadMention'; comment: CommentEmailBaseData }
142
+ | { type: 'unreadReplies'; comments: CommentEmailBaseData[] }
143
143
  ) & { roomInfo: DRI };
144
144
 
145
145
  /** @internal */
@@ -194,20 +194,20 @@ export const prepareThreadNotificationEmailBaseData = async ({
194
194
  }
195
195
 
196
196
  switch (data.type) {
197
- case "unreadMention":
197
+ case 'unreadMention':
198
198
  return {
199
- type: "unreadMention",
199
+ type: 'unreadMention',
200
200
  comment: makeCommentEmailBaseData({
201
201
  roomInfo,
202
202
  comment: data.comment,
203
203
  }),
204
204
  roomInfo: resolvedRoomInfo,
205
205
  };
206
- case "unreadReplies": {
206
+ case 'unreadReplies': {
207
207
  return {
208
- type: "unreadReplies",
208
+ type: 'unreadReplies',
209
209
  comments: data.comments.map((comment) =>
210
- makeCommentEmailBaseData({ roomInfo, comment })
210
+ makeCommentEmailBaseData({ roomInfo, comment }),
211
211
  ),
212
212
  roomInfo: resolvedRoomInfo,
213
213
  };
@@ -222,10 +222,10 @@ const resolveAuthorsInfo = async <U extends BaseUserMeta>({
222
222
  }: {
223
223
  comments: CommentEmailBaseData[];
224
224
  resolveUsers?: (
225
- args: ResolveUsersArgs
226
- ) => OptionalPromise<(U["info"] | undefined)[] | undefined>;
227
- }): Promise<Map<string, U["info"]>> => {
228
- const resolvedAuthors = new Map<string, U["info"]>();
225
+ args: ResolveUsersArgs,
226
+ ) => OptionalPromise<(U['info'] | undefined)[] | undefined>;
227
+ }): Promise<Map<string, U['info']>> => {
228
+ const resolvedAuthors = new Map<string, U['info']>();
229
229
  if (!resolveUsers) {
230
230
  return resolvedAuthors;
231
231
  }
@@ -245,7 +245,7 @@ const resolveAuthorsInfo = async <U extends BaseUserMeta>({
245
245
 
246
246
  export type CommentEmailAsHtmlData<U extends BaseUserMeta = DU> = Omit<
247
247
  CommentEmailBaseData,
248
- "userId" | "rawBody"
248
+ 'userId' | 'rawBody'
249
249
  > & {
250
250
  author: U;
251
251
  htmlBody: string;
@@ -253,7 +253,7 @@ export type CommentEmailAsHtmlData<U extends BaseUserMeta = DU> = Omit<
253
253
 
254
254
  export type CommentEmailAsReactData<U extends BaseUserMeta = DU> = Omit<
255
255
  CommentEmailBaseData,
256
- "userId" | "rawBody"
256
+ 'userId' | 'rawBody'
257
257
  > & {
258
258
  author: U;
259
259
  reactBody: React.ReactNode;
@@ -263,7 +263,7 @@ type ThreadNotificationEmailUnreadRepliesData<
263
263
  U extends BaseUserMeta,
264
264
  C extends CommentEmailAsHtmlData<U> | CommentEmailAsReactData<U>,
265
265
  > = {
266
- type: "unreadReplies";
266
+ type: 'unreadReplies';
267
267
  comments: C[];
268
268
  };
269
269
 
@@ -271,7 +271,7 @@ type ThreadNotificationEmailUnreadMentionsData<
271
271
  U extends BaseUserMeta,
272
272
  C extends CommentEmailAsHtmlData<U> | CommentEmailAsReactData<U>,
273
273
  > = {
274
- type: "unreadMention";
274
+ type: 'unreadMention';
275
275
  comment: C;
276
276
  };
277
277
 
@@ -291,8 +291,8 @@ export type PrepareThreadNotificationEmailAsHtmlOptions<
291
291
  * A function that returns info from user IDs.
292
292
  */
293
293
  resolveUsers?: (
294
- args: ResolveUsersArgs
295
- ) => OptionalPromise<(U["info"] | undefined)[] | undefined>;
294
+ args: ResolveUsersArgs,
295
+ ) => OptionalPromise<(U['info'] | undefined)[] | undefined>;
296
296
  /**
297
297
  * The styles used to customize the html elements in the resulting html safe string inside a comment body.
298
298
  * Each styles has priority over the base styles inherited.
@@ -334,7 +334,7 @@ export type ThreadNotificationEmailDataAsHtml = ThreadNotificationEmailData<
334
334
  export async function prepareThreadNotificationEmailAsHtml(
335
335
  client: Liveblocks,
336
336
  event: ThreadNotificationEvent,
337
- options: PrepareThreadNotificationEmailAsHtmlOptions<BaseUserMeta> = {}
337
+ options: PrepareThreadNotificationEmailAsHtmlOptions<BaseUserMeta> = {},
338
338
  ): Promise<ThreadNotificationEmailDataAsHtml | null> {
339
339
  const data = await prepareThreadNotificationEmailBaseData({
340
340
  client,
@@ -348,11 +348,11 @@ export async function prepareThreadNotificationEmailAsHtml(
348
348
 
349
349
  const batchUsersResolver = createBatchUsersResolver<BaseUserMeta>({
350
350
  resolveUsers: options.resolveUsers,
351
- callerName: "prepareThreadNotificationEmailAsHtml",
351
+ callerName: 'prepareThreadNotificationEmailAsHtml',
352
352
  });
353
353
 
354
354
  switch (data.type) {
355
- case "unreadMention": {
355
+ case 'unreadMention': {
356
356
  const { comment } = data;
357
357
 
358
358
  const authorsInfoPromise = resolveAuthorsInfo({
@@ -373,7 +373,7 @@ export async function prepareThreadNotificationEmailAsHtml(
373
373
  const authorInfo = authorsInfo.get(comment.userId);
374
374
 
375
375
  return {
376
- type: "unreadMention",
376
+ type: 'unreadMention',
377
377
  comment: {
378
378
  id: comment.id,
379
379
  threadId: comment.threadId,
@@ -388,7 +388,7 @@ export async function prepareThreadNotificationEmailAsHtml(
388
388
  roomInfo: data.roomInfo,
389
389
  };
390
390
  }
391
- case "unreadReplies": {
391
+ case 'unreadReplies': {
392
392
  const { comments } = data;
393
393
 
394
394
  const authorsInfoPromise = resolveAuthorsInfo({
@@ -399,7 +399,7 @@ export async function prepareThreadNotificationEmailAsHtml(
399
399
  convertCommentBodyAsHtml(c.rawBody, {
400
400
  resolveUsers: batchUsersResolver.resolveUsers,
401
401
  styles: options.styles,
402
- })
402
+ }),
403
403
  );
404
404
 
405
405
  await batchUsersResolver.resolve();
@@ -410,7 +410,7 @@ export async function prepareThreadNotificationEmailAsHtml(
410
410
  ]);
411
411
 
412
412
  return {
413
- type: "unreadReplies",
413
+ type: 'unreadReplies',
414
414
  comments: comments.map((comment, index) => {
415
415
  const authorInfo = authorsInfo.get(comment.userId);
416
416
  const commentBodyHtml = commentBodies[index];
@@ -424,7 +424,7 @@ export async function prepareThreadNotificationEmailAsHtml(
424
424
  : { id: comment.userId, info: { name: comment.userId } },
425
425
  createdAt: comment.createdAt,
426
426
  url: comment.url,
427
- htmlBody: commentBodyHtml ?? "",
427
+ htmlBody: commentBodyHtml ?? '',
428
428
  };
429
429
  }),
430
430
  roomInfo: data.roomInfo,
@@ -440,8 +440,8 @@ export type PrepareThreadNotificationEmailAsReactOptions<
440
440
  * A function that returns info from user IDs.
441
441
  */
442
442
  resolveUsers?: (
443
- args: ResolveUsersArgs
444
- ) => OptionalPromise<(U["info"] | undefined)[] | undefined>;
443
+ args: ResolveUsersArgs,
444
+ ) => OptionalPromise<(U['info'] | undefined)[] | undefined>;
445
445
  /**
446
446
  * The components used to customize the resulting React nodes inside a comment body.
447
447
  * Each components has priority over the base components inherited internally defined.
@@ -482,7 +482,7 @@ export type ThreadNotificationEmailDataAsReact = ThreadNotificationEmailData<
482
482
  export async function prepareThreadNotificationEmailAsReact(
483
483
  client: Liveblocks,
484
484
  event: ThreadNotificationEvent,
485
- options: PrepareThreadNotificationEmailAsReactOptions<BaseUserMeta> = {}
485
+ options: PrepareThreadNotificationEmailAsReactOptions<BaseUserMeta> = {},
486
486
  ): Promise<ThreadNotificationEmailDataAsReact | null> {
487
487
  const data = await prepareThreadNotificationEmailBaseData({
488
488
  client,
@@ -496,11 +496,11 @@ export async function prepareThreadNotificationEmailAsReact(
496
496
 
497
497
  const batchUsersResolver = createBatchUsersResolver<BaseUserMeta>({
498
498
  resolveUsers: options.resolveUsers,
499
- callerName: "prepareThreadNotificationEmailAsReact",
499
+ callerName: 'prepareThreadNotificationEmailAsReact',
500
500
  });
501
501
 
502
502
  switch (data.type) {
503
- case "unreadMention": {
503
+ case 'unreadMention': {
504
504
  const { comment } = data;
505
505
 
506
506
  const authorsInfoPromise = resolveAuthorsInfo({
@@ -522,7 +522,7 @@ export async function prepareThreadNotificationEmailAsReact(
522
522
  const authorInfo = authorsInfo.get(comment.userId);
523
523
 
524
524
  return {
525
- type: "unreadMention",
525
+ type: 'unreadMention',
526
526
  comment: {
527
527
  id: comment.id,
528
528
  threadId: comment.threadId,
@@ -537,7 +537,7 @@ export async function prepareThreadNotificationEmailAsReact(
537
537
  roomInfo: data.roomInfo,
538
538
  };
539
539
  }
540
- case "unreadReplies": {
540
+ case 'unreadReplies': {
541
541
  const { comments } = data;
542
542
  const authorsInfoPromise = resolveAuthorsInfo({
543
543
  comments,
@@ -548,7 +548,7 @@ export async function prepareThreadNotificationEmailAsReact(
548
548
  convertCommentBodyAsReact(c.rawBody, {
549
549
  resolveUsers: batchUsersResolver.resolveUsers,
550
550
  components: options.components,
551
- })
551
+ }),
552
552
  );
553
553
 
554
554
  await batchUsersResolver.resolve();
@@ -559,7 +559,7 @@ export async function prepareThreadNotificationEmailAsReact(
559
559
  ]);
560
560
 
561
561
  return {
562
- type: "unreadReplies",
562
+ type: 'unreadReplies',
563
563
  comments: comments.map((comment, index) => {
564
564
  const authorInfo = authorsInfo.get(comment.userId);
565
565
  const commentBodyReact = commentBodies[index];