const express = require("express"); const app = express(); app.listen(9090); app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept'); next(); }); const fs = require('fs'); app.get('/', (req, res) => { res.sendFile(__dirname + "/index.html"); }); app.get('/api/teams', (req, res) => { const data = fs.readFileSync( __dirname + '/team.json', 'utf8'); res.json(JSON.parse(data)); }); app.get('/api/teams/count', (req, res) => { const data = fs.readFileSync( __dirname + '/team.json', 'utf8'); res.json(Object.keys(JSON.parse(data)).length); }); app.get('/api/team/:id', (req, res) => { const data = fs.readFileSync( __dirname + '/team.json', 'utf8'); const id = req.params.id; res.json(JSON.parse(data)[id-1]); }); app.put('/api/team/reservation/:id', (req, res) => { const json = JSON.parse(fs.readFileSync( __dirname + '/team.json', 'utf8')); const id = req.params.id; const team = json[id-1]; team.isReserved = true; fs.writeFileSync(__dirname + '/team.json', JSON.stringify(json), "utf8",) res.status(201).send("L'équipe " + team.team + " a été correctement réservée."); }); app.put('/api/team/cancel/:id', (req, res) => { const json = JSON.parse(fs.readFileSync( __dirname + '/team.json', 'utf8')); const id = req.params.id; const team = json[id-1]; team.isReserved = false; fs.writeFileSync(__dirname + '/team.json', JSON.stringify(json), "utf8",) res.status(201).send("La réservation de l'équipe " + team.team + " a été annulée."); });