-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmetrics.js
More file actions
63 lines (55 loc) · 1.57 KB
/
Copy pathmetrics.js
File metadata and controls
63 lines (55 loc) · 1.57 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
const express = require('express');
const req = require('express/lib/request');
const route = require("./route")
const mongoose = require('mongoose');
const utils = require('./utils')
const app = express();
app.use(express.json());
const port = 3000;
//db connect
// console.log(process.env.MONGODB_URI );
mongoose.connect(`mongodb://${process.env.MONGO_HOST}/mern`, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
});
app.put('/updateMetrics', async (req, res) => {
try {
const metrics = await utils.retrieveMetrics();
if (new Date().getDay() == 7) {
metrics.saturdaysCounter++;
} else {
metrics.totalCounter++;
}
await utils.updateMetrics(metrics);
res.sendStatus(200);
} catch(ex) {
res.status(401).send({ message: 'Failed updating metrics' + ex});
}
});
app.get('/metrics', async (req, res) => {
const metrics = await utils.getMetrics();
res.send({
totalCounter : metrics.totalCounter,
saturdaysCounter : metrics.saturdaysCounter
});
})
app.post('/metrics', async (req, res) => {
try {
const metrics = {
totalCounter: req.body.totalCounter,
saturdaysCounter: req.body.saturdaysCounter
}
await utils.setMetrics(metrics);
res.sendStatus(200);
} catch (ex) {
res.sendStatus(404);
}
})
app.get('/healthz', async (req, res) => {
res.status(200);
res.send("Ready");
})
app.listen(port, () => {
console.log(`Demo app listening at http://localhost:${port}`);
});