This commit is contained in:
AKCore 2023-06-03 17:55:19 -07:00
parent 2881446670
commit 8996ba8e1c
8 changed files with 142 additions and 151 deletions

View File

@ -1,8 +1,7 @@
import { RequestHandler } from "express";
import { deleteSession } from '@/src/managers/sessionManager';
import { deleteSession } from "@/src/managers/sessionManager";
const deleteSessionController: RequestHandler = (_req, res) => {
//res.json({ sessionId: { $oid: "64768f104722f795300c9fc0" }, rewardSeed: 5867309943877621023 });
deleteSession(_req.query.sessionId as string);
res.sendStatus(200);

View File

@ -1,42 +1,28 @@
import { RequestHandler } from "express";
import { getSession } from '@/src/managers/sessionManager';
import { getSession } from "@/src/managers/sessionManager";
const findSessionsController: RequestHandler = (_req, res) => {
console.log("FindSession Request:", JSON.parse(_req.body));
let r = JSON.parse(_req.body);
if(r != undefined)
{
if (r != undefined) {
console.log("Found ID");
let s = getSession(r.id);
if(s)
res.json({"queryId":r.queryId,"Sessions":s});
else
res.json({});
}
else if(r != undefined)
{
if (s) res.json({ queryId: r.queryId, Sessions: s });
else res.json({});
} else if (r != undefined) {
console.log("Found OriginalSessionID");
let s = getSession(r.originalSessionId);
if(s)
res.json({"queryId":r.queryId,"Sessions":[s]});
else
res.json({});
}
else
{
if (s) res.json({ queryId: r.queryId, Sessions: [s] });
else res.json({});
} else {
console.log("Found SessionRequest");
let s = getSession(_req.body);
if(s)
res.json({"queryId":r.queryId,"Sessions":[s]});
else
res.json({});
if (s) res.json({ queryId: r.queryId, Sessions: [s] });
else res.json({});
}
};
export { findSessionsController };

View File

@ -1,5 +1,5 @@
import { RequestHandler } from "express";
import { createNewSession } from '@/src/managers/sessionManager';
import { createNewSession } from "@/src/managers/sessionManager";
const hostSessionController: RequestHandler = (_req, res) => {
console.log("HostSession Request:", JSON.parse(_req.body));

View File

@ -1,12 +1,11 @@
import { RequestHandler } from "express";
import { getSessionByID } from '@/src/managers/sessionManager';
import { getSessionByID } from "@/src/managers/sessionManager";
const joinSessionController: RequestHandler = (_req, res) => {
console.log("JoinSession Request:", JSON.parse(_req.body));
let r = JSON.parse(_req.body);
let s = getSessionByID(r.sessionIds[0])
res.json({"rewardSeed":s?.rewardSeed,"sessionId":{"$oid":s?.sessionId}});
let s = getSessionByID(r.sessionIds[0]);
res.json({ rewardSeed: s?.rewardSeed, sessionId: { $oid: s?.sessionId } });
};
export { joinSessionController };

View File

@ -1,13 +1,13 @@
import { RequestHandler } from "express";
import { updateSession } from '@/src/managers/sessionManager';
import { updateSession } from "@/src/managers/sessionManager";
const updateSessionGetController: RequestHandler = (_req, res) => {
res.json({});
};
const updateSessionPostController: RequestHandler = (_req, res) => {
console.log("UpdateSessions POST Request:", JSON.parse(_req.body));
console.log("ReqID:",_req.query.sessionId as string)
updateSession(_req.query.sessionId as string, _req.body)
console.log("ReqID:", _req.query.sessionId as string);
updateSession(_req.query.sessionId as string, _req.body);
res.json({});
};
export { updateSessionGetController, updateSessionPostController };

View File

@ -44,18 +44,18 @@ interface Session {
difficulty: sessionData.difficulty || 0,
hasStarted: sessionData.hasStarted || false,
enableVoice: sessionData.enableVoice || true,
matchType: sessionData.matchType || 'NORMAL',
matchType: sessionData.matchType || "NORMAL",
maps: sessionData.maps || [],
originalSessionId: sessionData.originalSessionId || '',
customSettings: sessionData.customSettings || '',
originalSessionId: sessionData.originalSessionId || "",
customSettings: sessionData.customSettings || "",
rewardSeed: sessionData.rewardSeed || -1,
guildId: sessionData.guildId || '',
guildId: sessionData.guildId || "",
buildId: sessionData.buildId || 4920386201513015989,
platform: sessionData.platform || 0,
xplatform: sessionData.xplatform || true,
freePublic: sessionData.freePublic || 3,
freePrivate: sessionData.freePrivate || 0,
fullReset:0,
fullReset: 0
};
sessions.push(newSession);
return newSession;
@ -69,21 +69,20 @@ interface Session {
return sessions.find(session => session.sessionId === sessionId);
}
interface FindSessionRequest {
[key: string]: any;
}
function getSession(sessionIdOrRequest: string | FindSessionRequest): any[] {
if (typeof sessionIdOrRequest === 'string') {
if (typeof sessionIdOrRequest === "string") {
const session = sessions.find(session => session.sessionId === sessionIdOrRequest);
if (session) {
console.log("Found Sessions:",session)
console.log("Found Sessions:", session);
return [
{
createdBy: session.creatorId,
id: session.sessionId,
},
id: session.sessionId
}
];
}
return [];
@ -91,16 +90,16 @@ interface Session {
const request = sessionIdOrRequest as FindSessionRequest;
const matchingSessions = sessions.filter(session => {
for (const key in request) {
if (key !== 'eloRating' && key !== 'queryId' && request[key] !== session[key as keyof Session]) {
if (key !== "eloRating" && key !== "queryId" && request[key] !== session[key as keyof Session]) {
return false;
}
}
console.log("Found Matching Sessions:",matchingSessions)
console.log("Found Matching Sessions:", matchingSessions);
return true;
});
return matchingSessions.map(session => ({
createdBy: session.creatorId,
id: session.sessionId,
id: session.sessionId
}));
}
}
@ -110,12 +109,12 @@ interface Session {
}
function getNewSessionID(): string {
const characters = '0123456789abcdef';
const characters = "0123456789abcdef";
const maxAttempts = 100;
let sessionId = '';
let sessionId = "";
for (let attempt = 0; attempt < maxAttempts; attempt++) {
sessionId = '64';
sessionId = "64";
for (let i = 0; i < 22; i++) {
const randomIndex = Math.floor(Math.random() * characters.length);
sessionId += characters[randomIndex];
@ -126,7 +125,7 @@ interface Session {
}
}
throw new Error('Failed to generate a unique session ID');
throw new Error("Failed to generate a unique session ID");
}
function updateSession(sessionId: string, sessionData: string): boolean {
@ -137,7 +136,7 @@ interface Session {
Object.assign(session, updatedData);
return true;
} catch (error) {
console.error('Invalid JSON string for session update.');
console.error("Invalid JSON string for session update.");
return false;
}
}
@ -153,5 +152,13 @@ interface Session {
return false;
}
export { createNewSession, getAllSessions, getSessionByID, getSessionByCreatorID, getNewSessionID, updateSession, deleteSession, getSession };
export {
createNewSession,
getAllSessions,
getSessionByID,
getSessionByCreatorID,
getNewSessionID,
updateSession,
deleteSession,
getSession
};