Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2bd9e60

Browse files
authored
Fix: Adjust Match PUT call to ensure servers in use cannot be used. (#283)
Feat: Update versions of packages and fix errors.
1 parent 6531892 commit 2bd9e60

5 files changed

Lines changed: 198 additions & 221 deletions

File tree

app.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import config from "config";
2-
import connectRedis from "connect-redis";
2+
import RedisStore from "connect-redis";
33
import cookieParser from "cookie-parser";
44
import cors from "cors";
55
import express from "express";
@@ -57,11 +57,9 @@ app.use(helmet());
5757
if (config.get("server.useRedis")) {
5858
// Messy but avoids any open file handles.
5959
const redisClient = createClient({
60-
legacyMode: true,
6160
url: config.get("server.redisUrl"),
6261
});
6362

64-
const redisStore = connectRedis(session);
6563
await redisClient.connect();
6664
redisClient.on("error", (err) => {
6765
console.log("Redis error: ", err);
@@ -77,8 +75,8 @@ if (config.get("server.useRedis")) {
7775
name: "G5API",
7876
resave: false,
7977
saveUninitialized: true,
80-
store: new redisStore(redisCfg),
81-
cookie: { maxAge: 3600000 },
78+
store: new RedisStore(redisCfg),
79+
cookie: { maxAge: 86400000 },
8280
})
8381
);
8482
} else {
@@ -88,7 +86,7 @@ if (config.get("server.useRedis")) {
8886
name: "G5API",
8987
resave: false,
9088
saveUninitialized: true,
91-
cookie: { maxAge: 3600000 },
89+
cookie: { maxAge: 86400000 },
9290
})
9391
);
9492
}
@@ -116,7 +114,7 @@ const options = {
116114
openapi: "3.0.0", // Specification (optional, defaults to swagger: '2.0')
117115
info: {
118116
title: "G5API", // Title (required)
119-
version: "2.0.0" // Version (required)
117+
version: "2.0.2.4" // Version (required)
120118
}
121119
},
122120
// Path to the API docs

package.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "g5api",
3-
"version": "2.0.2.3",
3+
"version": "2.0.2.4",
44
"private": true,
55
"type": "module",
66
"licenses": [
@@ -68,35 +68,35 @@
6868
"dependencies": {
6969
"@node-steam/id": "^1.2.0",
7070
"aes-js": "^3.1.2",
71-
"bcrypt": "^5.1.0",
72-
"compare-versions": "^6.0.0-rc.2",
73-
"config": "^3.3.7",
74-
"connect-redis": "^6.1.3",
71+
"bcrypt": "^5.1.1",
72+
"compare-versions": "^6.1.0",
73+
"config": "^3.3.11",
74+
"connect-redis": "^7.1.1",
7575
"cookie-parser": "~1.4.6",
7676
"cors": "^2.8.5",
7777
"db-migrate": "^0.11.13",
7878
"db-migrate-mysql": "^2.2.0",
79-
"debug": "~4.3.1",
79+
"debug": "~4.3.4",
8080
"express": "~4.19.2",
8181
"express-bearer-token": "^2.4.0",
82-
"express-rate-limit": "^6.7.0",
83-
"express-session": "^1.17.0",
84-
"helmet": "^6.0.0",
85-
"http-errors": "~1.7.3",
86-
"jszip": "^3.7.0",
82+
"express-rate-limit": "^7.2.0",
83+
"express-session": "^1.18.0",
84+
"helmet": "^7.1.0",
85+
"http-errors": "~2.0.0",
86+
"jszip": "^3.10.1",
8787
"morgan": "^1.10.0",
88-
"mysql2": "^3.9.4",
89-
"node-fetch": "^3.2.0",
88+
"mysql2": "^3.9.7",
89+
"node-fetch": "^3.3.2",
9090
"passport": "^0.6.0",
9191
"passport-local": "^1.0.0",
9292
"passport-steam": "^1.0.18",
93-
"pm2": "^5.3.0",
94-
"randomstring": "^1.2.2",
93+
"pm2": "^5.3.1",
94+
"randomstring": "^1.3.0",
9595
"rcon": "^1.1.0",
96-
"redis": "^4.3.0",
97-
"steamapi": "^2.2.0",
98-
"swagger-jsdoc": "^6.2.5",
99-
"swagger-ui-express": "^4.5.0"
96+
"redis": "^4.6.13",
97+
"steamapi": "^3.0.8",
98+
"swagger-jsdoc": "^6.2.8",
99+
"swagger-ui-express": "^5.0.0"
100100
},
101101
"devDependencies": {
102102
"@types/aes-js": "^3.1.1",

src/routes/matches/matches.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1371,6 +1371,12 @@ router.put("/", Utils.ensureAuthenticated, async (req, res, next) => {
13711371
return;
13721372
}
13731373
if (req.body[0].server_id != matchRow[0].server_id) diffServer = true;
1374+
if (returnedServer[0].in_use) {
1375+
res.status(401).json({
1376+
message: "Server is already in use, please select a different server."
1377+
});
1378+
return;
1379+
}
13741380
}
13751381

13761382
let vetoSql =

src/utility/utils.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import config from "config";
1919
/** Steam API Handler for custom URLs
2020
* @const
2121
*/
22-
import SteamURLResolver from "steamapi";
23-
const SteamAPI = new SteamURLResolver(config.get("server.steamAPIKey"));
22+
import SteamAPI from "steamapi";
23+
const steam = new SteamAPI(config.get("server.steamAPIKey"));
2424
/** Steam ID Handler for other IDs.
2525
* @const
2626
*/
@@ -217,7 +217,7 @@ class Utils {
217217
// Remove any https tags, as they aren't needed.
218218
authString = authString.replace(new RegExp("^(http|https)://", "i"), "");
219219
if (authString.includes("steamcommunity.com/id/")) {
220-
let steamID = await SteamAPI.resolve(authString);
220+
let steamID = await steam.resolve(authString);
221221
return steamID;
222222
} else if (authString.includes("steamcommunity.com/profiles/")) {
223223
return authString.split("/")[2];
@@ -232,7 +232,7 @@ class Utils {
232232
} else if (authString.startsWith("7656119")) {
233233
return authString;
234234
} else {
235-
let steamID = await SteamAPI.resolve(
235+
let steamID = await steam.resolve(
236236
"steamcommunity.com/id/" + authString
237237
);
238238
return steamID;
@@ -248,7 +248,8 @@ class Utils {
248248
*/
249249
static async getSteamName(auth64: string) {
250250
try {
251-
let summaryInfo = await SteamAPI.getUserSummary(auth64);
251+
let summaryInfo = await steam.getUserSummary(auth64);
252+
// @ts-expect-error
252253
return summaryInfo.nickname;
253254
} catch {
254255
return null;
@@ -265,7 +266,8 @@ class Utils {
265266
*/
266267
static async getSteamImage(auth64: string) {
267268
try {
268-
let summaryInfo = await SteamAPI.getUserSummary(auth64);
269+
let summaryInfo = await steam.getUserSummary(auth64);
270+
// @ts-expect-error
269271
return summaryInfo.avatar.medium;
270272
} catch {
271273
return null;

0 commit comments

Comments
 (0)