seperated routes to cut down on bloat and make a clear structure for additional sections

This commit is contained in:
Ro 2018-11-11 15:22:01 -05:00
parent 99db0dde71
commit e2b3a6e838
3 changed files with 225 additions and 98 deletions

View file

@ -9,99 +9,86 @@ var MemoryStore = require('memorystore')(session)
var flash = require('connect-flash');
var theme = "default";
var app = express();
// view engine setup
app.set('views', path.join(__dirname, '../themes'));
app.set('view engine', 'pug');
//app.use(express.static(__dirname+'/content/data'));
app.use(express.static(__dirname + '../content/folio-images'));
// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
app.use(bodyParser.urlencoded(
{
extended: false
}));
app.use(cookieParser());
//app.use(require('node-compass')({mode: 'expanded', css:'styles', sass: 'styles', project: path.join(__dirname, 'src')}));
app.use(express.static(path.join(__dirname, '../content')));
app.use(express.static(path.join(__dirname, '../themes')));
// Why Do we need this key ?
/**
app.use(session({
secret: '1KqZ18W8KskE1iSw',
saveUninitialized: false,
resave: false,
cookie:{maxAge:608800000}
}));
**/
app.use(session({
store: new MemoryStore({
app.use(session(
{
store: new MemoryStore(
{
checkPeriod: 86400000 // prune expired entries every 24h
}),
secret: '1KqZ18W8KskE1iSw',
saveUninitialized: false,
resave: false,
cookie: { maxAge: 608800000 }
cookie:
{
maxAge: 608800000
}
}))
app.use(flash());
//sections
var front = require('./routes/front/index')(session);
var back = require('./routes/back/index');
var postDashboard = require('./routes/back/dash_posts');
//api
var folioLibrary = require('./api/content/folio');
var projectLibrary = require('./api/content/project');
var bookmarkLibrary = require('./api/content/bookmarks');
var postLibrary = require('./api/content/posts');
var mailer = require('./api/content/mailer');
// API PATHS
app.use('/api/folio', folioLibrary);
app.use('/api/projects', projectLibrary);
app.use('/api/bookmarks', bookmarkLibrary);
app.use('/api/post', postLibrary);
// PAGES
app.use('/', front);
app.use('/@/dashboard', back);
app.use('/@/dashboard/posts', postDashboard);
//app.use('/mailer', mailer);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
app.use(function(req, res, next)
{
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
if (app.get('env') === 'development')
{
app.use(function(err, req, res, next)
{
res.status(err.status || 500);
res.render(theme+'/error', {
res.render(theme + '/error',
{
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
app.use(function(err, req, res, next)
{
res.status(err.status || 500);
res.render(theme+'/error', {
res.render(theme + '/error',
{
message: err.message,
error: {}
error:
{}
});
});
module.exports = app;

View file

@ -0,0 +1,114 @@
import DateUtils from '../../tools/utilities/DateUtils';
var express = require('express');
var router = express.Router();
var Models = require('../../models');
var hljs = require('highlight.js/lib/highlight');
var hljs_md = require('highlight.js/lib/languages/markdown');
hljs.registerLanguage('markdown', hljs_md);
const dateUtils = new DateUtils();
//--------------------------
// POSTS
//--------------------------
router.get('/:page?', function (req, res) {
var pageNum = req.params.page;
if (pageNum == "" || pageNum == null) pageNum = 1;
var offset = ((pageNum * 5) - 5);
if (req.session.user) {
Models.Post.findAll({
order: [
['id', 'DESC']
]
}).then(function (posts) {
var count = Math.round(posts.length / 6);
//console.log("COUNT: "+count);
var pageItems = [];
var itemLimit = 6;
var rangeStart = (pageNum * itemLimit) - itemLimit;
for (var i = 0; i < itemLimit; i++) {
try {
if (posts[i + rangeStart].id != null) {
pageItems.push(posts[i + rangeStart]);
}
} catch (e) {
//console.log(e)
}
}
res.render('dash/posts-index', {
title: 'Dashbord | Posts',
mode: 'admin',
items: pageItems,
page_index: pageNum,
page_count: count
});
}).then(function (value) {
//console.log(value);
}).catch(function (err) {
//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: 'Make New Post',
mode: 'admin',
date: dateUtils.getDate('year', new Date()) + "-" + dateUtils.getDate('month', new Date()) + "-" + dateUtils.getDate('day', new Date()),
status:['false', 'false', 'false'],
edit: false
});
} else {
res.redirect('/@/dashboard');
}
});
//--------------------------
// BLOG POST EDIT DISPLAY
//--------------------------
router.get('/edit/:id', function (req, res) {
if (req.session.user) {
Models.Post.findOne({
where: {
slug: req.params.id
}
}).then(post => {
let featured_img = JSON.parse(post.feature_image);
let featured = 'null';
if (featured_img.length != 0)
featured = featured_img[0].substr(7, featured_img[0].length);
let pretty = hljs.highlight('markdown', post.plaintext).value;
let sexydate
if (post.origin_date == "" || post.origin_date == null)
sexydate = dateUtils.getDate('year', post.created_at) + "-" + dateUtils.getDate('month', post.created_at) + "-" + dateUtils.getDate('day', post.created_at)
else
sexydate = post.origin_date
res.render('dash/post-edit', {
title: 'Edit Post',
mode: 'admin',
post: post,
date: sexydate,
colored: pretty,
html: post.plaintext,
feature: featured,
status:[String(post.page), String(post.featured), String(post.published)],
edit: true
});
}).then(function (value) {
console.log("VALUE: " + value);
}).catch(function (err) {
console.log(err);
})
} else {
res.redirect('/@/dashboard');
}
});
module.exports = router;

View file

@ -1,4 +1,3 @@
import DateUtils from '../../tools/utilities/DateUtils';
var express = require('express');
var router = express.Router();
@ -6,139 +5,162 @@ var Models = require('../../models');
var hljs = require('highlight.js/lib/highlight');
var hljs_md = require('highlight.js/lib/languages/markdown');
hljs.registerLanguage('markdown', hljs_md);
const dateUtils = new DateUtils();
//--------------------------
// Index
//--------------------------
router.get('/', function (req, res) {
router.get('/', function(req, res)
{
var loggedIn = false
if (req.session.user)
loggedIn = true;
Models.Post.sync().then(f => {
Models.Post.findAll({
if (req.session.user) loggedIn = true;
Models.Post.sync().then(f =>
{
Models.Post.findAll(
{
order: [
['id', 'DESC']
],
limit: 10
}).then(function (posts) {
res.render('dash/index', {
}).then(function(posts)
{
res.render('dash/index',
{
title: 'Dashboard',
user_status: loggedIn,
items: posts
});
}).then(function (value) {
}).then(function(value)
{
//console.log(value);
}).catch(function (err) {
}).catch(function(err)
{
//next(err);
})
}).catch(err => {
}).catch(err =>
{
console.log("ERR: " + err);
})
});
//--------------------------
// SETTINGS
//--------------------------
router.get('/settings/', function (req, res) {
if (req.session.user) {
res.render('dash/settings', {
router.get('/settings/', function(req, res)
{
if (req.session.user)
{
res.render('dash/settings',
{
title: 'Dashboard | Settings',
mode: 'admin'
});
} else {
}
else
{
res.redirect('/@/dashboard');
}
});
//--------------------------
// POSTS
//--------------------------
router.get('/posts/:page?', function (req, res) {
router.get('/posts/:page?', function(req, res)
{
var pageNum = req.params.page;
if (pageNum == "" || pageNum == null) pageNum = 1;
var offset = ((pageNum * 5) - 5);
if (req.session.user) {
Models.Post.findAll({
if (req.session.user)
{
Models.Post.findAll(
{
order: [
['id', 'DESC']
]
}).then(function (posts) {
}).then(function(posts)
{
var count = Math.round(posts.length / 6);
//console.log("COUNT: "+count);
var pageItems = [];
var itemLimit = 6;
var rangeStart = (pageNum * itemLimit) - itemLimit;
for (var i = 0; i < itemLimit; i++) {
try {
if (posts[i + rangeStart].id != null) {
for (var i = 0; i < itemLimit; i++)
{
try
{
if (posts[i + rangeStart].id != null)
{
pageItems.push(posts[i + rangeStart]);
}
} catch (e) {
}
catch (e)
{
//console.log(e)
}
}
res.render('dash/posts-index', {
res.render('dash/posts-index',
{
title: 'Dashbord | Posts',
mode: 'admin',
items: pageItems,
page_index: pageNum,
page_count: count
});
}).then(function (value) {
}).then(function(value)
{
//console.log(value);
}).catch(function (err) {
}).catch(function(err)
{
//next(err);
})
} else {
}
else
{
res.redirect('/@/dashboard');
}
});
//--------------------------
// BLOG POST ADD DISPLAY
//--------------------------
router.get('/posts/add/new', function (req, res) {
if (req.session.user) {
res.render('dash/post-edit', {
router.get('/posts/add/new', function(req, res)
{
if (req.session.user)
{
res.render('dash/post-edit',
{
title: 'Make New Post',
mode: 'admin',
date: dateUtils.getDate('year', new Date()) + "-" + dateUtils.getDate('month', new Date()) + "-" + dateUtils.getDate('day', new Date()),
status:['false', 'false', 'false'],
status: ['false', 'false', 'false'],
edit: false
});
} else {
}
else
{
res.redirect('/@/dashboard');
}
});
//--------------------------
// BLOG POST EDIT DISPLAY
//--------------------------
router.get('/posts/edit/:id', function (req, res) {
if (req.session.user) {
Models.Post.findOne({
where: {
router.get('/posts/edit/:id', function(req, res)
{
if (req.session.user)
{
Models.Post.findOne(
{
where:
{
slug: req.params.id
}
}).then(post => {
}).then(post =>
{
let featured_img = JSON.parse(post.feature_image);
let featured = 'null';
if (featured_img.length != 0)
featured = featured_img[0].substr(7, featured_img[0].length);
if (featured_img.length != 0) featured = featured_img[0].substr(7, featured_img[0].length);
let pretty = hljs.highlight('markdown', post.plaintext).value;
let sexydate
if (post.origin_date == "" || post.origin_date == null)
sexydate = dateUtils.getDate('year', post.created_at) + "-" + dateUtils.getDate('month', post.created_at) + "-" + dateUtils.getDate('day', post.created_at)
else
sexydate = post.origin_date
res.render('dash/post-edit', {
if (post.origin_date == "" || post.origin_date == null) sexydate = dateUtils.getDate('year', post.created_at) + "-" + dateUtils.getDate('month', post.created_at) + "-" + dateUtils.getDate('day', post.created_at)
else sexydate = post.origin_date
res.render('dash/post-edit',
{
title: 'Edit Post',
mode: 'admin',
post: post,
@ -146,15 +168,19 @@ router.get('/posts/edit/:id', function (req, res) {
colored: pretty,
html: post.plaintext,
feature: featured,
status:[String(post.page), String(post.featured), String(post.published)],
status: [String(post.page), String(post.featured), String(post.published)],
edit: true
});
}).then(function (value) {
}).then(function(value)
{
console.log("VALUE: " + value);
}).catch(function (err) {
}).catch(function(err)
{
console.log(err);
})
} else {
}
else
{
res.redirect('/@/dashboard');
}
});