This repository has been archived on 2021-02-16. You can view files and clone it, but cannot push or open issues or pull requests.
Nodezzarella/lib/router.js
2017-07-22 11:35:19 +02:00

118 lines
3.8 KiB
JavaScript

const express = require("express"),
router = express.Router(),
promise = require('promise'),
hbs = require('hbs'),
path = require('path'),
log = require("color-logs")(true, true, "Router"),
Template = require('../classes/Template.class.js'),
Article = require('../classes/Article.class.js'),
Categorie = require('../classes/Categorie.class.js'),
Articles = require('../classes/Controllers/Articles.class.js'),
Categories = require('../classes/Controllers/Categories.class.js');
var template = new Template();
router.get("/", function(req, res){
var categories = new Categories();
Promise.all([
categories.getNav()
]).then((data) => {
var nav = data[0];
var content = /*data[1]*/ "";
var disclaimer = /*data[2]*/ "";
res.setHeader("Content-type", "text/html");
var tplData = {
"blogName": config.siteTitle,
"title": config.siteHomeTitle,
"nav": nav,
"content": content,
"disclaimer": disclaimer
};
res.render('template.hbs', tplData);
}).catch((err) => {
console.log(err);
throw err;
});
/*Promise.all([
template.getNav(),
categories.getHome(),
categories.getDisclaimer()
]).then(data => {
var nav = data[0];
var content = data[1];
var disclaimer = data[2];
res.setHeader("Content-type", "text/html");
var tplData = {
"blogName": config.blogName,
"title": config.homeTitle,
"nav": nav,
"content": content,
"disclaimer": disclaimer
};
res.render('template.hbs', tplData);
}).catch(err => {
res.setHeader("Content-type", "text/plain");
resp.send(res.end("erreur"));
});*/
});
router.get("/:uri/", function(req, res){
var categories = new Categories();
Promise.all([
categories.getNav(),
categories.getCategorie(req.params.uri),
]).then(data => {
var nav = data[0];
var categorie = data[1];
categories.getListArticles(categorie).then((result) => {
log.debug(result)
res.setHeader("Content-type", "text/html");
var tplData = {
"blogName": config.siteTitle,
"title": categorie.getTitle() + " - "+config.siteHomeTitle,
"nav": nav,
"content": result,
"disclaimer": ''
};
res.render('template.hbs', tplData);
})
/*var content = data[1];
var dataCategories = data[2];*/
}).catch(err => {
res.setHeader("Content-type", "text/plain");
res.end("erreur");
});
});
/*router.get("/:categories/:slug", function(req, res){
var categories = new Categories();
var articles = new Articles();
Promise.all([
template.getNav(),
categories.getCategorie(req.params.categories),
articles.getArticle(req.params.categories, req.params.slug)
]).then(data => {
var nav = data[0];
var dataCategories = data[1];
var content = data[2];
res.setHeader("Content-type", "text/html");
var tplData = {
"blogName": config.blogName,
"title": articles.title+" - "+dataCategories.title+" - "+ config.blogName,
"nav": nav,
"content": content,
"disclaimer": ''
};
res.render('template.hbs', tplData);
}).catch(err => {
res.setHeader("Content-type", "text/plain");
res.end("erreur");
});
});*/
router.use(express.static("./public"));
module.exports = router;