add amount endpoints
This commit is contained in:
@@ -226,6 +226,33 @@ app.get('/API/price/day', function (req, res) {
|
||||
return res.status(status.BAD_REQUEST).send("invalid data provided");
|
||||
});
|
||||
|
||||
app.get('/API/amount/day', function (req, res) {
|
||||
const kind = parseInt(req.query.kind);
|
||||
if (Number.isInteger(kind)) {
|
||||
//Mock Data:
|
||||
if (kind === -1 || DEBUG) return res.send(mockDataDay);
|
||||
|
||||
if (kind >= 1 && kind <= 113) {
|
||||
var dayend = new Date().toMysqlFormat();
|
||||
var daybegin = new Date();
|
||||
daybegin.setDate(daybegin.getDate() - 1);
|
||||
daybegin = daybegin.toMysqlFormat();
|
||||
const querystring = `SELECT time, quality, amount FROM marketcap WHERE kind = ${kind} AND time > "${daybegin}" AND time < "${dayend}" ORDER BY time, quality`;
|
||||
connection.query(querystring, function (error, results, fields) {
|
||||
if (error) {
|
||||
return res.status(status.INTERNAL_SERVER_ERROR).send("database connection failed");
|
||||
}
|
||||
return res.send(results);
|
||||
});
|
||||
}
|
||||
else
|
||||
return res.status(status.BAD_REQUEST).send("invalid data range provided");
|
||||
|
||||
}
|
||||
else
|
||||
return res.status(status.BAD_REQUEST).send("invalid data provided");
|
||||
});
|
||||
|
||||
app.get('/API/price/week', function (req, res) {
|
||||
const kind = parseInt(req.query.kind);
|
||||
if (Number.isInteger(kind)) {
|
||||
@@ -259,6 +286,39 @@ app.get('/API/price/week', function (req, res) {
|
||||
return res.status(status.BAD_REQUEST).send("invalid data provided");
|
||||
});
|
||||
|
||||
app.get('/API/amount/week', function (req, res) {
|
||||
const kind = parseInt(req.query.kind);
|
||||
if (Number.isInteger(kind)) {
|
||||
//Mock Data:
|
||||
if (kind === -1 || DEBUG) return res.send(mockDataWeek);
|
||||
|
||||
if (kind >= 1 && kind <= 113) {
|
||||
var day = new Date();
|
||||
day.setDate(day.getDate() - 6)
|
||||
var querying = "";
|
||||
for (let i = 0; i < 7; i++) {
|
||||
let currentday = day.toMysqlFormat().split(" ")[0];
|
||||
querying += `SELECT "${currentday + " 3:00:00"}" as time,kind,quality,AVG(amount) as amount FROM marketcap WHERE kind = ${kind} AND TIME > "${currentday} 00:00:00" AND TIME <= "${currentday} 05:59:59" GROUP BY kind,quality UNION `;
|
||||
querying += `SELECT "${currentday + " 09:00:00"}" as time,kind,quality,AVG(amount) as amount FROM marketcap WHERE kind = ${kind} AND TIME > "${currentday} 6:00:00" AND TIME <= "${currentday} 11:59:59" GROUP BY kind,quality UNION `;
|
||||
querying += `SELECT "${currentday + " 15:00:00"}" as time,kind,quality,AVG(amount) as amount FROM marketcap WHERE kind = ${kind} AND TIME > "${currentday} 12:00:00" AND TIME <= "${currentday} 17:59:59" GROUP BY kind,quality UNION `;
|
||||
querying += `SELECT "${currentday + " 21:00:00"}" as time,kind,quality,AVG(amount) as amount FROM marketcap WHERE kind = ${kind} AND TIME > "${currentday} 18:00:00" AND TIME <= "${currentday} 23:59:59" GROUP BY kind,quality ${i === 6 ? "" : "UNION"} `;
|
||||
day.setDate(day.getDate() + 1);
|
||||
}
|
||||
connection.query(querying, function (error, results, fields) {
|
||||
if (error) {
|
||||
return res.status(status.INTERNAL_SERVER_ERROR).send("database connection failed");
|
||||
}
|
||||
return res.send(results);
|
||||
});
|
||||
}
|
||||
else
|
||||
return res.status(status.BAD_REQUEST).send("invalid data range provided");
|
||||
|
||||
}
|
||||
else
|
||||
return res.status(status.BAD_REQUEST).send("invalid data provided");
|
||||
});
|
||||
|
||||
app.get('/API/price/month', function (req, res) {
|
||||
const kind = parseInt(req.query.kind);
|
||||
if (Number.isInteger(kind)) {
|
||||
@@ -289,6 +349,36 @@ app.get('/API/price/month', function (req, res) {
|
||||
return res.status(status.BAD_REQUEST).send("invalid data provided");
|
||||
});
|
||||
|
||||
app.get('/API/amount/month', function (req, res) {
|
||||
const kind = parseInt(req.query.kind);
|
||||
if (Number.isInteger(kind)) {
|
||||
//Mock Data:
|
||||
if (kind === -1 || DEBUG) return res.send(mockDataMonth);
|
||||
|
||||
if (kind >= 1 && kind <= 113) {
|
||||
var day = new Date();
|
||||
day.setDate(day.getDate() - 29);
|
||||
var querying = "";
|
||||
for (let i = 0; i < 30; i++) {
|
||||
let currentday = day.toMysqlFormat().split(" ")[0];
|
||||
querying += `SELECT "${currentday}" as time,kind,quality,AVG(amount) as amount FROM marketcap WHERE kind = ${kind} AND TIME >= "${currentday} 00:00:00" AND TIME <= "${currentday} 23:59:59" GROUP BY kind,quality ${i === 29 ? "" : "UNION"} `;
|
||||
day.setDate(day.getDate() + 1);
|
||||
}
|
||||
connection.query(querying, function (error, results, fields) {
|
||||
if (error) {
|
||||
return res.status(status.INTERNAL_SERVER_ERROR).send("database connection failed");
|
||||
}
|
||||
return res.send(results);
|
||||
});
|
||||
}
|
||||
else
|
||||
return res.status(status.BAD_REQUEST).send("invalid data range provided");
|
||||
|
||||
}
|
||||
else
|
||||
return res.status(status.BAD_REQUEST).send("invalid data provided");
|
||||
});
|
||||
|
||||
app.get('/API/resourcelist', function (req, res) {
|
||||
return res.send(resourceList);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user