From 1a3da60b2467b68df6913b2d0683faed837b8b74 Mon Sep 17 00:00:00 2001 From: Andrew Davidson Date: Sat, 23 Jan 2016 16:12:50 -0500 Subject: [PATCH] Updating post model for more completeness. --- app.js | 176 ++----------------- db.js | 338 ------------------------------------- post-routes.js | 171 +++++++++++++++++++ post.js | 59 ++++++- schemas.js | 1 + user.js | 8 +- views/admin-post-edit.jade | 7 +- views/admin-post-new.jade | 5 + 8 files changed, 252 insertions(+), 513 deletions(-) create mode 100644 post-routes.js diff --git a/app.js b/app.js index aea2847..2617253 100644 --- a/app.js +++ b/app.js @@ -9,18 +9,21 @@ var fs = require('fs'); var markdown = require( "markdown" ).markdown; var moment = require("moment"); +// Make ourselves a nice little express app. +var app = express(); // Get connected to our database var MongoClient = require('mongodb').MongoClient; +// Include some other JS Post = require('./post.js'); User = require('./user.js'); Category = require('./category.js'); Static = require('./static.js'); var database = require('./db.js'); var genPhotos = require('./genPhotos.js'); - -var app = express(); +require('./post-routes.js')(app); +require('./photo-routes.js')(app); // Get config variables var config = require('./config.js').config; @@ -29,9 +32,6 @@ var config = require('./config.js').config; app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); -// Make HTML pretty while we're setting up our jade templates -// but it doesn't need to be pretty in production. - // uncomment after placing your favicon in /public //app.use(require('serve-favicon')(path.join(__dirname, 'public', // 'favicon.ico'))); @@ -60,12 +60,12 @@ passport.use(new Strategy( )); passport.serializeUser(function(user, done) { - console.log("Serializing user: "+user.username); +// console.log("Serializing user: "+user.username); done(null, user.username); }); passport.deserializeUser(function(username, done) { - console.log("Deserializing user: "+username); +// console.log("Deserializing user: "+username); User.getByUsername(username, function (err, user) { if (!user) { return done(false); } done(null, user); @@ -93,163 +93,6 @@ app.get('/logout', function(req, res) { } ); -// Post management routing -// GET /admin/post/list -app.get('/admin/post/list/:start?', - function(req, res, next) { - var count = 25; - if (req.params.start) { - var start = req.params.start; - } else { - var start = 0; - } - Post.getPosts(count, start, function(err, posts){ - res.render('admin-post-list', {posts, user: req.user}); - }); - } -); - -// GET /admin/post/view -app.get('/admin/post/view/:uuid?', - function (req, res, next) { - if (req.params.uuid) { - Post.getByUUID(req.params.uuid, function(err, post) { - res.render('admin-post-view', { - successNotice: req.flash('successNotice'), - failureNotice: req.flash('failureNotice'), - post: post, - content: markdown.toHTML(post.get("markdown")), - user: req.user - }) - }) - } - else { - res.redirect('/admin/post/list'); - } - } -); - -// GET /admin/post/new -app.get('/admin/post/new', - function(req, res, next) { - Category.getCategories(null, null, function (err, categories) { - res.render('admin-post-new', { categories: categories, user: req.user }); - }); - } -); - -// POST /admin/post/new -app.post('/admin/post/new', - function(req, res, next) { - var post = new Post(); - post.set("title", req.body.title); - if (req.body.slug != "") { - post.set("slug", req.body.slug); - } else { - post.set("slug", post.makeSlug()); - } - if (req.body.postDate != "") { - post.set("postDate", new Date(req.body.postDate)); - post.set("updatedDate", new Date(req.body.postDate)); - } - post.tagPost(req.body.tags); - post.set("markdown", req.body.markdown); - - Category.getByName(req.body.category, function (err, category) { - post.set("category", category.get("uuid")); - //console.log(post); - post.save(function (err) { - if (!err) { - req.flash('successNotice', 'Post created.'); - res.redirect('/admin/post/edit/'+post.get("uuid")); - } - else { - req.flash('failureNotice', 'Post creation failed'); - res.redirect('/admin/post/new/'); - } - }); - }); - } -); - -// GET /admin/post/edit -app.get('/admin/post/edit/:uuid', - function(req, res, next) { - Post.getByUUID(req.params.uuid, function(err, post) { - Category.getByUUID(post.get("category"), function(err, category) { - Category.getCategories(null, null, function(err, categories) { - var tags = "" - for (i=0; i