-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
122 lines (98 loc) · 2.75 KB
/
index.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
var express = require('express');
var bodyParser = require('body-parser');
var _ = require('lodash');
var app = express();
app.use(bodyParser.json());
var timeserie = require('./series');
var now = Date.now();
for (var i = timeserie.length -1; i >= 0; i--) {
var series = timeserie[i];
var decreaser = 0;
for (var y = series.datapoints.length -1; y >= 0; y--) {
series.datapoints[y][1] = Math.round((now - decreaser) /1000) * 1000;
decreaser += 50000;
}
}
var annotation = {
name : "annotation name",
enabled: true,
datasource: "generic datasource",
showLine: true,
}
var annotations = [
{ annotation: annotation, "title": "Donlad trump is kinda funny", "time": 1450754160000, text: "teeext", tags: "taaags" },
{ annotation: annotation, "title": "Wow he really won", "time": 1450754160000, text: "teeext", tags: "taaags" },
{ annotation: annotation, "title": "When is the next ", "time": 1450754160000, text: "teeext", tags: "taaags" }
];
var now = Date.now();
var decreaser = 0;
for (var i = 0;i < annotations.length; i++) {
var anon = annotations[i];
anon.time = (now - decreaser);
decreaser += 1000000
}
var table =
{
columns: [{text: 'Time', type: 'time'}, {text: 'Country', type: 'string'}, {text: 'Number', type: 'number'}],
rows: [
[ 1234567, 'SE', 123 ],
[ 1234567, 'DE', 231 ],
[ 1234567, 'US', 321 ],
],
type: "table"
};
function setCORSHeaders(res) {
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Methods", "POST");
res.setHeader("Access-Control-Allow-Headers", "accept, content-type");
}
var now = Date.now();
var decreaser = 0;
for (var i = 0;i < table.rows.length; i++) {
var anon = table.rows[i];
anon[0] = (now - decreaser);
decreaser += 1000000
}
app.all('/', function(req, res) {
setCORSHeaders(res);
res.send('I have a quest for you!');
res.end();
});
app.all('/search', function(req, res){
setCORSHeaders(res);
var result = [];
_.each(timeserie, function(ts) {
result.push(ts.target);
});
res.json(result);
res.end();
});
app.all('/annotations', function(req, res) {
setCORSHeaders(res);
console.log(req.url);
console.log(req.body);
res.json(annotations);
res.end();
})
app.all('/query', function(req, res){
setCORSHeaders(res);
console.log(req.url);
console.log(req.body);
var tsResult = [];
_.each(req.body.targets, function(target) {
if (target.type === 'table') {
tsResult.push(table);
} else {
var k = _.filter(timeserie, function(t) {
return t.target === target.target;
});
_.each(k, function(kk) {
tsResult.push(kk)
});
}
});
res.json(tsResult);
res.end();
});
app.listen(3333);
console.log("Server is listening to port 3333");