Initial commit
This commit is contained in:
65
server.js
Normal file
65
server.js
Normal file
@@ -0,0 +1,65 @@
|
||||
const express = require("express");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const bodyParser = require("body-parser");
|
||||
|
||||
const app = express();
|
||||
const PORT = 3000;
|
||||
|
||||
// Middleware
|
||||
app.use(bodyParser.json());
|
||||
app.use(express.static("public"));
|
||||
|
||||
// Route pour récupérer le montant précédent
|
||||
app.get("/montant_precedent", (req, res) => {
|
||||
const filePath = path.join(__dirname, "data", "montant_precedent.txt");
|
||||
|
||||
// Vérifier si le fichier existe, sinon le créer avec une valeur par défaut
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, "0");
|
||||
}
|
||||
|
||||
const montant = fs.readFileSync(filePath, "utf-8").trim();
|
||||
res.send(montant || "0");
|
||||
});
|
||||
|
||||
// Route pour sauvegarder les données
|
||||
app.post("/save", (req, res) => {
|
||||
const { date, previousAmount, articles, articleTotal, finalTotal } = req.body;
|
||||
|
||||
// Validation des données
|
||||
const validPreviousAmount = parseFloat(previousAmount) || 0;
|
||||
const validArticleTotal = parseFloat(articleTotal) || 0;
|
||||
const validFinalTotal = parseFloat(finalTotal) || 0;
|
||||
|
||||
// Définir les chemins des fichiers
|
||||
const suiviPath = path.join(__dirname, "data", "suivi.csv");
|
||||
const montantPath = path.join(__dirname, "data", "montant_precedent.txt");
|
||||
|
||||
// Format de la ligne pour le fichier CSV
|
||||
const line = [
|
||||
date,
|
||||
validPreviousAmount.toFixed(2),
|
||||
JSON.stringify(articles),
|
||||
validArticleTotal.toFixed(2),
|
||||
validFinalTotal.toFixed(2)
|
||||
].join(",") + "\n";
|
||||
|
||||
try {
|
||||
// Ajouter la ligne au fichier suivi.csv
|
||||
fs.appendFileSync(suiviPath, line);
|
||||
|
||||
// Mettre à jour le montant précédent dans montant_precedent.txt
|
||||
fs.writeFileSync(montantPath, validFinalTotal.toFixed(2));
|
||||
|
||||
res.sendStatus(200);
|
||||
} catch (error) {
|
||||
console.error("Erreur lors de l'écriture des fichiers :", error);
|
||||
res.status(500).send("Erreur lors de l'écriture des fichiers.");
|
||||
}
|
||||
});
|
||||
|
||||
// Démarrer le serveur
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Server running on http://localhost:${PORT}`);
|
||||
});
|
||||
Reference in New Issue
Block a user