-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathapp.js
80 lines (59 loc) · 1.81 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
const express = require("express");
const app = express();
if (app.get('env') === 'development' || app.get("env") === "test") {
require('dotenv').load();
}
// REQUIRE MIDDLEWARE
const bodyParser = require("body-parser");
const methodOverride = require("method-override");
const morgan = require("morgan");
const routes = require("./routes/index")
const session = require("cookie-session");
const knex = require("./db/knex")
const flash = require("connect-flash")
const passport = require("passport")
const helpers = require("./helpers/authHelpers")
// SET UP MIDDLEWARE
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({extended:true}));
app.use(methodOverride('_method'));
app.use(morgan('dev'));
app.set("view engine", "jade");
app.set('views', __dirname + '/views');
// Forces server to load fakeViews; comment out for real views
// app.set('views', __dirname + '/fakeViews');
app.use(session({secret: process.env.SESSION_SECRET}));
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
// Set 'currentUser' in all routes. *ORDERS MATTER*
app.use(helpers.currentUser)
app.use('/users',routes.users)
app.use('/posts',routes.posts)
app.use('/auth',routes.auth)
app.use('/clans',routes.clans)
app.use('/about', routes.about)
app.use('/settings', routes.settings)
app.use('/search', routes.search)
// ROOT ROUTE
app.get('/',function(req,res){
res.render('index')
})
app.get('/search',function(req,res){
res.render('search')
})
// route to web intro page
app.get('/web', function(req, res){
res.render('webPage')
})
// ERROR
app.get('*', function(req, res){
res.render('./errors/404')
});
// listen
var port = process.env.PORT || 3000;
app.listen(port, function() {
console.log(`Listening on port ${port}`);
})
// Export module only for testing
module.exports = app;