-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
33 lines (29 loc) · 1.03 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
const functions = require('@google-cloud/functions-framework');
const { queryFBMetrics, queryFBMetricsbyDateRange } = require('./query');
functions.http('getUserMetrics', async (req, res) => {
console.log('===================BEGIN getUserMetrics======================');
const queryParams = Object.fromEntries(
Object.entries(req.query).map(([k, v]) => [k.toLowerCase(), v]),
);
const { fromdate, todate, date } = queryParams;
console.log('fromdate=', fromdate);
console.log('todate=', todate);
console.log('date=', date);
let result = null;
if (fromdate && todate) {
result = await queryFBMetricsbyDateRange(fromdate, todate);
} else if (date) {
result = await queryFBMetrics(date);
} else {
result = {
status: 'error',
body: 'Invalid request. Incorrect parameters passed.',
};
}
console.log(result);
if (result.status === 'success') {
res.send(result.body);
} else {
res.status(400).send(result.body);
}
});