Merge remote-tracking branch 'origin/main'
This commit is contained in:
+17
-10
@@ -146,19 +146,14 @@ app.post("/verify", authenticateToken, (request, response) => {
|
|||||||
response.json({valid: true, user: request.user});
|
response.json({valid: true, user: request.user});
|
||||||
});
|
});
|
||||||
|
|
||||||
app.delete("/logout", authenticateToken, (request, response) => {
|
app.delete("/logout", authenticateToken, async (request, response) => {
|
||||||
const username = request.user.username;
|
const username = request.user.username;
|
||||||
const users = get_data();
|
const users = get_data();
|
||||||
const user = users.find(u => u.username === username);
|
const user = users.find(u => u.username === username);
|
||||||
if (!user) return response.status(404).json({error: "User not found"});
|
if (!user) return response.status(404).json({error: "User not found"});
|
||||||
const lobbyId = user.lobbyId;
|
const lobbyId = user.lobbyId;
|
||||||
if (lobbyId && playerMap[lobbyId]) {
|
await leaveLobby(lobbyId, username);
|
||||||
playerMap[lobbyId] = playerMap[lobbyId].filter(player => player !== username);
|
await deleteLobby(lobbyId);
|
||||||
if (playerMap[lobbyId].length === 0) {
|
|
||||||
delete playerMap[lobbyId];
|
|
||||||
}
|
|
||||||
delete user.lobbyId;
|
|
||||||
}
|
|
||||||
delete user.token;
|
delete user.token;
|
||||||
save_data(users);
|
save_data(users);
|
||||||
response.clearCookie("authorization", {
|
response.clearCookie("authorization", {
|
||||||
@@ -169,8 +164,6 @@ app.delete("/logout", authenticateToken, (request, response) => {
|
|||||||
response.json({message: "Logged out successfully."});
|
response.json({message: "Logged out successfully."});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Here will be the Game logic -----------------------------------------------------------------------------------------------
|
Here will be the Game logic -----------------------------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@@ -186,6 +179,20 @@ async function createLobby() {
|
|||||||
return lobbyId;
|
return lobbyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function leaveLobby(id, username) {
|
||||||
|
if (id && playerMap[id] && username) {
|
||||||
|
playerMap[id].splice(playerMap[id].indexOf(username), 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function deleteLobby(id) {
|
||||||
|
if (id && playerMap[id]) {
|
||||||
|
if (playerMap[id].length === 0) {
|
||||||
|
playerMap[id].splice(playerMap.indexOf(id), 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function joinLobby(lobbyId, player_name) {
|
async function joinLobby(lobbyId, player_name) {
|
||||||
let response = await fetch(`https://www.deckofcardsapi.com/api/deck/${lobbyId}/pile/${player_name}/add/?cards=`)
|
let response = await fetch(`https://www.deckofcardsapi.com/api/deck/${lobbyId}/pile/${player_name}/add/?cards=`)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user