-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
175 lines (169 loc) · 4.42 KB
/
server.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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
///**
// * Created by braddavis on 7/21/15.
// */
//// =======================
//// get the packages we need ============
//// =======================
//var express = require('express');
//var app = express();
//var bodyParser = require('body-parser');
//var morgan = require('morgan');
//var mongoose = require('mongoose');
//
//var jwt = require('jsonwebtoken'); // used to create, sign, and verify tokens
//var config = require('./config'); // get our config file
//var User = require('./models/user'); // get our mongoose model
//
//// =======================
//// configuration =========
//// =======================
//var port = process.env.PORT || 4043; // used to create, sign, and verify tokens
//mongoose.connect(config.database); // connect to database
//app.set('superSecret', config.secret); // secret variable
//
//// use body parser so we can get info from POST and/or URL parameters
//app.use(bodyParser.urlencoded({ extended: false }));
//app.use(bodyParser.json());
//
//// use morgan to log requests to the console
//app.use(morgan('dev'));
//
//// =======================
//// routes ================
//// =======================
//
//// basic route
//app.get('/', function(req, res) {
// res.send('Hello! The API is at http://localhost:' + port + '/api');
//});
//
//app.get('/setup', function(req, res) {
//
// // create a sample user
// var nick = new User({
// name: 'Brad Davis',
// password: 'password',
// admin: true
// });
//
// // save the sample user
// nick.save(function(err) {
// if (err) throw err;
//
// console.log('User saved successfully');
// res.json({ success: true });
// });
//});
//
//// API ROUTES -------------------
//
//// get an instance of the router for api routes
//var apiRoutes = express.Router();
//
//
//// route to authenticate a user (POST http://localhost:8080/api/authenticate)
//apiRoutes.post('/authenticate', function(req, res) {
//
// // find the user
// User.findOne({
// name: req.body.name
// }, function(err, user) {
//
// if (err) throw err;
//
// if (!user) {
// res.json({ success: false, message: 'Authentication failed. User not found.' });
// } else if (user) {
//
// // check if password matches
// if (user.password != req.body.password) {
// res.json({ success: false, message: 'Authentication failed. Wrong password.' });
// } else {
//
// // if user is found and password is right
// // create a token
// var token = jwt.sign(user, app.get('superSecret'), {
// expiresInMinutes: 1440 // expires in 24 hours
// });
//
// // return the information including token as JSON
// res.json({
// success: true,
// message: 'Enjoy your token!',
// token: token
// });
// }
//
// }
//
// });
//});
//
//
//
//
//
//
//
//// route middleware to verify a token
//apiRoutes.use(function(req, res, next) {
//
// // check header or url parameters or post parameters for token
// var token = req.body.token || req.query.token || req.headers['x-access-token'];
//
// // decode token
// if (token) {
//
// // verifies secret and checks exp
// jwt.verify(token, app.get('superSecret'), function(err, decoded) {
// if (err) {
// return res.json({ success: false, message: 'Failed to authenticate token.' });
// } else {
// // if everything is good, save to request for use in other routes
// req.decoded = decoded;
// next();
// }
// });
//
// } else {
//
// // if there is no token
// // return an error
// return res.status(403).send({
// success: false,
// message: 'No token provided.'
// });
//
// }
//});
//
//
//// route to show a random message (GET http://localhost:8080/api/)
//apiRoutes.get('/', function(req, res) {
// res.json({ message: 'Welcome to the coolest API on earth!' });
//});
//
//
//// route to return all users (GET http://localhost:8080/api/users)
//apiRoutes.get('/users', function(req, res) {
// User.find({}, function(err, users) {
// res.json(users);
// });
//});
//
//
//// apply the routes to our application with the prefix /api
//app.use('/api', apiRoutes);
//
//
//// =======================
//// start the server ======
//// =======================
//app.listen(port);
//console.log('Magic happens at http://localhost:' + port);
var app = require('./lib');
module.exports = (function() {
'use strict';
// start the API server
app.start();
}());