From 8688b99bdf535cf196631d58661679c2405604ee Mon Sep 17 00:00:00 2001 From: Scott Tolksdorf Date: Tue, 19 Apr 2016 22:39:30 -0400 Subject: [PATCH] Spliting the homebrew server and api files --- server.js | 11 +++- server/homebrew.api.js | 108 ----------------------------------- server/homebrew.server.js | 116 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 111 deletions(-) create mode 100644 server/homebrew.server.js diff --git a/server.js b/server.js index a63998e..61af2d8 100644 --- a/server.js +++ b/server.js @@ -30,7 +30,7 @@ process.env.ADMIN_PASS = process.env.ADMIN_PASS || 'password'; process.env.ADMIN_KEY = process.env.ADMIN_KEY || 'admin_key'; var auth = require('basic-auth'); -var HomebrewModel = require('./server/homebrew.model.js').model; +//var HomebrewModel = require('./server/homebrew.model.js').model; app.get('/admin', function(req, res){ var credentials = auth(req) @@ -38,6 +38,8 @@ app.get('/admin', function(req, res){ res.setHeader('WWW-Authenticate', 'Basic realm="example"') return res.status(401).send('Access denied') } + + /* HomebrewModel.find({}, function(err, homebrews){ //Remove the text to reduce the response payload @@ -46,6 +48,8 @@ app.get('/admin', function(req, res){ return brew; }); + console.log("HOMEBREW", homebrews.length); +*/ vitreumRender({ page: './build/admin/bundle.dot', prerenderWith : './client/admin/admin.jsx', @@ -54,16 +58,17 @@ app.get('/admin', function(req, res){ url: req.originalUrl, admin_key : process.env.ADMIN_KEY, - homebrews : homebrews, + //homebrews : homebrews, }, }, function (err, page) { return res.send(page) }); - }); +// }); }); app = require('./server/homebrew.api.js')(app); +app = require('./server/homebrew.server.js')(app); diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 001b4d8..12874e2 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -1,6 +1,5 @@ var _ = require('lodash'); var Moment = require('moment'); -var vitreumRender = require('vitreum/render'); var HomebrewModel = require('./homebrew.model.js').model; var changelogText = require('fs').readFileSync('./changelog.md', 'utf8'); @@ -22,15 +21,6 @@ module.exports = function(app){ }); }) - - app.get('/homebrew/new', function(req, res){ - var newHomebrew = new HomebrewModel(); - newHomebrew.save(function(err, obj){ - return res.redirect('/homebrew/edit/' + obj.editId); - }) - }) - - //Updating app.put('/homebrew/update/:id', function(req, res){ HomebrewModel.find({editId : req.params.id}, function(err, objs){ @@ -78,104 +68,6 @@ module.exports = function(app){ }); - //Edit Page - app.get('/homebrew/edit/:id', function(req, res){ - HomebrewModel.find({editId : req.params.id}, function(err, objs){ - if(err || !objs.length) return res.status(404).send('Could not find Homebrew with that id'); - - var resObj = null; - var errObj = {text: "# oops\nCould not find the homebrew."} - if(objs.length){ - resObj = objs[0]; - } - - vitreumRender({ - page: './build/homebrew/bundle.dot', - globals:{}, - prerenderWith : './client/homebrew/homebrew.jsx', - initialProps: { - url: req.originalUrl, - brew : resObj || errObj - }, - clearRequireCache : true, - }, function (err, page) { - return res.send(page) - }); - }) - }); - - - //Share Page - app.get('/homebrew/share/:id', function(req, res){ - HomebrewModel.find({shareId : req.params.id}, function(err, objs){ - if(err || !objs.length) return res.status(404).send('Could not find Homebrew with that id'); - - var resObj = null; - var errObj = {text: "# oops\nCould not find the homebrew."} - - if(objs.length){ - resObj = objs[0]; - resObj.lastViewed = new Date(); - resObj.views = resObj.views + 1; - resObj.save(); - } - - vitreumRender({ - page: './build/homebrew/bundle.dot', - globals:{}, - prerenderWith : './client/homebrew/homebrew.jsx', - initialProps: { - url: req.originalUrl, - brew : resObj || errObj - }, - clearRequireCache : true, - }, function (err, page) { - return res.send(page) - }); - }) - }); - - //Print Page - var Markdown = require('marked'); - var PHBStyle = '' - app.get('/homebrew/print/:id', function(req, res){ - HomebrewModel.find({shareId : req.params.id}, function(err, objs){ - if(err || !objs.length) return res.status(404).send('Could not find Homebrew with that id'); - - var resObj = null; - if(objs.length){ - resObj = objs[0]; - } - - var content = _.map(resObj.text.split('\\page'), function(pageText){ - return '
' + Markdown(pageText) + '
'; - }).join('\n'); - - var title = '' + resObj.text.split('\n')[0] + ''; - var page = '' + title + PHBStyle + '' + content +'' - - return res.send(page) - }); - }); - - //Home and 404, etc. - var welcomeText = require('fs').readFileSync('./client/homebrew/homePage/welcome_msg.txt', 'utf8'); - - app.get('/homebrew*', function (req, res) { - vitreumRender({ - page: './build/homebrew/bundle.dot', - globals:{}, - prerenderWith : './client/homebrew/homebrew.jsx', - initialProps: { - url: req.originalUrl, - welcomeText : welcomeText, - changelog : changelogText - }, - clearRequireCache : true, - }, function (err, page) { - return res.send(page) - }); - }); return app; } \ No newline at end of file diff --git a/server/homebrew.server.js b/server/homebrew.server.js new file mode 100644 index 0000000..1ae045a --- /dev/null +++ b/server/homebrew.server.js @@ -0,0 +1,116 @@ +var _ = require('lodash'); +var vitreumRender = require('vitreum/render'); +var HomebrewModel = require('./homebrew.model.js').model; + +var changelogText = require('fs').readFileSync('./changelog.md', 'utf8'); + + +module.exports = function(app){ + app.get('/homebrew/new', function(req, res){ + var newHomebrew = new HomebrewModel(); + newHomebrew.save(function(err, obj){ + return res.redirect('/homebrew/edit/' + obj.editId); + }) + }) + + + //Edit Page + app.get('/homebrew/edit/:id', function(req, res){ + HomebrewModel.find({editId : req.params.id}, function(err, objs){ + if(err || !objs.length) return res.status(404).send('Could not find Homebrew with that id'); + + var resObj = null; + var errObj = {text: "# oops\nCould not find the homebrew."} + if(objs.length){ + resObj = objs[0]; + } + + vitreumRender({ + page: './build/homebrew/bundle.dot', + globals:{}, + prerenderWith : './client/homebrew/homebrew.jsx', + initialProps: { + url: req.originalUrl, + brew : resObj || errObj + }, + clearRequireCache : !process.env.PRODUCTION, + }, function (err, page) { + return res.send(page) + }); + }) + }); + + + //Share Page + app.get('/homebrew/share/:id', function(req, res){ + HomebrewModel.find({shareId : req.params.id}, function(err, objs){ + if(err || !objs.length) return res.status(404).send('Could not find Homebrew with that id'); + + var resObj = null; + var errObj = {text: "# oops\nCould not find the homebrew."} + + if(objs.length){ + resObj = objs[0]; + resObj.lastViewed = new Date(); + resObj.views = resObj.views + 1; + resObj.save(); + } + + vitreumRender({ + page: './build/homebrew/bundle.dot', + globals:{}, + prerenderWith : './client/homebrew/homebrew.jsx', + initialProps: { + url: req.originalUrl, + brew : resObj || errObj + }, + clearRequireCache : !process.env.PRODUCTION, + }, function (err, page) { + return res.send(page) + }); + }) + }); + + //Print Page + var Markdown = require('marked'); + var PHBStyle = '' + app.get('/homebrew/print/:id', function(req, res){ + HomebrewModel.find({shareId : req.params.id}, function(err, objs){ + if(err || !objs.length) return res.status(404).send('Could not find Homebrew with that id'); + + var resObj = null; + if(objs.length){ + resObj = objs[0]; + } + + var content = _.map(resObj.text.split('\\page'), function(pageText){ + return '
' + Markdown(pageText) + '
'; + }).join('\n'); + + var title = '' + resObj.text.split('\n')[0] + ''; + var page = '' + title + PHBStyle + '' + content +'' + + return res.send(page) + }); + }); + + //Home and 404, etc. + var welcomeText = require('fs').readFileSync('./client/homebrew/homePage/welcome_msg.txt', 'utf8'); + app.get('/homebrew*', function (req, res) { + vitreumRender({ + page: './build/homebrew/bundle.dot', + globals:{}, + prerenderWith : './client/homebrew/homebrew.jsx', + initialProps: { + url: req.originalUrl, + welcomeText : welcomeText, + changelog : changelogText + }, + clearRequireCache : !process.env.PRODUCTION, + }, function (err, page) { + return res.send(page) + }); + }); + + return app; +} \ No newline at end of file