mirror of
https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
synced 2025-05-31 10:22:47 +02:00
84 lines
2.7 KiB
JavaScript
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;
|