-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
156 lines (128 loc) · 3.9 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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/**
* Module dependencies.
*/
var express = require('express');
var routes = require('./routes');
var mysql = require('mysql');
var flash = require('express-flash')
var cookieParser = require('cookie-parser');
var session = require('express-session');
var methodOverride = require('method-override');
var bodyParser = require('body-parser');
var path = require('path');
var http = require('http');
var bcrypt = require('bcrypt-nodejs');
var passport = require('passport');
//import apiRouting from './helpers/api-routing';
/*var controllers = require('./controllers');
*/
var Sequelize = require('sequelize');
var config = require('./config');
var sequelize = new Sequelize(config.dbUrl, {
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
// http://docs.sequelizejs.com/manual/tutorial/querying.html#operators
operatorsAliases: false
});
// var sequelize = new Sequelize(config.database.db, config.database.user, config.database.password, {
// host: 'us-cdbr-east-04.cleardb.com',
// dialect: 'mysql',
// pool: {
// max: 5,
// min: 0,
// acquire: 30000,
// idle: 10000
// },
// // http://docs.sequelizejs.com/manual/tutorial/querying.html#operators
// operatorsAliases: false
// });
var app = express();
module.exports = bcrypt;
require('./config/passport')(passport); // pass passport for configuration
//var myConnection = require('express-myconnection')
/*var dbOptions = {
host: config.database.host,
user: config.database.user,
password: config.database.password,
port: config.database.port,
database: config.database.db
};*/
//app.use(myConnection(mysql,dbOptions,'pool'));
//app.use(bodyParser.json())
app.set('view engine', 'ejs')
const ejsLint = require('ejs-lint');
var expressValidator = require('express-validator')
app.use(expressValidator())
/**
* body-parser module is used to read HTTP POST data
* it's an express middleware that reads form's input
* and store it as javascript object
*/
/**
* bodyParser.urlencoded() parses the text as URL encoded data
* (which is how browsers tend to send form data from regular forms set to POST)
* and exposes the resulting object (containing the keys and values) on req.body.
*/
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())
/**
* This module let us use HTTP verbs such as PUT or DELETE
* in places where they are not supported
*/
/**
* using custom logic to override method
*
* there are other ways of overriding as well
* like using header & using query value
*/
app.use(methodOverride(function (req, res) {
if (req.body && typeof req.body === 'object' && '_method' in req.body) {
// look in urlencoded POST bodies and delete it
var method = req.body._method
delete req.body._method
return method
}
}))
/**
* This module shows flash messages
* generally used to show success or error messages
*
* Flash messages are stored in session
* So, we also have to install and use
* cookie-parser & session modules
*/
app.use(cookieParser('NodejsApp'))
app.use(session({
secret: 'NodejsApp',
resave: true,
saveUninitialized: true,
cookie: { secure: false,maxAge: 60000 }
}))
/* PASSPORT SETUP */
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
var index = require('./routes/index')
var users = require('./routes/users')
require('./controller/auth.js')(app, passport,sequelize);
require('./controller/employees.js')(app, sequelize);
require('./controller/users.js')(app, sequelize);
//app.use('/', index)
app.use('/login', index)
// app.use('/users', users)
//app.use('/employee', employee)
//The 404 Route (ALWAYS Keep this as the last route)
app.get('*', function (req, res) {
res.render('404', {
title: "404 Error Page"
});
});
//app.use(app.router);
let port=process.env.PORT||4000
app.listen(port, function(){
console.log(`Server running at port ${port}`)
})