forked from mateusz-nowak/node-angular-shop
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
57 lines (51 loc) · 1.7 KB
/
app.js
File metadata and controls
57 lines (51 loc) · 1.7 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
var express = require('express'),
http = require('http'),
fs = require('fs'),
app = express(),
passport = require('passport'),
googleStrategy = require('passport-google').Strategy,
config = require('./config.js'),
mysql = require('mysql');
app.configure(function() {
app.set('views', __dirname + '/src/views');
app.use(express.json());
app.use(express.bodyParser());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
secret: 'secret-hash',
expires: new Date(Date.now() + 60 * 10000),
maxAge: 60*10000
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(app.router);
app.use(require('less-middleware')({
src: __dirname + '/src/assets/less',
dest: __dirname + '/public/stylesheets',
prefix: '/stylesheets',
compress: true
}));
app.use(express.static(__dirname + '/public'));
passport.use(new googleStrategy(config.googleAuth, function(identifier, profile, done) {
return done(null, profile);
}));
passport.serializeUser(function(user, done) {
return done(null, user);
});
passport.deserializeUser(function(user, done) {
return done(null, user);
});
});
var connection = mysql.createConnection(config.database);
connection.connect(function(error) {
// Read all controllers
fs.readdirSync('./src/controllers').forEach(function (file) {
if (file.substr(-3) == '.js') {
route = require('./src/controllers/' + file);
route.controller(app, connection);
}
});
http.createServer(app).listen(3000);
});