handle conflict after merge with master

This commit is contained in:
simplonco
2023-01-18 06:13:52 +01:00
parent eb33f8f4fa
commit 8bc82be1ff
2 changed files with 27 additions and 28 deletions

View File

@@ -258,14 +258,14 @@ export class ChatController {
const blocked = await this.chatService.getListBlockUser(req.user.username); const blocked = await this.chatService.getListBlockUser(req.user.username);
if (blocked.includes(room.name)) if (blocked.includes(room.name))
{ {
console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'"); console.error("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'");
throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED);
} }
const find_room = await this.chatService.getRoomByName(`${req.user.username} + ${room.name}`); const find_room = await this.chatService.getRoomByName(`${req.user.username} + ${room.name}`);
if (find_room) if (find_room)
{ {
console.log("throw error: error: true, code: 'ROOM_CONFLICT', message: 'This room name already exist'"); console.error("throw error: error: true, code: 'ROOM_CONFLICT', message: 'This room name already exist'");
throw new HttpException({ error: true, code: 'ROOM_CONFLICT', message: `This room name already exist` }, HttpStatus.CONFLICT); throw new HttpException({ error: true, code: 'ROOM_CONFLICT', message: `This room name already exist` }, HttpStatus.CONFLICT);
} }
room.type = 'direct'; room.type = 'direct';
@@ -280,17 +280,17 @@ export class ChatController {
const room_db = await this.chatService.getRoomByName(room.name, fields); const room_db = await this.chatService.getRoomByName(room.name, fields);
if (room_db.type === 'direct') if (room_db.type === 'direct')
{ {
console.log("throw error: error: true, code: 'JOIN_DIRECT_FORBIDDEN', message: 'cannot join a direct messages room'"); console.error("throw error: error: true, code: 'JOIN_DIRECT_FORBIDDEN', message: 'cannot join a direct messages room'");
throw new HttpException({ error: true, code: 'JOIN_DIRECT_FORBIDDEN', message: `cannot join a direct messages room` }, HttpStatus.CONFLICT); throw new HttpException({ error: true, code: 'JOIN_DIRECT_FORBIDDEN', message: `cannot join a direct messages room` }, HttpStatus.CONFLICT);
} }
if (room_db.type === 'private') if (room_db.type === 'private')
{ {
console.log("throw error: error: true, code: 'JOIN_PRIVATE_FORBIDDEN', message: 'cannot join a private room'"); console.error("throw error: error: true, code: 'JOIN_PRIVATE_FORBIDDEN', message: 'cannot join a private room'");
throw new HttpException({ error: true, code: 'JOIN_PRIVATE_FORBIDDEN', message: `cannot join a private room` }, HttpStatus.CONFLICT); throw new HttpException({ error: true, code: 'JOIN_PRIVATE_FORBIDDEN', message: `cannot join a private room` }, HttpStatus.CONFLICT);
} }
if (room_db.users.includes(req.user.username)) if (room_db.users.includes(req.user.username))
{ {
console.log("throw error: error: true, code: 'ALREADY_JOIN', message: 'your have already joined this room'"); console.error("throw error: error: true, code: 'ALREADY_JOIN', message: 'your have already joined this room'");
throw new HttpException({ error: true, code: 'ALREADY_JOIN', message: `your have already joined this room` }, HttpStatus.CONFLICT); throw new HttpException({ error: true, code: 'ALREADY_JOIN', message: `your have already joined this room` }, HttpStatus.CONFLICT);
} }
room = await this.chatService.addUserToRoom(req.user.username, room.name); room = await this.chatService.addUserToRoom(req.user.username, room.name);
@@ -316,7 +316,7 @@ export class ChatController {
if (!room_db.users.includes(req.user.username)) if (!room_db.users.includes(req.user.username))
{ {
console.log("throw error: error: true, code: 'NEED_JOIN', message: 'you didn't join this room'"); console.error("throw error: error: true, code: 'NEED_JOIN', message: 'you didn't join this room'");
throw new HttpException({ error: true, code: 'NEED_JOIN', message: `you didn't join this room` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'NEED_JOIN', message: `you didn't join this room` }, HttpStatus.UNAUTHORIZED);
} }
@@ -324,7 +324,7 @@ export class ChatController {
{ {
if (!room_db.allowed_users.includes(req.user.username)) if (!room_db.allowed_users.includes(req.user.username))
{ {
console.log("throw error: error: true, code: 'NEED_AUTHENTICATE', message: 'You didn't provide the password for this room'"); console.error("throw error: error: true, code: 'NEED_AUTHENTICATE', message: 'You didn't provide the password for this room'");
throw new HttpException({ error: true, code: 'NEED_AUTHENTICATE', message: `You didn't provide the password for this room` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'NEED_AUTHENTICATE', message: `You didn't provide the password for this room` }, HttpStatus.UNAUTHORIZED);
} }
} }
@@ -337,7 +337,7 @@ export class ChatController {
roomname = room.users[1]; roomname = room.users[1];
if (blocked.includes(roomname)) if (blocked.includes(roomname))
{ {
console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'"); console.error("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'");
throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED);
} }
} }
@@ -364,7 +364,7 @@ export class ChatController {
{ {
if (!room.password) if (!room.password)
{ {
console.log("throw error: error: true, code: 'PASSWORD_MISSING', message: 'this room is protected, you need to provide a password'"); console.error("throw error: error: true, code: 'PASSWORD_MISSING', message: 'this room is protected, you need to provide a password'");
throw new HttpException({ error: true, code: 'PASSWORD_MISSING', message: `this room is protected, you need to provide a password` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'PASSWORD_MISSING', message: `this room is protected, you need to provide a password` }, HttpStatus.UNAUTHORIZED);
} }
if (!room_db.allowed_users.includes(req.user.username)) if (!room_db.allowed_users.includes(req.user.username))
@@ -452,7 +452,7 @@ export class ChatController {
const blocked = await this.chatService.getListBlockUser(req.user.username); const blocked = await this.chatService.getListBlockUser(req.user.username);
if (blocked.includes(username)) if (blocked.includes(username))
{ {
console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot invite this user, you have blocked it'"); console.error("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot invite this user, you have blocked it'");
throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot invite this user, you have blocked it` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot invite this user, you have blocked it` }, HttpStatus.UNAUTHORIZED);
} }
@@ -582,13 +582,13 @@ export class ChatController {
const room_name = await this.chatService.getCurrentRoomName(username); const room_name = await this.chatService.getCurrentRoomName(username);
if (!room_name) if (!room_name)
{ {
console.log("throw error: error: true, code: 'CURRENT_ROOM_NAME_NOT_FOUND', message: 'current_room_name_not_found'"); console.error("throw error: error: true, code: 'CURRENT_ROOM_NAME_NOT_FOUND', message: 'current_room_name_not_found'");
throw new HttpException({ error: true, code: 'CURRENT_ROOM_NAME_NOT_FOUND', message: `current_room_name_not_found` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'CURRENT_ROOM_NAME_NOT_FOUND', message: `current_room_name_not_found` }, HttpStatus.UNAUTHORIZED);
} }
const current_room = await this.chatService.getRoomByName(room_name); const current_room = await this.chatService.getRoomByName(room_name);
if (!current_room) if (!current_room)
{ {
console.log("throw error: error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: 'current_room_not_found'"); console.error("throw error: error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: 'current_room_not_found'");
throw new HttpException({ error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: `current_room_not_found` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: `current_room_not_found` }, HttpStatus.UNAUTHORIZED);
} }
const blocked = await this.chatService.getListBlockUser(req.user.username); const blocked = await this.chatService.getListBlockUser(req.user.username);
@@ -619,7 +619,6 @@ export class ChatController {
await this.chatService.addMute(req.user.username, room_name, mute); await this.chatService.addMute(req.user.username, room_name, mute);
// inform other connected users // inform other connected users
console.log("mute object:", mute);
let message = `${req.user.username} has muted ${mute.name} untill ${time}`; let message = `${req.user.username} has muted ${mute.name} untill ${time}`;
let socket: socketDto = this.chatService.getSocket(req.user.username); let socket: socketDto = this.chatService.getSocket(req.user.username);
let server = this.chatGateway.server; let server = this.chatGateway.server;
@@ -657,7 +656,7 @@ export class ChatController {
const room_name = await this.chatService.getCurrentRoomName(req.user.username); const room_name = await this.chatService.getCurrentRoomName(req.user.username);
if (!room_name) if (!room_name)
{ {
console.log("throw error: error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: 'current_room_not_found'"); console.error("throw error: error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: 'current_room_not_found'");
throw new HttpException({ error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: `current_room_not_found` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'CURRENT_ROOM_NOT_FOUND', message: `current_room_not_found` }, HttpStatus.UNAUTHORIZED);
} }
@@ -666,7 +665,7 @@ export class ChatController {
const is_admin = room_db.admins.includes(req.user.username); const is_admin = room_db.admins.includes(req.user.username);
if (!is_admin) if (!is_admin)
{ {
console.log("throw error: error: true, code: 'UNMUTE_NEED_ADMIN', message: 'you cannot unmute a user if you are not admin in the room'"); console.error("throw error: error: true, code: 'UNMUTE_NEED_ADMIN', message: 'you cannot unmute a user if you are not admin in the room'");
throw new HttpException({ error: true, code: 'UNMUTE_NEED_ADMIN', message: `you cannot unmute a user if you are not admin in the room` }, HttpStatus.UNAUTHORIZED); throw new HttpException({ error: true, code: 'UNMUTE_NEED_ADMIN', message: `you cannot unmute a user if you are not admin in the room` }, HttpStatus.UNAUTHORIZED);
} }

View File

@@ -348,12 +348,12 @@ export class ChatService {
if (!room_db.admins.includes(username)) if (!room_db.admins.includes(username))
{ {
console.log("throw error: error: true, code: 'NO_ADMIN', message: 'only admins are allowed to remove password'"); console.error("throw error: error: true, code: 'NO_ADMIN', message: 'only admins are allowed to remove password'");
throw new HttpException({ error: true, code: 'NO_ADMIN', message: `only admins are allowed to remove password` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'NO_ADMIN', message: `only admins are allowed to remove password` }, HttpStatus.FORBIDDEN);
} }
if (!room.password) if (!room.password)
{ {
console.log("throw error: error: true, code: 'NO_PASSWORD', message: 'you must provide a password'"); console.error("throw error: error: true, code: 'NO_PASSWORD', message: 'you must provide a password'");
throw new HttpException({ error: true, code: 'NO_PASSWORD', message: `you must provide a password` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'NO_PASSWORD', message: `you must provide a password` }, HttpStatus.FORBIDDEN);
} }
const is_match = await bcrypt.compare(room.password, room_db.hash); const is_match = await bcrypt.compare(room.password, room_db.hash);
@@ -379,7 +379,7 @@ export class ChatService {
if (room.type === 'direct') if (room.type === 'direct')
{ {
console.log("throw error: error: true, code: 'DIRECT_PASSWORD_FORBIDDEN', message: 'you cannot set a password in a direct message room'"); console.error("throw error: error: true, code: 'DIRECT_PASSWORD_FORBIDDEN', message: 'you cannot set a password in a direct message room'");
throw new HttpException({ error: true, code: 'DIRECT_PASSWORD_FORBIDDEN', message: `you cannot set a password in a direct message room` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'DIRECT_PASSWORD_FORBIDDEN', message: `you cannot set a password in a direct message room` }, HttpStatus.FORBIDDEN);
} }
@@ -392,20 +392,20 @@ export class ChatService {
if (!room_db.admins.includes(username)) if (!room_db.admins.includes(username))
{ {
console.log("throw error: error: true, code: 'NO_ADMIN', message: 'only admins are allowed to set or modify password'"); console.error("throw error: error: true, code: 'NO_ADMIN', message: 'only admins are allowed to set or modify password'");
throw new HttpException({ error: true, code: 'NO_ADMIN', message: `only admins are allowed to set or modify password` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'NO_ADMIN', message: `only admins are allowed to set or modify password` }, HttpStatus.FORBIDDEN);
} }
if (!room.password) if (!room.password)
{ {
console.log("throw error: error: true, code: 'NO_PASSWORD', message: 'this room has no password protection'"); console.error("throw error: error: true, code: 'NO_PASSWORD', message: 'this room has no password protection'");
throw new HttpException({ error: true, code: 'NO_PASSWORD', message: `this room has no password protection` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'NO_PASSWORD', message: `this room has no password protection` }, HttpStatus.FORBIDDEN);
} }
if (room_db.protection) if (room_db.protection)
{ {
if (room.protection && !old_password) if (room.protection && !old_password)
{ {
console.log("throw error: error: true, code: 'MISSING_OLD_PASSWORD', message: 'you need to provide the old password to set a new one'"); console.error("throw error: error: true, code: 'MISSING_OLD_PASSWORD', message: 'you need to provide the old password to set a new one'");
throw new HttpException({ error: true, code: 'MISSING_OLD_PASSWORD', message: `you need to provide the old password to set a new one` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'MISSING_OLD_PASSWORD', message: `you need to provide the old password to set a new one` }, HttpStatus.FORBIDDEN);
} }
if (old_password) if (old_password)
@@ -587,7 +587,7 @@ export class ChatService {
const find_room = await this.getRoomByName(room.name); const find_room = await this.getRoomByName(room.name);
if (find_room) if (find_room)
{ {
console.log("throw error: error: true, code: 'ROOM_CONFLICT', message: 'This room name already exist'"); console.error("throw error: error: true, code: 'ROOM_CONFLICT', message: 'This room name already exist'");
throw new HttpException({ error: true, code: 'ROOM_CONFLICT', message: `This room name already exist` }, HttpStatus.CONFLICT); throw new HttpException({ error: true, code: 'ROOM_CONFLICT', message: `This room name already exist` }, HttpStatus.CONFLICT);
} }
@@ -663,13 +663,13 @@ export class ChatService {
const room_db = await this.getRoomByName(room_name); const room_db = await this.getRoomByName(room_name);
if(!room_db) if(!room_db)
{ {
console.log("throw error: error: true, code: 'ROOM_NOT_FOUND', message: 'room not found for ${username}'"); console.error("throw error: error: true, code: 'ROOM_NOT_FOUND', message: 'room not found for ${username}'");
throw new HttpException({ error: true, code: 'ROOM_NOT_FOUND', message: `room not found for ${username}` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'ROOM_NOT_FOUND', message: `room not found for ${username}` }, HttpStatus.FORBIDDEN);
} }
if (!room_db.admins.includes(username)) if (!room_db.admins.includes(username))
{ {
console.log("throw error: error: true, code: 'NO_ADMIN', message: 'only admins are allowed to set or modify mute time'"); console.error("throw error: error: true, code: 'NO_ADMIN', message: 'only admins are allowed to set or modify mute time'");
throw new HttpException({ error: true, code: 'NO_ADMIN', message: `only admins are allowed to set or modify mute time` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'NO_ADMIN', message: `only admins are allowed to set or modify mute time` }, HttpStatus.FORBIDDEN);
} }
@@ -690,7 +690,7 @@ export class ChatService {
room_db.mutes.push(mute); room_db.mutes.push(mute);
else else
{ {
console.log("throw error: error: true, code: 'ALREADY_MUTE', message: 'this user is already mute for this room'"); console.error("throw error: error: true, code: 'ALREADY_MUTE', message: 'this user is already mute for this room'");
throw new HttpException({ error: true, code: 'ALREADY_MUTE', message: `this user is already mute for this room` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'ALREADY_MUTE', message: `this user is already mute for this room` }, HttpStatus.FORBIDDEN);
} }
} }
@@ -712,17 +712,17 @@ export class ChatService {
const room = await this.getRoomByName(room_name); const room = await this.getRoomByName(room_name);
if(!room) if(!room)
{ {
console.log("throw error: error: true, code: 'ROOM_NOT_FOUND', message: 'room_not_found'"); console.error("throw error: error: true, code: 'ROOM_NOT_FOUND', message: 'room_not_found'");
throw new HttpException({ error: true, code: 'ROOM_NOT_FOUND', message: `room_not_found` }, HttpStatus.NOT_FOUND); throw new HttpException({ error: true, code: 'ROOM_NOT_FOUND', message: `room_not_found` }, HttpStatus.NOT_FOUND);
} }
if (!room.users.includes(username)) if (!room.users.includes(username))
{ {
console.log("throw error: error: true, code: 'USER_NOT_FOUND', message: 'your are not in this room'"); console.error("throw error: error: true, code: 'USER_NOT_FOUND', message: 'your are not in this room'");
throw new HttpException({ error: true, code: 'USER_NOT_FOUND', message: `your are not in this room` }, HttpStatus.NOT_FOUND); throw new HttpException({ error: true, code: 'USER_NOT_FOUND', message: `your are not in this room` }, HttpStatus.NOT_FOUND);
} }
if (room.type === "direct") if (room.type === "direct")
{ {
console.log("throw error: error: true, code: 'LEAVE_DIRECT_FORBIDDEN', message: 'you cannot leave a direct messages conversation'"); console.error("throw error: error: true, code: 'LEAVE_DIRECT_FORBIDDEN', message: 'you cannot leave a direct messages conversation'");
throw new HttpException({ error: true, code: 'LEAVE_DIRECT_FORBIDDEN', message: `you cannot leave a direct messages conversation` }, HttpStatus.FORBIDDEN); throw new HttpException({ error: true, code: 'LEAVE_DIRECT_FORBIDDEN', message: `you cannot leave a direct messages conversation` }, HttpStatus.FORBIDDEN);
} }