manque statut defi

This commit is contained in:
2024-12-17 19:19:08 +01:00
parent 1a1e9ca5d4
commit 1b12f3f732
7330 changed files with 1540 additions and 153 deletions

View File

@@ -25,29 +25,46 @@ app.get('/user/:username', (req, res) => {
}
});
// Route pour mettre à jour la position dans baptiste.yaml
// Route pour mettre à jour la position d'un utilisateur
app.post('/update-position', (req, res) => {
const { longitude, latitude, last_update } = req.body; // Problème résolu ici
const userFilePath = path.join(__dirname, config.userFile);
const { username, longitude, latitude, last_update } = req.body; // Extraction des données de la requête
if (!username || !longitude || !latitude || !last_update) {
console.error("Requête invalide : données manquantes");
return res.status(400).json({ error: "Les champs username, longitude, latitude et last_update sont requis." });
}
const userFilePath = path.join(__dirname, `data/${username}.yaml`);
// Vérification que le fichier existe
if (!fs.existsSync(userFilePath)) {
console.error(`Fichier utilisateur non trouvé : ${userFilePath}`);
return res.status(404).json({ error: `Utilisateur ${username} non trouvé.` });
}
try {
console.log("Tentative de mise à jour des coordonnées :", longitude, latitude, last_update);
console.log(`Tentative de mise à jour des coordonnées pour ${username} :`, longitude, latitude, last_update);
const userData = yaml.load(fs.readFileSync(userFilePath, 'utf8'));
// Mise à jour des données utilisateur
userData.position_actuelle.longitude = longitude;
userData.position_actuelle.latitude = latitude;
userData.position_actuelle.last_update = last_update;
// Sauvegarde des données dans le fichier YAML
fs.writeFileSync(userFilePath, yaml.dump(userData), 'utf8');
console.log("Mise à jour réussie de baptiste.yaml");
console.log(`Mise à jour réussie de ${userFilePath}`);
res.json({ success: true, message: "Position mise à jour", data: userData });
} catch (error) {
console.error("Erreur lors de la mise à jour :", error.message);
res.status(500).json({ error: "Impossible de mettre à jour la position" });
console.error(`Erreur lors de la mise à jour pour ${username} :`, error.message);
res.status(500).json({ error: "Impossible de mettre à jour la position." });
}
});
// Servir les fichiers statiques
app.use('/static', express.static(path.join(__dirname, 'static')));
@@ -79,3 +96,31 @@ userData.pin_offset = config.pin_offset;
res.status(500).json({ error: "Impossible de récupérer les données" });
}
});
// Route pour la page de Julien
app.get('/julien', (req, res) => {
res.sendFile(path.join(__dirname, 'index_julien.html'));
});
/// Route pour récupérer les données de Julien
app.get('/data/julien.yaml', (req, res) => {
const userFilePath = path.join(__dirname, 'data/julien.yaml');
const configFilePath = path.join(__dirname, 'config.yaml');
try {
const userData = yaml.load(fs.readFileSync(userFilePath, 'utf8'));
const config = yaml.load(fs.readFileSync(configFilePath, 'utf8'));
// Inclure le décalage des pins dans la réponse
userData.pin_offset = config.pin_offset;
res.json(userData);
} catch (error) {
console.error("Erreur lors de la récupération des données :", error.message);
res.status(500).json({ error: "Impossible de récupérer les données" });
}
});
// Servir les fichiers statiques des tuiles
app.use('/tiles', express.static(path.join(__dirname, 'tiles')));