This commit is contained in:
Gilles Lazures 2025-05-01 18:42:48 +02:00
parent 468748fa60
commit e6b016194e
7 changed files with 29 additions and 7 deletions

1
.npmrc Normal file
View File

@ -0,0 +1 @@
engine-strict=true

Binary file not shown.

View File

@ -26,5 +26,8 @@
}, },
"devDependencies": { "devDependencies": {
"nodemon": "^3.1.10" "nodemon": "^3.1.10"
},
"engines": {
"node": ">= 23.11.0"
} }
} }

View File

@ -5,7 +5,6 @@ const express = require("express")
const router = express() const router = express()
router.post("/iam", (req, res) => { router.post("/iam", (req, res) => {
console.log(req.body)
if (!req.body || !req.body.hwid) { if (!req.body || !req.body.hwid) {
const ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress const ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress
utils.handleError(req, res, 422, "Paramètre manquant dans le corp de la requête : <hwid>") utils.handleError(req, res, 422, "Paramètre manquant dans le corp de la requête : <hwid>")

View File

@ -4,11 +4,30 @@ const utils = require("../../../../modules/utils")
const express = require("express") const express = require("express")
const router = express() const router = express()
router.use("", (req, res) => { router.use("/download", (req, res) => {
const gameFiles = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles") const gameFiles = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles")
if (fs.existsSync(finalPath)) { const gameFile = path.join(gameFiles, req.path)
if (fs.existsSync(gameFile)) {
try { try {
res.status(200).json(fs.readdirSync(gameFiles, { recursive: true })) res.download(gameFile)
} catch (error) {
console.error(error)
utils.handleError(req, res, 500, "Erreur interne du serveur.")
}
} else {
utils.handleError(req, res, 404, "Fichier introuvable.")
}
})
router.get("", (req, res) => {
const gameFiles = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles")
if (fs.existsSync(gameFiles)) {
try {
res.status(200).json(fs.readdirSync(gameFiles, { recursive: true }).filter(value => {
if (!fs.statSync(path.join(gameFiles, value)).isDirectory()) {
return value
}
}))
} catch (error) { } catch (error) {
console.error(error) console.error(error)
utils.handleError(req, res, 500, "Erreur interne du serveur.") utils.handleError(req, res, 500, "Erreur interne du serveur.")

View File

@ -5,10 +5,10 @@ const utils = require("../../../../modules/utils")
const express = require("express") const express = require("express")
const router = express() const router = express()
router.use("", (req, res) => { router.use("", async (req, res) => {
const finalPath = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles", req.path) const finalPath = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles", req.path)
if (fs.existsSync(finalPath)) { if (fs.existsSync(finalPath)) {
res.status(200).json(controller.getFileHash(finalPath)) res.status(200).send(await controller.getFileHash(finalPath))
} else { } else {
utils.handleError(req, res, 404, "Fichier introuvable.") utils.handleError(req, res, 404, "Fichier introuvable.")
} }

View File

@ -35,7 +35,7 @@ io.on("connection", (socket) => {
socket.on("force-update", () => { socket.on("force-update", () => {
const token = socket.handshake.auth.token const token = socket.handshake.auth.token
if (dbController.isTokenValid(token)) { if (dbController.isTokenValid(token)) {
io.to("/game/updates").emit("confirmed") io.emit("force-game-update")
} else { } else {
socket.disconnect() socket.disconnect()
} }