[mirotalksfu] - lock the room by the password

هذا الالتزام موجود في:
Miroslav Pejic
2021-11-04 20:16:09 +01:00
الأصل b2c03280cb
التزام e055d2128b
3 ملفات معدلة مع 135 إضافات و17 حذوفات

عرض الملف

@@ -11,6 +11,7 @@ module.exports = class Room {
this.router = null;
this.io = io;
this._isLocked = false;
this._roomPassword = null;
this.peers = new Map();
this.createTheRouter();
}
@@ -193,11 +194,15 @@ module.exports = class Room {
// ROOM STATUS
// ####################################################
getPassword() {
return this._roomPassword;
}
isLocked() {
return this._isLocked;
}
setLocked(status) {
setLocked(status, password) {
this._isLocked = status;
this._roomPassword = password;
}
// ####################################################

عرض الملف

@@ -241,17 +241,32 @@ io.on('connection', (socket) => {
}
});
socket.on('roomAction', (action) => {
switch (action) {
socket.on('roomAction', (data) => {
log.debug('Room action:', data);
switch (data.action) {
case 'lock':
roomList.get(socket.room_id).setLocked(true);
roomList.get(socket.room_id).setLocked(true, data.password);
roomList.get(socket.room_id).broadCast(socket.id, 'roomAction', data.action);
break;
case 'checkPassword':
let roomData = {
room: null,
password: 'KO',
};
if (data.password == roomList.get(socket.room_id).getPassword()) {
roomData.room = roomList.get(socket.room_id).toJson();
roomData.password = 'OK'
roomList.get(socket.room_id).sendTo(socket.id, 'roomPassword', roomData);
} else {
roomList.get(socket.room_id).sendTo(socket.id, 'roomPassword', roomData);
}
break;
case 'unlock':
roomList.get(socket.room_id).setLocked(false);
roomList.get(socket.room_id).broadCast(socket.id, 'roomAction', data.action);
break;
}
log.debug('Room locked:', roomList.get(socket.room_id).isLocked());
roomList.get(socket.room_id).broadCast(socket.id, 'roomAction', action);
});
socket.on('peerAction', (data) => {