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": {
"nodemon": "^3.1.10"
},
"engines": {
"node": ">= 23.11.0"
}
}

View File

@ -5,7 +5,6 @@ const express = require("express")
const router = express()
router.post("/iam", (req, res) => {
console.log(req.body)
if (!req.body || !req.body.hwid) {
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>")

View File

@ -4,11 +4,30 @@ const utils = require("../../../../modules/utils")
const express = require("express")
const router = express()
router.use("", (req, res) => {
router.use("/download", (req, res) => {
const gameFiles = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles")
if (fs.existsSync(finalPath)) {
const gameFile = path.join(gameFiles, req.path)
if (fs.existsSync(gameFile)) {
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) {
console.error(error)
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 router = express()
router.use("", (req, res) => {
router.use("", async (req, res) => {
const finalPath = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles", req.path)
if (fs.existsSync(finalPath)) {
res.status(200).json(controller.getFileHash(finalPath))
res.status(200).send(await controller.getFileHash(finalPath))
} else {
utils.handleError(req, res, 404, "Fichier introuvable.")
}

View File

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