-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.js
More file actions
executable file
·82 lines (73 loc) · 2.32 KB
/
server.js
File metadata and controls
executable file
·82 lines (73 loc) · 2.32 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
// base setup
// importing packages
var express = require('express')
var app = express()
var bodyParser = require('body-parser')
var cookieParser = require('cookie-parser')
var mongo = require('mongodb')
var logger = require('morgan')
var mongoose = require('mongoose')
var passport = require('passport')
var jwt = require('jsonwebtoken')
var cors = require('cors')
var helmet = require('helmet')
var session = require('cookie-session')
var db = require('./config/db')
var env = require('./env')
mongoose.Promise = global.Promise
// connecting to db
var connection = mongoose.connect(env.DB_URL, { useMongoClient: true })
// configuration
app.use(cookieParser())
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())
app.use(bodyParser.json({ type: 'application/vnd.api+json' }))
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(logger('dev'))
app.use(helmet())
var expiryDate = new Date(Date.now() + 24 * 60 * 60 * 1000)
app.use(session({
name: 'token',
keys: [env.COOKIE_KEY],
cookie: {
secure: false,
httpOnly: true,
path: '/',
expires: expiryDate
}
}))
// router
var routes = require('./routes')
var adminRoutes = require('./routes/index.js')
var userRoutes = require('./routes/user.js')
var donorRoutes = require('./routes/donor.js')
var donationRoutes = require('./routes/donation.js')
var appRoutes = require('./routes/app.js')
var organisationRoutes = require('./routes/organisation.js')
var requirementRoutes = require('./routes/requirement.js')
var getRequirement = require('./routes/public/index')
var hospitalRoute = require('./routes/hospital.js')
var voluntaryDonations = require('./routes/public/donations.js')
app.use(passport.initialize())
// set Headers
app.use(cors({
origin: ['http://localhost:8080', 'http://bloodcellcet.ml', 'http://localhost'],
credentials: true
}))
app.use('/api', routes)
app.use('/api/admin', userRoutes)
app.use('/api/admin', donorRoutes)
app.use('/api/admin', donationRoutes)
app.use('/api/admin', adminRoutes)
app.use('/api/app', appRoutes)
app.use('/api', organisationRoutes)
app.use('/api/admin', requirementRoutes)
app.use('/public', getRequirement)
app.use('/api/admin', hospitalRoute)
app.use('/api/admin', voluntaryDonations)
// server
var port = env.PORT || 3000
app.listen(port)
console.log('API on port ', port)