-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js~
More file actions
84 lines (73 loc) · 2.29 KB
/
main.js~
File metadata and controls
84 lines (73 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
var express = require( 'express' ),
config = require( './lib/config' ),
db = require( './lib/db' ),
logger = require( './lib/logger' ),
routes = {
search : require( './routes/search' ),
edit : require( './routes/edit' )
};
var DEBUG = true;
var app = express.createServer( express.logger() );
var dbInstance = null;
app.configure(function() {
app.set( 'view engine', 'ejs' );
app.set( 'views', __dirname + '/views' );
app.set( 'debugging', DEBUG );
app.use( express.logger() );
app.use( express.static( __dirname + '/public' ) );
//app.use( express.cookieParser() );
app.use( express.bodyParser() );
app.use( app.router );
app.use( logger.logInternalError );
// hardcoded db instance reference
dbInstance = db.connect( config.mongo );
dbInstance.open( function( err ) {
if ( err ) {
logger.info( 'fatal err on start up', err );
} else {
var port = config.node.port || 5000;
app.set( 'db', dbInstance );
app.listen( port, function() {
logger.info( "Listening on " + port );
});
}
});
});
app.param(
'environment',
function( req, res, next, environment ) {
// in the future, you can specify different environments, for now we're hardcoded
req.db = dbInstance;
return next();
}
);
app.param(
'placetype',
function( req, res, next, placetype ) {
req.db.collection(
placetype,
function( err, collection ) {
// If collection not found, throw error.
if ( err ) return next( err );
// Append collection to request object.
req.collection = collection;
// Continue to next handler.
var overlayName = "" + placetype + "_overlay";
req.db.collection(
overlayName,
function( err, overlayCollection ) {
if ( err ) return next( err );
req.overlayCollection = overlayCollection;
return next();
}
);
}
);
}
);
var testFunc = function( req, res, next) { /*console.log(req.body);*/ next(); };
app.get( '/:environment/places/:placetype/list/', routes.search.listPlaces );
app.get( '/:environment/places/:placetype/', routes.search.getPlaces );
app.post( '/:environment/places/:placetype/', testFunc, routes.search.setPlaces );
app.get( '/:environment/places/:placetype/edit/:id/', routes.edit.showEditor );
app.post( '/:environment/places/:placetype/save/:id/', routes.edit.saveEditor );