Adding the typing... indicator, loading older messages, and managing members/admins after creation.
This commit is contained in:
@@ -11,6 +11,9 @@ import {
|
||||
PinConversationMessageDto,
|
||||
PinConversationRoomDto,
|
||||
UnpinConversationMessageDto,
|
||||
AddConversationRoomMemberDto,
|
||||
RemoveConversationRoomMemberDto,
|
||||
UpdateConversationRoomMemberRoleDto,
|
||||
} from './dto';
|
||||
import { ConversationsService } from './conversations.service';
|
||||
|
||||
@@ -81,6 +84,63 @@ export class ConversationsController {
|
||||
);
|
||||
}
|
||||
|
||||
@Get('rooms/members')
|
||||
listMembers(
|
||||
@CurrentUser() user: { userId: string; organizationId: string; role: string },
|
||||
@Query('externalRoomId') externalRoomId: string,
|
||||
) {
|
||||
return this.conversations.listRoomMembers(
|
||||
user.userId,
|
||||
user.organizationId,
|
||||
user.role,
|
||||
externalRoomId || '',
|
||||
);
|
||||
}
|
||||
|
||||
@Post('rooms/members')
|
||||
addMember(
|
||||
@CurrentUser() user: { userId: string; organizationId: string; role: string },
|
||||
@Body() dto: AddConversationRoomMemberDto,
|
||||
) {
|
||||
return this.conversations.addRoomMember(
|
||||
user.userId,
|
||||
user.organizationId,
|
||||
user.role,
|
||||
dto.externalRoomId,
|
||||
dto.userId,
|
||||
dto.role === 'admin' ? 'admin' : 'member',
|
||||
);
|
||||
}
|
||||
|
||||
@Post('rooms/members/remove')
|
||||
removeMember(
|
||||
@CurrentUser() user: { userId: string; organizationId: string; role: string },
|
||||
@Body() dto: RemoveConversationRoomMemberDto,
|
||||
) {
|
||||
return this.conversations.removeRoomMember(
|
||||
user.userId,
|
||||
user.organizationId,
|
||||
user.role,
|
||||
dto.externalRoomId,
|
||||
dto.userId,
|
||||
);
|
||||
}
|
||||
|
||||
@Post('rooms/members/role')
|
||||
updateMemberRole(
|
||||
@CurrentUser() user: { userId: string; organizationId: string; role: string },
|
||||
@Body() dto: UpdateConversationRoomMemberRoleDto,
|
||||
) {
|
||||
return this.conversations.updateRoomMemberRole(
|
||||
user.userId,
|
||||
user.organizationId,
|
||||
user.role,
|
||||
dto.externalRoomId,
|
||||
dto.userId,
|
||||
dto.role === 'admin' ? 'admin' : 'member',
|
||||
);
|
||||
}
|
||||
|
||||
@Post('rooms/pin')
|
||||
pinRoom(
|
||||
@CurrentUser() user: { userId: string; organizationId: string; role: string },
|
||||
|
||||
Reference in New Issue
Block a user