You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
import Book from '../../data/Book';
|
|
const express = require('express');
|
|
const moment = require('moment');
|
|
const router = express.Router();
|
|
const config = require('../../../site/settings.json');
|
|
const book = new Book();
|
|
|
|
const indexLimit = 5;
|
|
|
|
//--------------------------
|
|
// Index
|
|
//--------------------------
|
|
router.get('/', function (req, res) {
|
|
book.getPage().then(result => {
|
|
result.sort((a, b) => parseFloat(b.metadata.id) - parseFloat(a.metadata.id));
|
|
let indexPages = [];
|
|
let indexCount = 0;
|
|
result.forEach(page => {
|
|
if (typeof page.metadata.deleted === 'undefined' || page.metadata.deleted === false) {
|
|
if (indexCount === indexLimit) return;
|
|
indexPages.push({ page: page, date: moment(page.metadata.created).fromNow() });
|
|
++indexCount;
|
|
}
|
|
});
|
|
let pageData = [];
|
|
if (req.session.user) {
|
|
pageData = { title: config.global.title, status: true, pages: indexPages };
|
|
} else {
|
|
pageData = { title: config.global.title, status: false, pages: indexPages };
|
|
}
|
|
|
|
res.render('index', pageData);
|
|
});
|
|
});
|
|
|
|
//--------------------------
|
|
// Logout
|
|
//--------------------------
|
|
router.post('/logout', function (req, res) {
|
|
req.logout();
|
|
return res.json({
|
|
message: 'LOGGED OUT'
|
|
});
|
|
});
|
|
module.exports = router;
|