fipamo/brain/routes/dash/pages.js

86 lines
2.1 KiB
JavaScript

import Book from '../../data/Book';
const express = require('express');
const router = express.Router();
const hljs = require('highlight.js/lib/highlight');
const hljs_md = require('highlight.js/lib/languages/markdown');
hljs.registerLanguage('markdown', hljs_md);
const moment = require('moment');
const book = new Book();
//--------------------------
// POSTS
//--------------------------
router.get('/list/:filter?/:page?', function(req, res) {
var pageNum = req.params.page;
var filter = req.params.filter;
if (pageNum == '' || pageNum == null) pageNum = 1;
if (filter == '' || filter == null) filter = 'all';
/*
if (req.session.user) {
.then(() => {
//console.log(value);
})
.catch(() => {
//next(err);
});
} else {
res.redirect('/@/dashboard');
}
*/
});
//--------------------------
// BLOG POST ADD DISPLAY
//--------------------------
router.get('/add/new', function(req, res) {
if (req.session.user) {
res.render('dash/post-edit', {
title: 'Dashboard New Post',
user_status: true,
welcome: 'New Post',
mode: 'admin',
date: '',
status: ['false', 'false', 'false'],
edit: false
});
} else {
res.redirect('/@/dashboard');
}
});
//--------------------------
// BLOG POST EDIT DISPLAY
//--------------------------
router.get('/edit/:id', function(req, res) {
var id = req.params.id;
if (req.session.user) {
book.getPage(id)
.then(page => {
let pretty = hljs.highlight('markdown', page.content).value;
res.render('page-edit', {
id: page.metadata.id,
uuid: page.metadata.uuid,
title: 'Edit Page',
user_status: true,
welcome: 'Edit Page',
mode: 'admin',
page: page.metadata,
date: moment(page.metadata.created).format('YYYY MMM DD'),
rawDate: page.metadata.created,
colored: pretty,
feature: page.metadata.feature,
status: [
String(true),
String(page.metadata.featured),
String(page.metadata.published)
],
edit: true
});
})
.catch(err => {
res.json({ type: err });
});
} else {
res.redirect('/@/dashboard');
}
});
module.exports = router;