initial group chat functionality
This commit is contained in:
parent
627c7eab3a
commit
d672692854
54
index.js
54
index.js
@ -47,8 +47,8 @@ function userInactivity(name, id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// User data
|
// User and chat data
|
||||||
const users = [];
|
const users = [], chats = [];
|
||||||
// Incoming user connection
|
// Incoming user connection
|
||||||
app.post('/connect', (req, res) => {
|
app.post('/connect', (req, res) => {
|
||||||
// Generate id, save user
|
// Generate id, save user
|
||||||
@ -219,7 +219,55 @@ app.post('/login', (req, res) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
res.status(200).json({success});
|
res.status(200).json({success});
|
||||||
})
|
});
|
||||||
|
|
||||||
|
app.post('/chatInit', (req, res) => {
|
||||||
|
const { name, id, chat } = req.body;
|
||||||
|
const fullName = `${name}#${id}`;
|
||||||
|
|
||||||
|
let chatExists = false;
|
||||||
|
for (const c of chats)
|
||||||
|
if (c.name === chat) {
|
||||||
|
chatExists = true;
|
||||||
|
if (!c.users[fullName])
|
||||||
|
c.users[fullName] = [];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!chatExists)
|
||||||
|
chats.push({
|
||||||
|
users: {},
|
||||||
|
name: chat
|
||||||
|
});
|
||||||
|
|
||||||
|
// Log message for debugging
|
||||||
|
if (consoleLogging)
|
||||||
|
console.log(`User with ID '${name}#${id}' joined chat '${chat}'.`);
|
||||||
|
|
||||||
|
res.status(200).send();
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post('/sendGroup', (req, res) => {
|
||||||
|
const { name, id, message, chat } = req.body;
|
||||||
|
|
||||||
|
for (const c of chats)
|
||||||
|
if (c.name === chat) {
|
||||||
|
c.users[`${name}#${id}`].push(message);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const u of users)
|
||||||
|
if (u.name === name && u.id === id) {
|
||||||
|
u.seen = new Date();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Log message for debugging
|
||||||
|
if (consoleLogging)
|
||||||
|
console.log(`User with ID '${name}#${id}' sent message '${message}' in '${chat}'.`);
|
||||||
|
|
||||||
|
res.status(200).send();
|
||||||
|
});
|
||||||
|
|
||||||
// Internal server error
|
// Internal server error
|
||||||
server.on('error', err => {
|
server.on('error', err => {
|
||||||
|
Loading…
Reference in New Issue
Block a user