initial commit

This commit is contained in:
y.campiontrebouta@innotexnas.ovh
2026-02-04 19:04:46 +01:00
commit abb51904d7
27 changed files with 4011 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
const express = require('express');
const fs = require('fs-extra');
const path = require('path');
const { SERVER_DIR } = require('../server');
const router = express.Router();
function isAuthenticated(req, res, next) {
if (req.session.user) {
next();
} else {
res.status(401).json({ error: 'Non authentifié' });
}
}
router.get('/', isAuthenticated, async (req, res) => {
try {
const serverPropsFile = path.join(SERVER_DIR, 'server.properties');
if (!await fs.pathExists(serverPropsFile)) {
return res.status(404).json({ error: 'server.properties non trouvé' });
}
const content = await fs.readFile(serverPropsFile, 'utf-8');
const lines = content.split('\n');
const properties = {};
lines.forEach(line => {
if (line && !line.startsWith('#')) {
const [key, ...valueParts] = line.split('=');
properties[key.trim()] = valueParts.join('=').trim();
}
});
res.json({ properties });
} catch (error) {
console.error('Erreur serveur:', error);
res.status(500).json({ error: 'Erreur serveur' });
}
});
router.post('/update', isAuthenticated, async (req, res) => {
try {
const { property, value } = req.body;
if (!property || value === undefined) {
return res.status(400).json({ error: 'Données manquantes' });
}
const serverPropsFile = path.join(SERVER_DIR, 'server.properties');
let content = await fs.readFile(serverPropsFile, 'utf-8');
const lines = content.split('\n');
let found = false;
const newContent = lines.map(line => {
if (line.startsWith(property + '=')) {
found = true;
return `${property}=${value}`;
}
return line;
}).join('\n');
if (!found) {
content = newContent + '\n' + property + '=' + value;
} else {
content = newContent;
}
await fs.writeFile(serverPropsFile, content, 'utf-8');
res.json({ message: 'Propriété mise à jour' });
} catch (error) {
console.error('Erreur mise à jour:', error);
res.status(500).json({ error: 'Erreur serveur' });
}
});
module.exports = router;