2025-05-01 18:42:48 +02:00

40 lines
1.3 KiB
JavaScript

const fs = require("node:fs")
const path = require("node:path")
const utils = require("../../../../modules/utils")
const express = require("express")
const router = express()
router.use("/download", (req, res) => {
const gameFiles = path.join(__dirname, "..", "..", "..", "..", "data", "gameFiles")
const gameFile = path.join(gameFiles, req.path)
if (fs.existsSync(gameFile)) {
try {
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.")
}
} else {
utils.handleError(req, res, 404, "Fichier introuvable.")
}
})
module.exports = router