var express = require('express'); const authController = require('../controllers/auth') const searchController = require('../controllers/searchController'); const historiqueController = require('../controllers/historiqueController'); const { fetchArticleInfoFromAPI } = require('../functions/compare'); var router = express.Router(); /* GET home page. */ router.get('/', authController.isLoggedIn, (req, res, next) => { res.render('contains/index', { user_details: req.user }); }); // inscription page router.get('/inscription', (req, res) => { res.render('contains/inscription') }); router.get('/connexion', (req, res) => { res.render('contains/connexion') }); router.get('/historique', authController.isLoggedIn, (req, res) => { console.log(req.user); if (req.user) { const userId = req.user.id; historiqueController.getHistoriqueData(userId, (error, historiqueData) => { if (error) { console.error('Erreur lors de la récupération des données depuis la base de données :', error); res.status(500).json({ error: 'Une erreur s\'est produite lors de la récupération des données.' }); } else { res.render('contains/historique', { user_details: req.user, historiqueData: historiqueData }); } }); } else { res.redirect('/connexion'); } }); // Send search for articles router.post('/search', authController.isLoggedIn, async (req, res) => { try { // Récupérez les données du formulaire depuis req.body const articleTitle1 = req.body.articleTitle1; const articleTitle2 = req.body.articleTitle2; // Utilisez la fonction pour récupérer les informations des articles const articleInfo1 = await fetchArticleInfoFromAPI(articleTitle1); const articleInfo2 = await fetchArticleInfoFromAPI(articleTitle2); // Récupérez l'ID de l'utilisateur const userId = req.userId; // Utilisez la fonction du contrôleur pour insérer les données if (userId) { searchController.insertSearchData(userId, articleTitle1, articleTitle2, (error, result) => { if (error) { console.error('Erreur lors de l\'insertion des données dans la base de données :', error); res.status(500).json({ error: 'Une erreur s\'est produite lors de l\'enregistrement des données.' }); } else { } }); } // Renvoyez la réponse au format JSON res.json({ articleInfo1, articleInfo2 }); } catch (error) { console.error('Erreur lors de la recherche d\'informations sur les articles :', error); res.status(500).json({ error: 'Une erreur s\'est produite lors de la recherche d\'informations sur les articles.' }); } }); module.exports = router;