-
Notifications
You must be signed in to change notification settings - Fork 1
/
blog.router.js
30 lines (25 loc) · 923 Bytes
/
blog.router.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const express = require('express')
const Article = require('./models/Article.model')
// Création d'un nouvel objet "Router"
let blogRouter = express.Router();
/**
* GET /
* Affiche la page d'accueil et tous les articles
*/
blogRouter.get('/', (req, res) => {
Article.find().populate('author category').exec().then(articles => {
res.render('index', { articles })
}).catch(error => res.send(error.message))
})
/**
* GET /article/:id
* Affiche le détail d'un article en fonction de l'ID demandé
*/
blogRouter.get('/article/:id', (req, res) => {
Article.findById( req.params.id ).populate('author category').exec().then(article => {
if (!article) return Promise.reject(new Error('Article inexistant.'))
res.render('article', { article })
}).catch(error => res.send(error.message))
})
// Exporte l'objet Router créé
module.exports = blogRouter