This repository was archived by the owner on May 7, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathapp.js
50 lines (40 loc) · 1.44 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
var cfenv = require('cfenv');
var express = require('express');
var cloudant = require('cloudant');
var dotenv = require('dotenv');
var path = require('path');
var url = require('url');
var bodyParser = require('body-parser');
var api = require('./routes/api');
dotenv.load();
var app = express();
(function(app) {
if (process.env.VCAP_SERVICES) {
var vcapServices = JSON.parse(process.env.VCAP_SERVICES);
app.set('vcapServices', vcapServices);
if (vcapServices.cloudantNoSQLDB && vcapServices.cloudantNoSQLDB.length > 0) {
var service = vcapServices.cloudantNoSQLDB[0];
if (service.credentials) {
app.set('cloudant-location-tracker-db', cloudant({
username: service.credentials.username,
password: service.credentials.password,
account: service.credentials.username,
url: service.credentials.url
}));
}
}
}
})(app);
var jsonParser = bodyParser.json();
app.get('/api/places', jsonParser, api.getPlaces);
app.put('/api/users/:id', jsonParser, api.createUser);
app.post('/api/login', jsonParser, api.loginUser);
// get the app environment from Cloud Foundry
var appEnv = cfenv.getAppEnv();
// Serve static assets
app.use(express.static(path.join(__dirname, 'public')));
// start server on the specified port and binding host
app.listen(appEnv.port, '0.0.0.0', function() {
console.log("server starting on " + appEnv.url);
});
require("metrics-tracker-client").track();