-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.js
73 lines (54 loc) · 1.44 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
var restify = require('restify');
var mongo = require('./lib/mongo');
var api = require('./lib/api');
var middleware = require('./lib/middleware');
var www = require('./lib/www');
var server = restify.createServer();
server.use(restify.acceptParser(server.acceptable));
server.use(restify.authorizationParser());
server.use(restify.queryParser({ mapParams: false }));
server.use(restify.jsonBodyParser({ mapParams: false }));
//server.use(restify.gzipResponse());
/*
* APIs
*/
/*
* REST GET : Get users
*/
server.get('/api/v1/users', middleware.validateAuthN, middleware.validateAuthZ, api.getUsersV1);
/*
* REST GET : Serving WWW Files
* NOTE: Must be last server.get(...) declaration
*
* e.g. http://localhost:8080/docs/public/index.html
*/
server.get('/.*', www.serveV1);
/*
* REST POST : Create user
*/
server.post('/api/v1/users', api.postUserV1);
/*
* REST POST : Login user
*/
server.post('/api/v1/users/login', api.postUserLoginV1);
/*
* REST PUT : Update user
*/
server.put('/api/v1/users', api.putUserV1);
/*
* REST DELETE : Delete user by userId or MondoDb objectId (_id)
*
* @request query parameter userId
* @request query parameter objectId
*
*/
server.del('/api/v1/users/:id', api.deleteUserV1);
/*
* Start MongoDB and Node.js server
*/
mongo.init(function() {
console.log("INFO: MongoDB is ready");
server.listen(8080, function() {
console.log('%s listening at %s', server.name, server.url);
});
});