delete any "new chat" notifications when deleting rooms
This commit is contained in:
parent
5dd32123a3
commit
a92d3ca121
1 changed files with 10 additions and 1 deletions
|
|
@ -580,11 +580,20 @@ export class ChatService {
|
|||
public async deleteRoom(room: MiChatRoom, deleter?: MiUser) {
|
||||
await this.chatRoomsRepository.delete(room.id);
|
||||
|
||||
// Erase any message notifications for this room
|
||||
const redisPipeline = this.redisClient.pipeline();
|
||||
const memberships = await this.chatRoomMembershipsRepository.findBy({ roomId: room.id });
|
||||
for (const membership of memberships) {
|
||||
redisPipeline.del(`newRoomChatMessageExists:${membership.userId}:${room.id}`);
|
||||
redisPipeline.srem(`newChatMessagesExists:${membership.userId}`, `room:${room.id}`);
|
||||
}
|
||||
await redisPipeline.exec();
|
||||
|
||||
if (deleter) {
|
||||
const deleterIsModerator = await this.roleService.isModerator(deleter);
|
||||
|
||||
if (deleterIsModerator) {
|
||||
this.moderationLogService.log(deleter, 'deleteChatRoom', {
|
||||
await this.moderationLogService.log(deleter, 'deleteChatRoom', {
|
||||
roomId: room.id,
|
||||
room: room,
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue