aboutsummaryrefslogtreecommitdiff
path: root/src/server.js
diff options
context:
space:
mode:
authorMark Powers <markppowers0@gmail.com>2020-10-18 18:16:26 -0500
committerMark Powers <markppowers0@gmail.com>2020-10-18 18:16:26 -0500
commit3e16b66c86b59f7f6045f29ac66e4fae37d99e0d (patch)
tree3de3855f30860952d2f425116dd9112805d795b5 /src/server.js
parenta1baf96009692aff2ca123b3071d34fdcba0de63 (diff)
Add expected averages and category summary
Diffstat (limited to 'src/server.js')
-rw-r--r--src/server.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/server.js b/src/server.js
index b8ccef4..c108a00 100644
--- a/src/server.js
+++ b/src/server.js
@@ -92,11 +92,16 @@ function setUpRoutes(models, jwtFunctions, database, templates) {
server.get(`/expected`, async (req, res, next) => {
try {
let expecteds = await database.query(`SELECT * FROM expecteds WHERE username = '${res.locals.user.username}' ORDER BY \`name\` DESC`, { type: database.QueryTypes.SELECT })
+ let day_average = 0
expecteds.forEach((element, i) => {
element.index = i + 1
+ day_average = element.total / element.days
});
let name = res.locals.user.username
- let body = templates["expected"]({ name, expecteds })
+ let week = Math.round(day_average * 7)
+ let month = Math.round(day_average * 31)
+ let year = Math.round(day_average * 365)
+ let body = templates["expected"]({ name, expecteds, week, month, year })
res.status(200).send(body);
} catch (e) {
console.log(e)
@@ -306,6 +311,10 @@ async function formatSummary(database, username) {
summary.year_avg = getBudgetAverage(summary.year)
summary.month_avg = getBudgetAverage(summary.month)
summary.week_avg = getBudgetAverage(summary.week)
+
+
+ summary.categories = await database.query(`select category, sum(amount) as s from transactions where category <> '' group by category`, { type: database.QueryTypes.SELECT });
+ summary.subcategories = await database.query(`select subcategory, sum(amount) as s from transactions where subcategory <> '' group by subcategory`, { type: database.QueryTypes.SELECT });
summary.name = username
return summary
}