84 lines
2.7 KiB
JavaScript

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;