|
|
- const sql = require('../utils/sql');
-
- const TEMPLATE_FILE = "blog/sideBar.html";
-
- const includes = require('../includes/includes.js');
-
-
- const getInformationForRecentPosts = function(templateContext)
- {
- return new Promise(function(resolve, reject)
- {
- sql.getRecentPosts().then(function(posts)
- {
- posts.forEach(function(p)
- {
- p.url = '/' + p.category + '/' + p.url;
- });
- templateContext.recentPosts = posts;
- resolve();
- }).catch(function(error)
- {
- reject(error);
- })
- });
- };
-
- const getInformationForCategories = function(templateContext)
- {
- return new Promise(function(resolve, reject)
- {
- sql.getCategories().then(function(categories)
- {
- categories.forEach(function(cat)
- {
- cat.url = "/category/" + cat.url;
- });
-
- templateContext.categories = categories;
- resolve();
- }).catch(function(error)
- {
- reject(error);
- });
- });
- };
-
-
- const getInformationForPinnedPosts = function(templateContext)
- {
- return new Promise(function(resolve, reject)
- {
- sql.getPinnedPosts().then(function(posts)
- {
- posts.forEach(function(p)
- {
- p.url = '/' + p.category + '/' + p.url;
- });
- templateContext.pinnedPosts = posts;
- resolve();
- }).catch(function(error)
- {
- reject(error);
- })
- });
- };
-
-
- module.exports=
- {
- main: function(templateContext)
- {
- return new Promise(function(resolve, reject)
- {
- Promise.all([includes.fetchTemplate(TEMPLATE_FILE),
- getInformationForRecentPosts(templateContext),
- getInformationForPinnedPosts(templateContext),
- getInformationForCategories(templateContext)])
- .then(function(content)
- {
- templateContext.sideBar = content[0];
- resolve();
- }).catch(function(error)
- {
- reject(error);
- });
- })
- }
- };
|