This repository has been archived by the owner on Sep 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
app.js
99 lines (81 loc) · 2.69 KB
/
app.js
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/**
* Module dependencies.
*/
var express = require( 'express' ),
everyauth = require( 'everyauth' ),
expressValidator = require( 'express-validator' ),
config = require( './config' ),
util = require( 'util' ),
Promise = everyauth.Promise,
sys = require( 'sys' ),
fs = require( 'fs' );
require( './route-middleware' );
everyauth.debug = true;
app = module.exports = express.createServer();
var port = process.argv.length == 3 ? process.argv[2] : 3000;
// Mongoose Dependencies
mongoose = require( 'mongoose' );
mongooseAuth = require( 'mongoose-auth' );
mongoose.connect( config.connection );
Schema = mongoose.Schema;
ObjectId = Schema.ObjectId;
require('./models/users.js');
//require('./models/listing.js');
require('./models/vibe.js');
require('./models/amenity.js');
require( './models/tag.js' );
User = mongoose.model('User');
//Listing = mongoose.model('Listing');
Vibe = mongoose.model('Vibe');
Amenity = mongoose.model('Amenity');
Tag = mongoose.model( 'Tag' );
app.models = require( './models' );
app.models.initialize( { app: app } );
app.controllers = require( './controllers' );
app.controllers.initialize( { app: app } );
var routes = require( './routes' );
routes.initialize( { app: app } );
// Configuration
app.configure( function () {
app.set( 'views', __dirname + '/views' );
app.set( 'view engine', 'mustache' );
app.dynamicHelpers( {messages: require( 'express-messages' )} );
//app.set("view options", { layout: false })
app.register( ".mustache", require( 'stache' ) );
app.use( express.bodyParser( {
uploadDir: __dirname + '/public/images/uploaded',
keepExtensions: true,
type: 'multipart'
} ) );
app.use( expressValidator );
app.use( express.cookieParser() );
app.use( express.session( {secret: "98489fads3ewqrcs"} ) );
app.use( express.methodOverride() );
app.use( mongooseAuth.middleware() );
app.use( app.router );
app.use( express.static( __dirname + '/public' ) );
} );
app.configure( 'development', function () {
app.use( express.logger( {format: 'dev'} ) );
app.use( express.errorHandler( { dumpExceptions: true, showStack: true } ) );
} );
app.configure( 'production', function () {
app.use( express.errorHandler() );
} );
app.dynamicHelpers( {
loggedInUser: function ( req, res ) {
return req.user;
},
flash: function ( req, res ) {
return req.flash();
}
} );
// require all file in the /routes folder
fs.readdir( './routes', function ( err, files ) {
files.forEach( function ( file ) {
if ( file.match( /.js$/ ) ) require( './routes/' + file );
} );
mongooseAuth.helpExpress( app );
app.listen( port );
console.log( "Express server listening on port %d in %s mode", app.address().port, app.settings.env );
} );