@builder6/rooms 0.10.4 → 0.10.5

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/README.md CHANGED
@@ -16,5 +16,5 @@ https://liveblocks.io/docs/api-reference/rest-api-endpoints#Room
16
16
  - b6_room_members
17
17
  - b6_threads
18
18
  - b6_comments
19
- - b6_notifications
19
+ - b6_inbox_notifications
20
20
  ```
@@ -0,0 +1,9 @@
1
+ export declare class InboxNotificationDTO {
2
+ _id: string;
3
+ userId: string;
4
+ kind: string;
5
+ notifiedAt?: Date;
6
+ readAt?: Date;
7
+ roomId: string;
8
+ threadId: string;
9
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InboxNotificationDTO = void 0;
4
+ class InboxNotificationDTO {
5
+ }
6
+ exports.InboxNotificationDTO = InboxNotificationDTO;
7
+ //# sourceMappingURL=inbox_notifications.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox_notifications.dto.js","sourceRoot":"","sources":["../../../src/rooms/dtos/inbox_notifications.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;CAQhC;AARD,oDAQC"}
@@ -1,10 +1,14 @@
1
1
  export declare class NotificationDTO {
2
- _id: string;
3
- id: string;
4
- userId: string;
5
- kind: string;
6
- notifiedAt?: Date;
7
- readAt?: Date;
8
- roomId: string;
9
- threadId: string;
2
+ _id?: string;
3
+ name: string;
4
+ body: string;
5
+ related_to: {
6
+ o: string;
7
+ ids: string[];
8
+ };
9
+ related_name: string;
10
+ from: string;
11
+ space: string;
12
+ owner: string;
13
+ is_read: boolean;
10
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.dto.js","sourceRoot":"","sources":["../../../src/rooms/dtos/notifications.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;CAS3B;AATD,0CASC"}
1
+ {"version":3,"file":"notifications.dto.js","sourceRoot":"","sources":["../../../src/rooms/dtos/notifications.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;CAa3B;AAbD,0CAaC"}
@@ -1,16 +1,18 @@
1
1
  import { MongodbService } from '@builder6/core';
2
2
  import { ServiceBroker } from 'moleculer';
3
+ import { InboxNotificationDTO } from './dtos/inbox_notifications.dto';
3
4
  import { NotificationDTO } from './dtos/notifications.dto';
4
5
  export declare class NotificationsService {
5
6
  private mongodbService;
6
7
  private readonly broker;
7
8
  private readonly logger;
8
9
  constructor(mongodbService: MongodbService, broker: ServiceBroker);
9
- createRoomMention({ roomId, userId, }: {
10
+ createRoomMention({ roomId, userId, fromUserId, }: {
10
11
  roomId: string;
11
12
  userId: string;
13
+ fromUserId: string;
12
14
  }): Promise<void>;
13
- createThreadNotification({ _id, id, userId, kind, notifiedAt, readAt, roomId, threadId, }: NotificationDTO): Promise<any>;
15
+ createInboxNotification({ _id, userId, kind, notifiedAt, readAt, roomId, threadId, }: InboxNotificationDTO): Promise<any>;
14
16
  findNotifications({ userId, unread, limit, sinceDate, roomId, threadId, }: {
15
17
  userId: string;
16
18
  unread?: boolean;
@@ -24,4 +26,5 @@ export declare class NotificationsService {
24
26
  userId: string;
25
27
  inboxNotificationIds: string[] | 'all';
26
28
  }): Promise<any>;
29
+ createNotification({ name, body, related_to, from, space, owner, is_read, }: NotificationDTO): Promise<any>;
27
30
  }
@@ -25,7 +25,7 @@ let NotificationsService = NotificationsService_1 = class NotificationsService {
25
25
  this.broker = broker;
26
26
  this.logger = new common_1.Logger(NotificationsService_1.name);
27
27
  }
28
- async createRoomMention({ roomId, userId, }) {
28
+ async createRoomMention({ roomId, userId, fromUserId, }) {
29
29
  if (roomId && roomId.split(':').length === 3) {
30
30
  const [objects, objectName, recordId] = roomId.split(':');
31
31
  if (objects === 'objects') {
@@ -33,14 +33,37 @@ let NotificationsService = NotificationsService_1 = class NotificationsService {
33
33
  this.broker.emit(`${objectName}.mentioned`, {
34
34
  recordId,
35
35
  userId,
36
+ fromUserId,
37
+ });
38
+ const record = await this.mongodbService.findOne(objectName, {
39
+ _id: recordId,
40
+ }, {
41
+ projection: {
42
+ name: 1,
43
+ space: 1,
44
+ owner: 1,
45
+ },
46
+ });
47
+ await this.createNotification({
48
+ name: record.name,
49
+ body: `You were mentioned`,
50
+ related_to: {
51
+ o: objectName,
52
+ ids: [recordId],
53
+ },
54
+ related_name: record.name,
55
+ from: fromUserId,
56
+ space: record.space,
57
+ owner: userId,
58
+ is_read: false,
36
59
  });
37
60
  }
38
61
  }
39
62
  }
40
- async createThreadNotification({ _id, id, userId, kind = 'thread', notifiedAt, readAt, roomId, threadId, }) {
41
- return this.mongodbService.insertOne('b6_notifications', {
63
+ async createInboxNotification({ _id, userId, kind = 'thread', notifiedAt, readAt, roomId, threadId, }) {
64
+ return this.mongodbService.insertOne('b6_inbox_notifications', {
42
65
  _id,
43
- id,
66
+ id: _id,
44
67
  userId,
45
68
  kind,
46
69
  notifiedAt,
@@ -60,7 +83,7 @@ let NotificationsService = NotificationsService_1 = class NotificationsService {
60
83
  queryOptions.roomId = roomId;
61
84
  if (threadId)
62
85
  queryOptions.threadId = threadId;
63
- const collection = (await this.mongodbService.getCollection('b6_notifications'));
86
+ const collection = (await this.mongodbService.getCollection('b6_inbox_notifications'));
64
87
  const query = collection.find(queryOptions).sort({ notifiedAt: 1 });
65
88
  if (limit)
66
89
  query.limit(limit);
@@ -73,11 +96,22 @@ let NotificationsService = NotificationsService_1 = class NotificationsService {
73
96
  if ((0, lodash_1.isArray)(inboxNotificationIds)) {
74
97
  queryOptions._id = { $in: inboxNotificationIds };
75
98
  }
76
- const collection = (await this.mongodbService.getCollection('b6_notifications'));
99
+ const collection = (await this.mongodbService.getCollection('b6_inbox_notifications'));
77
100
  return collection.updateMany(queryOptions, {
78
101
  $set: { readAt: new Date() },
79
102
  });
80
103
  }
104
+ async createNotification({ name, body, related_to, from, space, owner, is_read = false, }) {
105
+ return await this.mongodbService.insertOne('notifications', {
106
+ name,
107
+ body,
108
+ related_to,
109
+ from,
110
+ space,
111
+ owner,
112
+ is_read,
113
+ });
114
+ }
81
115
  };
82
116
  NotificationsService = NotificationsService_1 = __decorate([
83
117
  (0, common_1.Injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.service.js","sourceRoot":"","sources":["../../src/rooms/notifications.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications.service.js","sourceRoot":"","sources":["../../src/rooms/notifications.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import { FilesService } from '@builder6/core';
2
3
  import { RoomsService } from './rooms.service';
3
4
  import { JwtService } from '@nestjs/jwt';
@@ -49,7 +50,7 @@ export declare class RoomsController {
49
50
  createThread(req: Request, roomId: string, record: Record<string, any>): Promise<any>;
50
51
  threadWithNotification(req: Request, roomId: string, threadId: string): Promise<{
51
52
  thread: any;
52
- inboxNotification: import("lodash").Omit<any, "userId" | "_id">;
53
+ inboxNotification: import("lodash").Omit<any, "_id" | "userId">;
53
54
  }>;
54
55
  threadMarkasResolved(req: Request, roomId: string, threadId: string): Promise<any>;
55
56
  threadMarkasUnResolved(req: Request, roomId: string, threadId: string): Promise<any>;
@@ -8,4 +8,5 @@ export declare class RoomsMoleculer extends Service {
8
8
  serviceStopped(): Promise<void>;
9
9
  createThread(ctx: Context): Promise<any>;
10
10
  createComment(ctx: Context): Promise<any>;
11
+ createNotification(ctx: Context): Promise<any>;
11
12
  }
@@ -27,6 +27,7 @@ let RoomsMoleculer = class RoomsMoleculer extends moleculer_1.Service {
27
27
  actions: {
28
28
  createComment: this.createComment,
29
29
  createThread: this.createThread,
30
+ createNotification: this.createNotification,
30
31
  },
31
32
  created: this.serviceCreated,
32
33
  started: this.serviceStarted,
@@ -80,6 +81,29 @@ let RoomsMoleculer = class RoomsMoleculer extends moleculer_1.Service {
80
81
  };
81
82
  }
82
83
  }
84
+ async createNotification(ctx) {
85
+ const { name, body, from, owner, related_name, related_to, space } = ctx.params;
86
+ try {
87
+ const result = this.notificationService.createNotification({
88
+ name,
89
+ body,
90
+ from,
91
+ owner,
92
+ related_name,
93
+ related_to,
94
+ space,
95
+ });
96
+ return result;
97
+ }
98
+ catch (error) {
99
+ console.error(error);
100
+ return {
101
+ error: {
102
+ message: error.message,
103
+ },
104
+ };
105
+ }
106
+ }
83
107
  };
84
108
  RoomsMoleculer = __decorate([
85
109
  (0, common_1.Injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"rooms.moleculer.js","sourceRoot":"","sources":["../../src/rooms/rooms.moleculer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA4D;AAC5D,2CAA4C;AAC5C,mDAAmD;AACnD,mDAA+C;AAGxC,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,mBAAO;IACzC,YACmB,YAA0B,EAC3B,MAAqB;QAErC,KAAK,CAAC,MAAM,CAAC,CAAC;QAHG,iBAAY,GAAZ,YAAY,CAAc;QAK3C,IAAI,CAAC,kBAAkB,CAAC;YACtB,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC;YACD,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,cAAc,KAAI,CAAC;IAEnB,KAAK,CAAC,cAAc,KAAI,CAAC;IAEzB,KAAK,CAAC,cAAc,KAAI,CAAC;IAEzB,KAAK,CAAC,YAAY,CAAC,GAAY;QAC7B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GACvD,GAAG,CAAC,MAAa,CAAC;QACpB,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC5C,EAAE;gBACF,OAAO;gBACP,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;gBACL,KAAK,EAAE;oBACL,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAY;QAC9B,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GACzD,GAAG,CAAC,MAAa,CAAC;QACpB,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;gBAC7C,EAAE;gBACF,aAAa;gBACb,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;gBACL,KAAK,EAAE;oBACL,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;SACH;IACH,CAAC;CACF,CAAA;AAvEY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,wBAAY,GAAE,CAAA;qCADgB,4BAAY;QACnB,yBAAa;GAH5B,cAAc,CAuE1B;AAvEY,wCAAc"}
1
+ {"version":3,"file":"rooms.moleculer.js","sourceRoot":"","sources":["../../src/rooms/rooms.moleculer.ts"],"names":[],"mappings":"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"}
@@ -221,12 +221,11 @@ let RoomsService = class RoomsService {
221
221
  }
222
222
  if (mentionUsers && mentionUsers.length > 0) {
223
223
  const uniqUsers = (0, lodash_1.uniq)(mentionUsers);
224
- notificationsPromises = uniqUsers.map((userId) => {
225
- const id = (0, uuid_1.v4)();
226
- return this.notificationsService.createThreadNotification({
227
- _id: id,
228
- id,
229
- userId,
224
+ notificationsPromises = uniqUsers.map((mentionedUserId) => {
225
+ const _id = (0, uuid_1.v4)();
226
+ return this.notificationsService.createInboxNotification({
227
+ _id,
228
+ userId: mentionedUserId,
230
229
  kind: 'thread',
231
230
  notifiedAt: new Date(),
232
231
  readAt: null,
@@ -234,10 +233,11 @@ let RoomsService = class RoomsService {
234
233
  threadId,
235
234
  });
236
235
  });
237
- createRoomMentionPromises = uniqUsers.map((userId) => {
236
+ createRoomMentionPromises = uniqUsers.map((mentionedUserId) => {
238
237
  return this.notificationsService.createRoomMention({
239
- userId,
238
+ userId: mentionedUserId,
240
239
  roomId,
240
+ fromUserId: userId,
241
241
  });
242
242
  });
243
243
  await Promise.all([].concat(notificationsPromises, createRoomMentionPromises));
@@ -1 +1 @@
1
- {"version":3,"file":"rooms.service.js","sourceRoot":"","sources":["../../src/rooms/rooms.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAgD;AAChD,qCAAyC;AACzC,2CAA4C;AAC5C,gDAAwD;AAExD,mCAA8B;AAC9B,mEAA+D;AAC/D,+BAAoC;AA6BpC,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,sCAAuB,CAAA;AACzB,CAAC,EAFW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAEtB;AAED,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,sCAAa,CAAA;AACf,CAAC,EAHW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAGhC;AAGM,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YACU,cAA8B,EAC9B,UAAsB,EACtB,oBAA0C;QAF1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAY;QACtB,yBAAoB,GAApB,oBAAoB,CAAsB;IACjD,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,EACb,OAAO,EACP,MAAM,EACN,KAAK,GAKN;QACC,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,KAAK;YACR,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,cAAc;SACpB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EACjB,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,GAAG,KAAK,GAMjB;QACC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;gBAC3B,GAAG,EAAE,MAAM;gBACX,IAAI,EAAE,OAAO,GAAG,MAAM;aACvB,CAAC,CAAC;SACJ;QAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;gBACzC,MAAM;aACP,CAAC,CAAC;SACJ;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,uBAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAEtD,MAAM,KAAK,GAAG;YACZ,CAAC,MAAM,CAAC,EAAE,MAAM;SACjB,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC;YACzB,OAAO;YACP,MAAM;YACN,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAI1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAClD,sBAAsB,EACtB;YACE,GAAG,EAAE,YAAY;SAClB,CACF,CAAC;QACF,OAAO;YACL,EAAE,EAAE,YAAY;YAChB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;YAClC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;YAC9B,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;YAC9B,IAAI,EAAE,YAAY;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA0B;QACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE;gBACtD,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAClC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS;aAC9C,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,KAAK,CAAC,WAAW,CACf,OAAe,EACf,OAAe,EACf,MAAc;QAEd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE;YAC/D,KAAK,EAAE,OAAO;YACd,GAAG,EAAE;gBACH,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;gBAChD,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;gBAC7C,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;aAC7C;SACF,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAc,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAAgB;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,KAAY;QAC3C,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,MAAM,EAAS,CAAC;QAC/C,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SACzC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAE3E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC5B;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,aAQG;QAEH,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,cAAc,CAAC,IAAI,CACjB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAC3D,CAAC;SACH;QACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACpC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,QAAgB;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE;gBAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBAC9D,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACtC;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EACjB,EAAE,EACF,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,MAAM,GACa;QACnB,MAAM,SAAS,GAAG;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG,EAAE,EAAE;YACP,EAAE;YACF,QAAQ;YACR,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,MAAM;YACN,MAAM;SACP,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE5E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YAC1C,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;YACN,QAAQ,EAAE,EAAE;YACZ,MAAM;SACP,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAA2B;QACtD,MAAM,SAAS,GAAG;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG,MAAM;SACV,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CACvD,YAAY,EACZ,EAAE,GAAG,EAAE,QAAQ,EAAE,EACjB,SAAS,CACV,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAClB,EAAE,EACF,aAAa,EACb,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,MAAM,GACc;QACpB,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG,EAAE,EAAE;YACP,EAAE;YACF,SAAS,EAAE,EAAE;YACb,MAAM;YACN,QAAQ;YACR,MAAM;YACN,IAAI,EAAE,SAAS;YACf,aAAa;YACb,IAAI;SACL,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAChD,aAAa,EACb,UAAU,CACX,CAAC;QACF,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;YACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACrC;QAGD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAmB,CAAC;QACxC,IAAI,qBAAqC,CAAC;QAC1C,IAAI,yBAAyC,CAAC;QAC9C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;YAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,SAAS,EAAE;gBAC1C,OAAO,CAAC,QAAQ;qBACb,MAAM,CACL,CAAC,KAAyB,EAAE,EAAE,CAC5B,KAAK,EAAE,IAAI,KAAK,qBAAqB,CAAC,OAAO,CAChD;qBACA,OAAO,CAAC,CAAC,KAAyB,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;aACxE;SACF;QACD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,MAAM,SAAS,GAAG,IAAA,aAAI,EAAC,YAAY,CAAC,CAAC;YACrC,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC/C,MAAM,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;oBACxD,GAAG,EAAE,EAAE;oBACP,EAAE;oBACF,MAAM;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,IAAI,IAAI,EAAE;oBACtB,MAAM,EAAE,IAAI;oBACZ,MAAM;oBACN,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,yBAAyB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnD,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;oBACjD,MAAM;oBACN,MAAM;iBACP,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CACf,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAC5D,CAAC;SACH;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,SAAS,EACT,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAuB;QAEpD,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,SAAS;YACf,aAAa;YACb,IAAI;YACJ,MAAM;SACP,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CACxD,aAAa,EACb,EAAE,GAAG,EAAE,SAAS,EAAE,EAClB,UAAU,CACX,CAAQ,CAAC;QACV,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;YACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACrC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS;QAG3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,EAAE;YAChE,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAuBE,KAAK,CAAC,cAAc,CACrB,SAAiB,EACjB,EAAE,MAAM,EAAE,KAAK,EAAqC;QAEpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE;YAC/D,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAGD,IAAI,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CACnC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CACvC,CAAC;QACF,IAAI,QAAQ,EAAE;YAEZ,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,EAAE;gBACf,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;aACrC;SACF;aAAM;YAEL,QAAQ,GAAG;gBACT,KAAK;gBACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aACxB,CAAC;YACF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;QAGD,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CACxC,aAAa,EACb,EAAE,GAAG,EAAE,SAAS,EAAE,EAClB,OAAO,CACR,CAAC;QAEF,OAAO;YACL,KAAK;YACL,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM;SACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,EAAE,MAAM,EAAE,KAAK,EAAqC;QAEpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE;YAC/D,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CACrC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CACvC,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;QAED,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAErE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CACxC,CAAC;QAEF,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CACxC,aAAa,EACb,EAAE,GAAG,EAAE,SAAS,EAAE,EAClB,OAAO,CACR,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EACf,GAAG,EACH,IAAI,EACJ,WAAW,GAAG,EAAE,EAChB,cAAc,GAAG,UAAU,EAC3B,OAAO,GAAG,EAAE,EACZ,oBAAoB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,EAC9C,aAAa,GAAG,CAAC,YAAY,CAAC,GACtB;QACR,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG;YACH,IAAI;YACJ,WAAW;YACX,cAAc;YACd,oBAAoB;YACpB,aAAa;SACd,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAGtE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAa,EAAE,MAAqB;QACzD,MAAM,EACJ,GAAG,EACH,MAAM,EACN,KAAK,GAAG,EAAE,EACV,aAAa,GAAG,IAAI,CAAC,oBAAoB,EACzC,MAAM,GAAG,IAAI,CAAC,aAAa,GAC5B,GAAG,MAAM,CAAC;QACX,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,MAAM;YACN,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,GAAG;YAChB,aAAa;YACb,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAChD,iBAAiB,EACjB,SAAS,CACV,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE;YACzD,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAChE,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,MAAc;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAClE,MAAM;YACN,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACpE,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA0B;QACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IACE,MAAM;gBACN,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAClC;gBACA,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC9C,UAAU,EACV;oBACE,GAAG,EAAE,QAAQ;iBACd,EACD;oBACE,UAAU,EAAE;wBACV,IAAI,EAAE,CAAC;qBACR;iBACF,CACF,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;oBACnC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;iBAC7D,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;aACJ;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AArlBY,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAGe,qBAAc;QAClB,gBAAU;QACA,4CAAoB;GAJzC,YAAY,CAqlBxB;AArlBY,oCAAY"}
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.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -11,9 +11,9 @@
11
11
  "build:watch": "rimraf dist && tsc --watch"
12
12
  },
13
13
  "dependencies": {
14
- "@builder6/core": "^0.10.4",
15
- "@builder6/moleculer": "^0.10.4",
16
- "@builder6/pages": "^0.10.4",
14
+ "@builder6/core": "^0.10.5",
15
+ "@builder6/moleculer": "^0.10.5",
16
+ "@builder6/pages": "^0.10.5",
17
17
  "lodash": "^4.17.21"
18
18
  },
19
19
  "peerDependencies": {
@@ -42,5 +42,5 @@
42
42
  "devDependencies": {
43
43
  "@types/lodash": "^4.17.13"
44
44
  },
45
- "gitHead": "3386dc54fc488034f40ee1005cbcb00180e3737a"
45
+ "gitHead": "1598f58131153d17285d3a29031fe01a0ebf6b3a"
46
46
  }
@@ -0,0 +1,9 @@
1
+ export class InboxNotificationDTO {
2
+ _id: string;
3
+ userId: string;
4
+ kind: string;
5
+ notifiedAt?: Date;
6
+ readAt?: Date;
7
+ roomId: string;
8
+ threadId: string;
9
+ }
@@ -1,10 +1,14 @@
1
1
  export class NotificationDTO {
2
- _id: string;
3
- id: string;
4
- userId: string;
5
- kind: string;
6
- notifiedAt?: Date;
7
- readAt?: Date;
8
- roomId: string;
9
- threadId: string;
2
+ _id?: string;
3
+ name: string;
4
+ body: string;
5
+ related_to: {
6
+ o: string;
7
+ ids: string[];
8
+ };
9
+ related_name: string;
10
+ from: string;
11
+ space: string;
12
+ owner: string;
13
+ is_read: boolean;
10
14
  }
@@ -2,8 +2,9 @@ import { MongodbService } from '@builder6/core';
2
2
  import { InjectBroker } from '@builder6/moleculer';
3
3
  import { Injectable, Logger } from '@nestjs/common';
4
4
  import { ServiceBroker } from 'moleculer';
5
- import { NotificationDTO } from './dtos/notifications.dto';
5
+ import { InboxNotificationDTO } from './dtos/inbox_notifications.dto';
6
6
  import { isArray } from 'lodash';
7
+ import { NotificationDTO } from './dtos/notifications.dto';
7
8
 
8
9
  @Injectable()
9
10
  export class NotificationsService {
@@ -16,9 +17,11 @@ export class NotificationsService {
16
17
  async createRoomMention({
17
18
  roomId,
18
19
  userId,
20
+ fromUserId,
19
21
  }: {
20
22
  roomId: string;
21
23
  userId: string;
24
+ fromUserId: string;
22
25
  }) {
23
26
  // moleculer 抛消息
24
27
  if (roomId && roomId.split(':').length === 3) {
@@ -30,24 +33,51 @@ export class NotificationsService {
30
33
  this.broker.emit(`${objectName}.mentioned`, {
31
34
  recordId,
32
35
  userId,
36
+ fromUserId,
37
+ });
38
+ const record = await this.mongodbService.findOne(
39
+ objectName,
40
+ {
41
+ _id: recordId,
42
+ },
43
+ {
44
+ projection: {
45
+ name: 1,
46
+ space: 1,
47
+ owner: 1,
48
+ },
49
+ },
50
+ );
51
+
52
+ await this.createNotification({
53
+ name: record.name,
54
+ body: `You were mentioned`,
55
+ related_to: {
56
+ o: objectName,
57
+ ids: [recordId],
58
+ },
59
+ related_name: record.name,
60
+ from: fromUserId,
61
+ space: record.space,
62
+ owner: userId,
63
+ is_read: false,
33
64
  });
34
65
  }
35
66
  }
36
67
  }
37
68
 
38
- async createThreadNotification({
69
+ async createInboxNotification({
39
70
  _id,
40
- id,
41
71
  userId,
42
72
  kind = 'thread',
43
73
  notifiedAt,
44
74
  readAt,
45
75
  roomId,
46
76
  threadId,
47
- }: NotificationDTO) {
48
- return this.mongodbService.insertOne('b6_notifications', {
77
+ }: InboxNotificationDTO) {
78
+ return this.mongodbService.insertOne('b6_inbox_notifications', {
49
79
  _id,
50
- id,
80
+ id: _id,
51
81
  userId,
52
82
  kind,
53
83
  notifiedAt,
@@ -87,7 +117,7 @@ export class NotificationsService {
87
117
  if (roomId) queryOptions.roomId = roomId;
88
118
  if (threadId) queryOptions.threadId = threadId;
89
119
  const collection = (await this.mongodbService.getCollection(
90
- 'b6_notifications',
120
+ 'b6_inbox_notifications',
91
121
  )) as any;
92
122
  const query = collection.find(queryOptions).sort({ notifiedAt: 1 });
93
123
  if (limit) query.limit(limit);
@@ -113,10 +143,30 @@ export class NotificationsService {
113
143
  queryOptions._id = { $in: inboxNotificationIds as string[] };
114
144
  }
115
145
  const collection = (await this.mongodbService.getCollection(
116
- 'b6_notifications',
146
+ 'b6_inbox_notifications',
117
147
  )) as any;
118
148
  return collection.updateMany(queryOptions, {
119
149
  $set: { readAt: new Date() },
120
150
  });
121
151
  }
152
+
153
+ async createNotification({
154
+ name,
155
+ body,
156
+ related_to,
157
+ from,
158
+ space,
159
+ owner,
160
+ is_read = false,
161
+ }: NotificationDTO) {
162
+ return await this.mongodbService.insertOne('notifications', {
163
+ name,
164
+ body,
165
+ related_to,
166
+ from,
167
+ space,
168
+ owner,
169
+ is_read,
170
+ });
171
+ }
122
172
  }
@@ -17,6 +17,7 @@ export class RoomsMoleculer extends Service {
17
17
  actions: {
18
18
  createComment: this.createComment,
19
19
  createThread: this.createThread,
20
+ createNotification: this.createNotification,
20
21
  },
21
22
  created: this.serviceCreated,
22
23
  started: this.serviceStarted,
@@ -75,4 +76,28 @@ export class RoomsMoleculer extends Service {
75
76
  };
76
77
  }
77
78
  }
79
+
80
+ async createNotification(ctx: Context) {
81
+ const { name, body, from, owner, related_name, related_to, space } =
82
+ ctx.params as any;
83
+ try {
84
+ const result = this.notificationService.createNotification({
85
+ name,
86
+ body,
87
+ from,
88
+ owner,
89
+ related_name,
90
+ related_to,
91
+ space,
92
+ });
93
+ return result;
94
+ } catch (error) {
95
+ console.error(error);
96
+ return {
97
+ error: {
98
+ message: error.message,
99
+ },
100
+ };
101
+ }
102
+ }
78
103
  }
@@ -319,7 +319,7 @@ export class RoomsService {
319
319
  result.attachments.push(attachment);
320
320
  }
321
321
 
322
- // 如果有 @ mention 的时候,自动创建 b6_notifications 记录。
322
+ // 如果有 @ mention 的时候,自动创建 b6_inbox_notifications 记录。
323
323
  const { content } = body as CommentBody;
324
324
  let notificationsPromises: Promise<any>[];
325
325
  let createRoomMentionPromises: Promise<any>[];
@@ -336,12 +336,11 @@ export class RoomsService {
336
336
  }
337
337
  if (mentionUsers && mentionUsers.length > 0) {
338
338
  const uniqUsers = uniq(mentionUsers);
339
- notificationsPromises = uniqUsers.map((userId) => {
340
- const id = uuidv4();
341
- return this.notificationsService.createThreadNotification({
342
- _id: id,
343
- id,
344
- userId,
339
+ notificationsPromises = uniqUsers.map((mentionedUserId) => {
340
+ const _id = uuidv4();
341
+ return this.notificationsService.createInboxNotification({
342
+ _id,
343
+ userId: mentionedUserId,
345
344
  kind: 'thread',
346
345
  notifiedAt: new Date(),
347
346
  readAt: null,
@@ -349,10 +348,11 @@ export class RoomsService {
349
348
  threadId,
350
349
  });
351
350
  });
352
- createRoomMentionPromises = uniqUsers.map((userId) => {
351
+ createRoomMentionPromises = uniqUsers.map((mentionedUserId) => {
353
352
  return this.notificationsService.createRoomMention({
354
- userId,
353
+ userId: mentionedUserId,
355
354
  roomId,
355
+ fromUserId: userId,
356
356
  });
357
357
  });
358
358
  await Promise.all(