@social.dev/server-sdk 0.0.1-alpha.50 → 0.0.1-alpha.51
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/dist/chat/chat.acl.js +1 -4
- package/dist/chat/chat.acl.js.map +1 -1
- package/dist/chat/chat.controller.d.ts +6 -2
- package/dist/chat/chat.controller.js +43 -7
- package/dist/chat/chat.controller.js.map +1 -1
- package/dist/chat/chat.module.js +2 -0
- package/dist/chat/chat.module.js.map +1 -1
- package/dist/chat/chat.service.d.ts +13 -3
- package/dist/chat/chat.service.js +67 -34
- package/dist/chat/chat.service.js.map +1 -1
- package/dist/chat/dto/responses.dto.d.ts +15 -7
- package/dist/chat/dto/responses.dto.js +85 -30
- package/dist/chat/dto/responses.dto.js.map +1 -1
- package/dist/chat/dto/update-cursor.dto.d.ts +5 -0
- package/dist/chat/dto/update-cursor.dto.js +36 -0
- package/dist/chat/dto/update-cursor.dto.js.map +1 -0
- package/dist/chat/entities/conversation.entity.d.ts +2 -1
- package/dist/chat/entities/conversation.entity.js +6 -7
- package/dist/chat/entities/conversation.entity.js.map +1 -1
- package/dist/chat/entities/read-cursor.entity.d.ts +10 -0
- package/dist/chat/entities/read-cursor.entity.js +64 -0
- package/dist/chat/entities/read-cursor.entity.js.map +1 -0
- package/dist/migrations/1760444646328-ChatReadCursor.d.ts +6 -0
- package/dist/migrations/1760444646328-ChatReadCursor.js +18 -0
- package/dist/migrations/1760444646328-ChatReadCursor.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/chat/chat.acl.js
CHANGED
|
@@ -11,7 +11,6 @@ const acl_factory_1 = require("../core/acl/acl.factory");
|
|
|
11
11
|
const conversation_entity_1 = require("./entities/conversation.entity");
|
|
12
12
|
const common_1 = require("@nestjs/common");
|
|
13
13
|
const conversation_type_enum_1 = require("./enums/conversation-type.enum");
|
|
14
|
-
const community_entity_1 = require("../community/entities/community.entity");
|
|
15
14
|
const message_entity_1 = require("./entities/message.entity");
|
|
16
15
|
let ChatAclService = class ChatAclService {
|
|
17
16
|
registerRules() {
|
|
@@ -21,9 +20,7 @@ let ChatAclService = class ChatAclService {
|
|
|
21
20
|
return true;
|
|
22
21
|
}
|
|
23
22
|
if (conversation.type === conversation_type_enum_1.ConversationType.Community) {
|
|
24
|
-
|
|
25
|
-
partialCommunity.id = parseInt(conversation.community);
|
|
26
|
-
return getAbility().can(acl_factory_1.Action.Read, partialCommunity);
|
|
23
|
+
return getAbility().can(acl_factory_1.Action.Read, conversation.community);
|
|
27
24
|
}
|
|
28
25
|
return false;
|
|
29
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.acl.js","sourceRoot":"","sources":["../../src/chat/chat.acl.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA0E;AAC1E,wEAAkE;AAClE,2CAA4C;AAC5C,2EAAkE;
|
|
1
|
+
{"version":3,"file":"chat.acl.js","sourceRoot":"","sources":["../../src/chat/chat.acl.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA0E;AAC1E,wEAAkE;AAClE,2CAA4C;AAC5C,2EAAkE;AAElE,8DAAwD;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,aAAa;QAEX,wBAAU,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/C,OAAO,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,sCAAgB,EAAE,CAAC,YAAY,EAAE,EAAE;gBACzD,IAAI,YAAY,CAAC,IAAI,KAAK,yCAAgB,CAAC,QAAQ,EAAE,CAAC;oBACpD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,YAAY,CAAC,IAAI,KAAK,yCAAgB,CAAC,SAAS,EAAE,CAAC;oBACrD,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC/D,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAGH,wBAAU,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YAC7B,OAAO,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,sCAAgB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAGH,wBAAU,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAC7B,GAAG,CAAC,oBAAM,CAAC,MAAM,EAAE,sCAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CACjD,CAAC;QAGF,wBAAU,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CACzC,GAAG,CAAC,oBAAM,CAAC,MAAM,EAAE,4BAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAC1C,UAAU,EAAE,CAAC,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CACpD,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AAlCY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAkC1B"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { ChatService } from './chat.service';
|
|
2
2
|
import { CreateConversationDto } from './dto/create-conversation.dto';
|
|
3
3
|
import { PaginatedResponseDto } from '~/common/dto/paginated-response.dto';
|
|
4
|
-
import { ChatConversationResponseDto, ChatMessageResponseDto } from './dto/responses.dto';
|
|
4
|
+
import { ChatConversationResponseDto, ChatMessageResponseDto, ChatUnreadCountDto } from './dto/responses.dto';
|
|
5
5
|
import { CreateMessageDto } from './dto/create-message.dto';
|
|
6
6
|
import { Community } from '~/community/entities/community.entity';
|
|
7
|
+
import { UpdateChatReadCursorDto } from './dto/update-cursor.dto';
|
|
8
|
+
import { ConversationType } from './enums/conversation-type.enum';
|
|
7
9
|
export declare class ChatController {
|
|
8
10
|
private service;
|
|
9
11
|
constructor(service: ChatService);
|
|
10
12
|
getConversation(conversationId: string): Promise<ChatConversationResponseDto>;
|
|
11
|
-
listConversations(communityId?: Community['id'], limit?: number, offset?: number): Promise<PaginatedResponseDto<ChatConversationResponseDto>>;
|
|
13
|
+
listConversations(type?: ConversationType, communityId?: Community['id'], limit?: number, offset?: number): Promise<PaginatedResponseDto<ChatConversationResponseDto>>;
|
|
12
14
|
createConversation(dto: CreateConversationDto): Promise<ChatConversationResponseDto>;
|
|
13
15
|
deleteConversation(): void;
|
|
14
16
|
getMessage(messageId: string): ChatMessageResponseDto;
|
|
15
17
|
listMessages(conversationId: string, limit: number | undefined, cursor: any): Promise<PaginatedResponseDto<ChatMessageResponseDto>>;
|
|
16
18
|
sendMessage(dto: CreateMessageDto): Promise<ChatMessageResponseDto>;
|
|
17
19
|
deleteMessage(): void;
|
|
20
|
+
updateReadCursor(dto: UpdateChatReadCursorDto): Promise<void>;
|
|
21
|
+
getUnreadCount(): Promise<ChatUnreadCountDto>;
|
|
18
22
|
}
|
|
@@ -24,6 +24,8 @@ const create_message_dto_1 = require("./dto/create-message.dto");
|
|
|
24
24
|
const community_entity_1 = require("../community/entities/community.entity");
|
|
25
25
|
const swagger_1 = require("@nestjs/swagger");
|
|
26
26
|
const cursor_1 = require("../common/utils/cursor");
|
|
27
|
+
const update_cursor_dto_1 = require("./dto/update-cursor.dto");
|
|
28
|
+
const conversation_type_enum_1 = require("./enums/conversation-type.enum");
|
|
27
29
|
let ChatController = class ChatController {
|
|
28
30
|
service;
|
|
29
31
|
constructor(service) {
|
|
@@ -33,15 +35,16 @@ let ChatController = class ChatController {
|
|
|
33
35
|
const conversation = await this.service.getConversation(+conversationId);
|
|
34
36
|
return (0, class_transformer_1.plainToInstance)(responses_dto_1.ChatConversationResponseDto, conversation);
|
|
35
37
|
}
|
|
36
|
-
async listConversations(communityId, limit = 20, offset = 0) {
|
|
37
|
-
const
|
|
38
|
+
async listConversations(type, communityId, limit = 20, offset = 0) {
|
|
39
|
+
const result = await this.service.listConversations({
|
|
40
|
+
type,
|
|
38
41
|
communityId,
|
|
39
42
|
limit,
|
|
40
43
|
offset,
|
|
41
44
|
});
|
|
42
45
|
return {
|
|
43
46
|
result: result.map((c) => (0, class_transformer_1.plainToInstance)(responses_dto_1.ChatConversationResponseDto, c)),
|
|
44
|
-
count,
|
|
47
|
+
count: Infinity,
|
|
45
48
|
next: '',
|
|
46
49
|
previous: '',
|
|
47
50
|
};
|
|
@@ -84,6 +87,15 @@ let ChatController = class ChatController {
|
|
|
84
87
|
return (0, class_transformer_1.plainToInstance)(responses_dto_1.ChatMessageResponseDto, message);
|
|
85
88
|
}
|
|
86
89
|
deleteMessage() { }
|
|
90
|
+
updateReadCursor(dto) {
|
|
91
|
+
return this.service.setReadCursor({
|
|
92
|
+
conversationId: dto.conversation,
|
|
93
|
+
ts: new Date(dto.unixts * 1000),
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
async getUnreadCount() {
|
|
97
|
+
return this.service.getUnreadCount();
|
|
98
|
+
}
|
|
87
99
|
};
|
|
88
100
|
exports.ChatController = ChatController;
|
|
89
101
|
__decorate([
|
|
@@ -96,6 +108,11 @@ __decorate([
|
|
|
96
108
|
], ChatController.prototype, "getConversation", null);
|
|
97
109
|
__decorate([
|
|
98
110
|
(0, common_1.Get)('chat.conversation.list'),
|
|
111
|
+
(0, swagger_1.ApiQuery)({
|
|
112
|
+
name: 'type',
|
|
113
|
+
enum: conversation_type_enum_1.ConversationType,
|
|
114
|
+
required: false,
|
|
115
|
+
}),
|
|
99
116
|
(0, swagger_1.ApiQuery)({
|
|
100
117
|
name: 'community',
|
|
101
118
|
type: community_entity_1.Community['id'],
|
|
@@ -113,11 +130,12 @@ __decorate([
|
|
|
113
130
|
}),
|
|
114
131
|
(0, api_paginated_response_1.ApiPaginatedResponse)(responses_dto_1.ChatConversationResponseDto),
|
|
115
132
|
openapi.ApiResponse({ status: 200 }),
|
|
116
|
-
__param(0, (0, common_1.Query)('
|
|
117
|
-
__param(1, (0, common_1.Query)('
|
|
118
|
-
__param(2, (0, common_1.Query)('
|
|
133
|
+
__param(0, (0, common_1.Query)('type')),
|
|
134
|
+
__param(1, (0, common_1.Query)('community')),
|
|
135
|
+
__param(2, (0, common_1.Query)('limit')),
|
|
136
|
+
__param(3, (0, common_1.Query)('offset')),
|
|
119
137
|
__metadata("design:type", Function),
|
|
120
|
-
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
138
|
+
__metadata("design:paramtypes", [String, Object, Object, Object]),
|
|
121
139
|
__metadata("design:returntype", Promise)
|
|
122
140
|
], ChatController.prototype, "listConversations", null);
|
|
123
141
|
__decorate([
|
|
@@ -179,6 +197,24 @@ __decorate([
|
|
|
179
197
|
__metadata("design:paramtypes", []),
|
|
180
198
|
__metadata("design:returntype", void 0)
|
|
181
199
|
], ChatController.prototype, "deleteMessage", null);
|
|
200
|
+
__decorate([
|
|
201
|
+
(0, common_1.Post)('chat.conversation.updateReadCursor'),
|
|
202
|
+
openapi.ApiResponse({ status: 201 }),
|
|
203
|
+
__param(0, (0, common_1.Body)()),
|
|
204
|
+
__metadata("design:type", Function),
|
|
205
|
+
__metadata("design:paramtypes", [update_cursor_dto_1.UpdateChatReadCursorDto]),
|
|
206
|
+
__metadata("design:returntype", void 0)
|
|
207
|
+
], ChatController.prototype, "updateReadCursor", null);
|
|
208
|
+
__decorate([
|
|
209
|
+
(0, swagger_1.ApiOperation)({
|
|
210
|
+
summary: 'Retrieve the count of unread chats',
|
|
211
|
+
}),
|
|
212
|
+
(0, common_1.Get)('chat.conversation.getUnreadCount'),
|
|
213
|
+
openapi.ApiResponse({ status: 200, type: require("./dto/responses.dto").ChatUnreadCountDto }),
|
|
214
|
+
__metadata("design:type", Function),
|
|
215
|
+
__metadata("design:paramtypes", []),
|
|
216
|
+
__metadata("design:returntype", Promise)
|
|
217
|
+
], ChatController.prototype, "getUnreadCount", null);
|
|
182
218
|
exports.ChatController = ChatController = __decorate([
|
|
183
219
|
(0, common_1.Controller)(),
|
|
184
220
|
__metadata("design:paramtypes", [chat_service_1.ChatService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../src/chat/chat.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,iDAA6C;AAC7C,2EAAsE;AAEtE,
|
|
1
|
+
{"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../src/chat/chat.controller.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/chat.module.js
CHANGED
|
@@ -24,6 +24,7 @@ const acl_module_1 = require("../core/acl/acl.module");
|
|
|
24
24
|
const chat_acl_1 = require("./chat.acl");
|
|
25
25
|
const community_module_1 = require("../community/community.module");
|
|
26
26
|
const media_module_1 = require("../media/media.module");
|
|
27
|
+
const read_cursor_entity_1 = require("./entities/read-cursor.entity");
|
|
27
28
|
let ChatModule = class ChatModule {
|
|
28
29
|
acl;
|
|
29
30
|
constructor(acl) {
|
|
@@ -39,6 +40,7 @@ exports.ChatModule = ChatModule = __decorate([
|
|
|
39
40
|
conversation_entity_1.ChatConversation,
|
|
40
41
|
conversation_member_entity_1.ChatConversationMember,
|
|
41
42
|
message_entity_1.ChatMessage,
|
|
43
|
+
read_cursor_entity_1.ChatReadCursor,
|
|
42
44
|
]),
|
|
43
45
|
hook_module_1.HookModule,
|
|
44
46
|
push_notification_module_1.PushNotificationModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../src/chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,iDAA6C;AAC7C,6CAAgD;AAChD,wEAAkE;AAClE,8DAAwD;AACxD,sFAA+E;AAC/E,0DAAqD;AACrD,uFAAiF;AACjF,kFAA4E;AAC5E,uDAAkD;AAClD,yCAA4C;AAC5C,oEAA+D;AAC/D,wDAAmD;
|
|
1
|
+
{"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../src/chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,iDAA6C;AAC7C,6CAAgD;AAChD,wEAAkE;AAClE,8DAAwD;AACxD,sFAA+E;AAC/E,0DAAqD;AACrD,uFAAiF;AACjF,kFAA4E;AAC5E,uDAAkD;AAClD,yCAA4C;AAC5C,oEAA+D;AAC/D,wDAAmD;AACnD,sEAA+D;AAqBxD,IAAM,UAAU,GAAhB,MAAM,UAAU;IACD;IAApB,YAAoB,GAAmB;QAAnB,QAAG,GAAH,GAAG,CAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAJY,gCAAU;qBAAV,UAAU;IAnBtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,sCAAgB;gBAChB,mDAAsB;gBACtB,4BAAW;gBACX,mCAAc;aACf,CAAC;YACF,wBAAU;YACV,iDAAsB;YACtB,uCAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,sBAAS;YACT,kCAAe;YACf,0BAAW;SACZ;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,yBAAc,CAAC;QACxC,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;qCAEyB,yBAAc;GAD5B,UAAU,CAItB"}
|
|
@@ -3,6 +3,7 @@ import { DataSource, Repository } from 'typeorm';
|
|
|
3
3
|
import { ChatMessage } from './entities/message.entity';
|
|
4
4
|
import { CreateConversationDto } from './dto/create-conversation.dto';
|
|
5
5
|
import { ChatConversationMember } from './entities/conversation-member.entity';
|
|
6
|
+
import { ConversationType } from './enums/conversation-type.enum';
|
|
6
7
|
import { PushNotificationService } from '~/notification/push-notification.service';
|
|
7
8
|
import { EventStreamService } from '~/core/event-stream/event-stream.service';
|
|
8
9
|
import { Community } from '~/community/entities/community.entity';
|
|
@@ -10,17 +11,20 @@ import { AclFactory } from '~/core/acl/acl.factory';
|
|
|
10
11
|
import { CommunityService } from '~/community/community.service';
|
|
11
12
|
import { Audio } from '~/media/entities/audio.entity';
|
|
12
13
|
import { MediaService } from '~/media/media.service';
|
|
14
|
+
import { ChatReadCursor } from './entities/read-cursor.entity';
|
|
15
|
+
import { ChatUnreadCountDto } from './dto/responses.dto';
|
|
13
16
|
export declare class ChatService {
|
|
14
17
|
private conversationRepository;
|
|
15
18
|
private memberRepository;
|
|
16
19
|
private messageRepositoy;
|
|
20
|
+
private readCursorRepository;
|
|
17
21
|
private dataSource;
|
|
18
22
|
private aclFactory;
|
|
19
23
|
private eventStream;
|
|
20
24
|
private pushService;
|
|
21
25
|
private communityService;
|
|
22
26
|
private mediaService;
|
|
23
|
-
constructor(conversationRepository: Repository<ChatConversation>, memberRepository: Repository<ChatConversationMember>, messageRepositoy: Repository<ChatMessage>, dataSource: DataSource, aclFactory: AclFactory, eventStream: EventStreamService, pushService: PushNotificationService, communityService: CommunityService, mediaService: MediaService);
|
|
27
|
+
constructor(conversationRepository: Repository<ChatConversation>, memberRepository: Repository<ChatConversationMember>, messageRepositoy: Repository<ChatMessage>, readCursorRepository: Repository<ChatReadCursor>, dataSource: DataSource, aclFactory: AclFactory, eventStream: EventStreamService, pushService: PushNotificationService, communityService: CommunityService, mediaService: MediaService);
|
|
24
28
|
private findExistingOneOnOneConversation;
|
|
25
29
|
createConversation(dto: CreateConversationDto): Promise<ChatConversation>;
|
|
26
30
|
createCommunityConversation({ communityId, validate, }: {
|
|
@@ -30,11 +34,12 @@ export declare class ChatService {
|
|
|
30
34
|
getConversation(id: number, opts?: {
|
|
31
35
|
bypassAcl: boolean;
|
|
32
36
|
}): Promise<ChatConversation | null>;
|
|
33
|
-
listConversations({ communityId, limit, offset, }: {
|
|
37
|
+
listConversations({ type, communityId, limit, offset, }: {
|
|
38
|
+
type?: ConversationType;
|
|
34
39
|
communityId?: Community['id'];
|
|
35
40
|
limit?: number;
|
|
36
41
|
offset?: number;
|
|
37
|
-
}): Promise<
|
|
42
|
+
}): Promise<ChatConversation[]>;
|
|
38
43
|
listMembers({ conversationId, }: {
|
|
39
44
|
conversationId: ChatConversation['id'];
|
|
40
45
|
}): Promise<[ChatConversationMember[], number]>;
|
|
@@ -48,5 +53,10 @@ export declare class ChatService {
|
|
|
48
53
|
limit?: number;
|
|
49
54
|
cursor?: string;
|
|
50
55
|
}): Promise<[ChatMessage[], number]>;
|
|
56
|
+
setReadCursor({ conversationId, ts, }: {
|
|
57
|
+
conversationId: ChatConversation['id'];
|
|
58
|
+
ts: Date;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
getUnreadCount(): Promise<ChatUnreadCountDto>;
|
|
51
61
|
private buildConversationQuery;
|
|
52
62
|
}
|
|
@@ -34,20 +34,24 @@ const community_status_enum_1 = __importDefault(require("../community/enums/comm
|
|
|
34
34
|
const cursor_1 = require("../common/utils/cursor");
|
|
35
35
|
const audio_entity_1 = require("../media/entities/audio.entity");
|
|
36
36
|
const media_service_1 = require("../media/media.service");
|
|
37
|
+
const read_cursor_entity_1 = require("./entities/read-cursor.entity");
|
|
38
|
+
const community_member_entity_1 = require("../community/entities/community-member.entity");
|
|
37
39
|
let ChatService = class ChatService {
|
|
38
40
|
conversationRepository;
|
|
39
41
|
memberRepository;
|
|
40
42
|
messageRepositoy;
|
|
43
|
+
readCursorRepository;
|
|
41
44
|
dataSource;
|
|
42
45
|
aclFactory;
|
|
43
46
|
eventStream;
|
|
44
47
|
pushService;
|
|
45
48
|
communityService;
|
|
46
49
|
mediaService;
|
|
47
|
-
constructor(conversationRepository, memberRepository, messageRepositoy, dataSource, aclFactory, eventStream, pushService, communityService, mediaService) {
|
|
50
|
+
constructor(conversationRepository, memberRepository, messageRepositoy, readCursorRepository, dataSource, aclFactory, eventStream, pushService, communityService, mediaService) {
|
|
48
51
|
this.conversationRepository = conversationRepository;
|
|
49
52
|
this.memberRepository = memberRepository;
|
|
50
53
|
this.messageRepositoy = messageRepositoy;
|
|
54
|
+
this.readCursorRepository = readCursorRepository;
|
|
51
55
|
this.dataSource = dataSource;
|
|
52
56
|
this.aclFactory = aclFactory;
|
|
53
57
|
this.eventStream = eventStream;
|
|
@@ -110,20 +114,9 @@ let ChatService = class ChatService {
|
|
|
110
114
|
return conversation;
|
|
111
115
|
}
|
|
112
116
|
async getConversation(id, opts = { bypassAcl: false }) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
},
|
|
117
|
-
loadRelationIds: true,
|
|
118
|
-
});
|
|
119
|
-
if (!conversation) {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
if (!conversation.community) {
|
|
123
|
-
conversation = await this.buildConversationQuery()
|
|
124
|
-
.andWhere('c.id = :id', { id })
|
|
125
|
-
.getOne();
|
|
126
|
-
}
|
|
117
|
+
const conversation = await this.buildConversationQuery()
|
|
118
|
+
.andWhere('c.id = :conversationId', { conversationId: id })
|
|
119
|
+
.getOne();
|
|
127
120
|
if (opts.bypassAcl) {
|
|
128
121
|
return conversation;
|
|
129
122
|
}
|
|
@@ -132,7 +125,7 @@ let ChatService = class ChatService {
|
|
|
132
125
|
? conversation
|
|
133
126
|
: null;
|
|
134
127
|
}
|
|
135
|
-
async listConversations({ communityId, limit = 100, offset = 0, }) {
|
|
128
|
+
async listConversations({ type, communityId, limit = 100, offset = 0, }) {
|
|
136
129
|
if (this.aclFactory
|
|
137
130
|
.withUser(context_1.Context.getUser())
|
|
138
131
|
.cannot(acl_factory_1.Action.List, new conversation_entity_1.ChatConversation())) {
|
|
@@ -146,16 +139,13 @@ let ChatService = class ChatService {
|
|
|
146
139
|
.cannot(acl_factory_1.Action.Read, communityPartial)) {
|
|
147
140
|
throw new common_1.ForbiddenException();
|
|
148
141
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
});
|
|
157
|
-
if (result[0].length === 0) {
|
|
158
|
-
result[0] = [
|
|
142
|
+
let result = await this.buildConversationQuery(conversation_type_enum_1.ConversationType.Community)
|
|
143
|
+
.andWhere('c."communityId" = :communityId', { communityId })
|
|
144
|
+
.skip(offset)
|
|
145
|
+
.limit(limit)
|
|
146
|
+
.getMany();
|
|
147
|
+
if (result.length === 0) {
|
|
148
|
+
result = [
|
|
159
149
|
await this.createCommunityConversation({
|
|
160
150
|
communityId,
|
|
161
151
|
validate: false,
|
|
@@ -165,11 +155,11 @@ let ChatService = class ChatService {
|
|
|
165
155
|
return result;
|
|
166
156
|
}
|
|
167
157
|
else {
|
|
168
|
-
const query =
|
|
158
|
+
const query = this.buildConversationQuery(type)
|
|
159
|
+
.andWhere('c.type = :type', { type: type || conversation_type_enum_1.ConversationType.OneOnOne })
|
|
169
160
|
.skip(offset)
|
|
170
161
|
.limit(limit);
|
|
171
|
-
|
|
172
|
-
return [conversations, count];
|
|
162
|
+
return await query.getMany();
|
|
173
163
|
}
|
|
174
164
|
}
|
|
175
165
|
async listMembers({ conversationId, }) {
|
|
@@ -278,11 +268,36 @@ let ChatService = class ChatService {
|
|
|
278
268
|
relations: ['audio'],
|
|
279
269
|
});
|
|
280
270
|
}
|
|
281
|
-
|
|
271
|
+
async setReadCursor({ conversationId, ts, }) {
|
|
272
|
+
await this.getConversation(conversationId);
|
|
273
|
+
await this.readCursorRepository.upsert({
|
|
274
|
+
conversationId,
|
|
275
|
+
userId: context_1.Context.getUser()?.id,
|
|
276
|
+
ts,
|
|
277
|
+
}, ['conversationId', 'userId']);
|
|
278
|
+
}
|
|
279
|
+
async getUnreadCount() {
|
|
280
|
+
const ONE_ON_ONE = await this.buildConversationQuery(conversation_type_enum_1.ConversationType.OneOnOne)
|
|
281
|
+
.andWhere('("read_cursor".ts < "messages"."createdAt" OR "read_cursor".ts IS NULL AND "messages"."createdAt" IS NOT NULL)')
|
|
282
|
+
.getCount();
|
|
283
|
+
const COMMUNITY = await this.buildConversationQuery(conversation_type_enum_1.ConversationType.Community)
|
|
284
|
+
.andWhere('("read_cursor".ts < "messages"."createdAt" OR "read_cursor".ts IS NULL AND "messages"."createdAt" IS NOT NULL)')
|
|
285
|
+
.getCount();
|
|
286
|
+
return {
|
|
287
|
+
ONE_ON_ONE,
|
|
288
|
+
COMMUNITY,
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
buildConversationQuery(type) {
|
|
282
292
|
const userId = context_1.Context.getUser()?.id;
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
.
|
|
293
|
+
const query = this.conversationRepository.createQueryBuilder('c');
|
|
294
|
+
if (type) {
|
|
295
|
+
query.andWhere('c.type = :type', { type });
|
|
296
|
+
}
|
|
297
|
+
query
|
|
298
|
+
.leftJoin(conversation_member_entity_1.ChatConversationMember, 'membership', 'membership.userId = :userId AND membership.conversationId = c.id', { userId })
|
|
299
|
+
.leftJoinAndMapOne('c.community', community_entity_1.Community, 'community', 'c."communityId" = community.id')
|
|
300
|
+
.leftJoin(community_member_entity_1.CommunityMember, 'community_member', 'community.id = community_member."communityId" AND community_member."userId" = :userId')
|
|
286
301
|
.leftJoinAndSelect('c.members', 'members', 'members.userId != :userId', {
|
|
287
302
|
userId,
|
|
288
303
|
})
|
|
@@ -294,7 +309,23 @@ let ChatService = class ChatService {
|
|
|
294
309
|
.innerJoin(user_entity_1.User, 'user', 'user.id = membership_name.userId')
|
|
295
310
|
.where('membership_name.conversationId = c.id')
|
|
296
311
|
.andWhere('membership_name.userId != :userId', { userId })
|
|
297
|
-
.limit(1), 'c_name')
|
|
312
|
+
.limit(1), 'c_name');
|
|
313
|
+
return (query
|
|
314
|
+
.leftJoinAndMapOne('c.lastMessage', message_entity_1.ChatMessage, 'messages', '"messages"."conversationId" = c.id', {})
|
|
315
|
+
.andWhere((query) => '(messages.id=' +
|
|
316
|
+
query
|
|
317
|
+
.subQuery()
|
|
318
|
+
.select('id')
|
|
319
|
+
.from(message_entity_1.ChatMessage, 'messages')
|
|
320
|
+
.where('messages."conversationId"=c.id')
|
|
321
|
+
.orderBy('"createdAt"', 'DESC')
|
|
322
|
+
.limit(1)
|
|
323
|
+
.getQuery() +
|
|
324
|
+
' OR messages.id IS NULL)')
|
|
325
|
+
.leftJoinAndMapOne('c.readCursor', read_cursor_entity_1.ChatReadCursor, 'read_cursor', '"read_cursor"."conversationId" = c.id AND "read_cursor"."userId" = :userId', {
|
|
326
|
+
userId,
|
|
327
|
+
})
|
|
328
|
+
.andWhere("(community_member.status = 'ACTIVE' OR membership IS NOT NULL)"));
|
|
298
329
|
}
|
|
299
330
|
};
|
|
300
331
|
exports.ChatService = ChatService;
|
|
@@ -303,7 +334,9 @@ exports.ChatService = ChatService = __decorate([
|
|
|
303
334
|
__param(0, (0, typeorm_1.InjectRepository)(conversation_entity_1.ChatConversation)),
|
|
304
335
|
__param(1, (0, typeorm_1.InjectRepository)(conversation_member_entity_1.ChatConversationMember)),
|
|
305
336
|
__param(2, (0, typeorm_1.InjectRepository)(message_entity_1.ChatMessage)),
|
|
337
|
+
__param(3, (0, typeorm_1.InjectRepository)(read_cursor_entity_1.ChatReadCursor)),
|
|
306
338
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
339
|
+
typeorm_2.Repository,
|
|
307
340
|
typeorm_2.Repository,
|
|
308
341
|
typeorm_2.Repository,
|
|
309
342
|
typeorm_2.DataSource,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../src/chat/chat.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../src/chat/chat.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,18 +3,26 @@ import { ChatMessage } from '../entities/message.entity';
|
|
|
3
3
|
import { UserResponseDto } from '~/user/dto/user-response.dto';
|
|
4
4
|
import { ConversationType } from '../enums/conversation-type.enum';
|
|
5
5
|
import { MediaResponseDto } from '~/media/dto/media-response.dto';
|
|
6
|
+
import { CommunityResponseDto } from '~/community/dto/community-response.dto';
|
|
7
|
+
export declare class ChatMessageResponseDto {
|
|
8
|
+
id: ChatMessage['id'];
|
|
9
|
+
text?: ChatMessage['text'];
|
|
10
|
+
audio?: MediaResponseDto;
|
|
11
|
+
sender: UserResponseDto;
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
}
|
|
6
14
|
export declare class ChatConversationResponseDto {
|
|
7
15
|
id: ChatConversation['id'];
|
|
8
16
|
name: string;
|
|
9
17
|
membersCount: number;
|
|
10
18
|
type: ConversationType;
|
|
11
19
|
members: UserResponseDto[];
|
|
12
|
-
|
|
20
|
+
community: CommunityResponseDto;
|
|
21
|
+
lastReadTs: Date;
|
|
22
|
+
latestMessage: ChatMessageResponseDto;
|
|
23
|
+
isUnread: boolean;
|
|
13
24
|
}
|
|
14
|
-
export declare class
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
audio?: MediaResponseDto;
|
|
18
|
-
sender: UserResponseDto;
|
|
19
|
-
createdAt: Date;
|
|
25
|
+
export declare class ChatUnreadCountDto {
|
|
26
|
+
[ConversationType.OneOnOne]: number;
|
|
27
|
+
[ConversationType.Community]: number;
|
|
20
28
|
}
|