1- var data = {
2- Title :"Tulsa Open Source" ,
3- Tagline :"" ,
4- mainStyle :"css/bootstrap.css"
5- }
1+ var data = {
2+ Title : "Tulsa Open Source" ,
3+ Tagline : "" ,
4+ mainStyle : "css/bootstrap.css" ,
5+ post : { } ,
6+ posts : [ ]
7+ }
68
7- var express = require ( 'express' )
8- , cons = require ( 'consolidate' )
9- , mongodb = require ( 'mongodb' )
10- , ObjectId = mongodb . ObjectID
11- , app = express ( ) ;
12-
13- var DBSERVER = process . env . DBSERVER ;
14- var DBPASS = process . env . DBPASS ;
15- var DBUSER = process . env . DBUSER ;
16- var DBNAME = process . env . DBNAME ;
17- var DBPORT = process . env . DBPORT ;
18-
19- var dbserver = new mongodb . Server ( DBSERVER , DBPORT , { } ) ;
20- var db = new mongodb . Db ( DBNAME , dbserver , { } )
9+ const express = require ( 'express' ) ,
10+ cons = require ( 'consolidate' ) ,
11+ mongodb = require ( 'mongodb' ) ,
12+ ObjectId = mongodb . ObjectID ;
13+
14+ var app = express ( ) ;
15+
16+ const config = {
17+ dbServer : process . env . DBSERVER ,
18+ dbPort : process . env . DBPORT ,
19+ dbName : process . env . DBNAME ,
20+ dbUser : process . env . DBUSER ,
21+ dbPW : process . env . DBPASS ,
22+ }
23+
24+ var dbserver = new mongodb . Server ( config . dbServer , config . dbPort , { } ) ;
25+ var db = new mongodb . Db ( config . dbName , dbserver , { } )
2126
22- db . open ( function ( err , res ) {
23- db . authenticate ( DBUSER , DBPASS , function ( err , res ) {
24- if ( err ) {
25- console . warn ( err ) ;
26- } else {
27- console . log ( res ) ;
28- }
29- } ) ;
27+ db . open ( ( err , res ) => {
28+ db . authenticate ( DBUSER , DBPASS , ( err , res ) => {
29+ if ( err ) {
30+ console . warn ( err ) ;
31+ } else console . log ( res ) ;
32+ } ) ;
3033} ) ;
3134
32- function stash ( res , template , id ) {
33- if ( id ) {
34- db . collection ( 'posts' ) . findOne ( { _id :new ObjectId ( id ) } , function ( err , doc ) {
35- console . log ( doc ) ;
36- var toSend = data
37- toSend . post = doc ;
38- res . render ( template , toSend ) ;
39- } ) ;
40- } else {
41- db . collection ( 'posts' ) . find ( { } ) . toArray ( function ( err , docs ) {
42- docs . reverse ( )
43- var toSend = data
44- toSend . posts = docs
45- res . render ( 'index' , data ) ;
46- } ) ;
47- }
35+ /**
36+ *
37+ * @param {Response } res
38+ * @param {string } template Path to Template File
39+ * @param {number | string } id
40+ */
41+ function stash ( res , template , id ) {
42+ if ( id ) {
43+ db . collection ( 'posts' ) . findOne ( { _id : new ObjectId ( id ) } , ( err , doc ) => {
44+ console . log ( doc ) ;
45+ var toSend = Object . assign ( { } , data ) ; //Copy
46+ toSend . post = doc ;
47+ res . render ( template , toSend ) ;
48+ } ) ;
49+ } else {
50+ db . collection ( 'posts' ) . find ( { } ) . toArray ( ( err , docs ) => {
51+ docs . reverse ( ) ;
52+ var toSend = Object . assign ( { } , data ) ; //Copy
53+ toSend . posts = docs ;
54+ res . render ( 'index' , data ) ;
55+ } ) ;
56+ }
4857}
49-
5058
5159// assign the mustache engine to .html files
5260app . engine ( 'html' , cons . mustache ) ;
@@ -57,15 +65,10 @@ app.use(express.static(__dirname + '/public'));
5765app . set ( 'views' , __dirname + '/templates' ) ;
5866
5967// test mustache
60- app . get ( '/' , function ( req , res ) {
61- if ( req . query . id ) {
62- stash ( res , 'post.html' , req . query . id )
63- } else {
64- stash ( res , 'index.html' , null ) ;
65- }
68+ app . get ( '/' , ( req , res ) => {
69+ if ( req . query . id ) {
70+ stash ( res , 'post.html' , req . query . id ) ;
71+ } else stash ( res , 'index.html' , null ) ;
6672} ) ;
6773
68-
69-
70-
71- app . listen ( process . env . PORT || 3000 ) ;
74+ app . listen ( process . env . PORT || 3000 ) ;
0 commit comments