const fs = require('fs'); const path = require('path'); const router = require('express').Router(); router.post('/', (req, res) => { if (!req.body.userId) { return res.status(400).json({ error: 'Bad Request. User ID is required.' }); } fs.readFile(path.join(__dirname, '../../../data', 'user.json'), 'utf8', (err, data) => { if (err) { console.error('Error reading user.json:', err); return res.status(500).json({ error: 'Internal server error while reading user data.' }); } try { const users = JSON.parse(data); // Trouver l'utilisateur par ID const userIndex = users.findIndex(u => u.id === req.body.userId); if (userIndex === -1) { return res.status(404).json({ error: 'User not found.' }); } // Supprimer le token de l'utilisateur if (users[userIndex].token) { delete users[userIndex].token; } else { return res.status(404).json({ error: 'No API key found for this user.' }); } // Sauvegarder les modifications fs.writeFile(path.join(__dirname, '../../../data', 'user.json'), JSON.stringify(users, null, 2), (err) => { if (err) { console.error('Error writing user.json:', err); return res.status(500).json({ error: 'Internal server error while saving user data.' }); } res.json({ success: true, message: 'API key successfully revoked.' }); }); } catch (parseErr) { console.error('Error parsing user.json:', parseErr); return res.status(500).json({ error: 'Internal server error while parsing user data.' }); } }); }); module.exports = router;