aboutsummaryrefslogtreecommitdiff
path: root/src/server.js
diff options
context:
space:
mode:
authorMark Powers <markppowers0@gmail.com>2020-10-07 08:45:32 -0500
committerMark Powers <markppowers0@gmail.com>2020-10-07 08:45:32 -0500
commit98da11b940c194f5e4bd423cb57d252df6185715 (patch)
treea6b55f19fe08be5cc68033fee2b72c53ac269170 /src/server.js
parent0712bdcc1e9c67bdde0a89c94ca5d72822ead854 (diff)
Add budget goals
Diffstat (limited to 'src/server.js')
-rw-r--r--src/server.js41
1 files changed, 38 insertions, 3 deletions
diff --git a/src/server.js b/src/server.js
index 53db084..69d3968 100644
--- a/src/server.js
+++ b/src/server.js
@@ -14,7 +14,7 @@ server.use(bodyParser.json());
//server.use(bodyParser.urlencoded({ extended: true }));
function listen(port) {
- server.listen(port, () => console.info(`Listening on port ${port}!`));
+ server.listen(port, () => console.info(`Listening: http://localhost:${port} `));
}
function hashWithSalt(password, salt){
@@ -36,7 +36,6 @@ function setUpRoutes(models, jwtFunctions, database) {
try {
const decryptedUserId = jwtFunctions.verify(cookie);
var user = await models.users.findOne({ where: { username: decryptedUserId } });
- // .then((user, error) => {
if (user) {
res.locals.user = user.get({ plain: true });
} else {
@@ -44,7 +43,6 @@ function setUpRoutes(models, jwtFunctions, database) {
res.redirect('/login');
return;
}
- // });
} catch (e) {
res.status(400).send(e.message);
}
@@ -128,6 +126,43 @@ function setUpRoutes(models, jwtFunctions, database) {
res.status(400).send(e.message);
}
})
+ server.get(`/goals`, async (req, res, next) => {
+ try {
+ var result = await database.query("SELECT * FROM goals WHERE username = '" + res.locals.user.username + "' ORDER BY `name` DESC", { type: database.QueryTypes.SELECT })
+ res.status(200).send(result);
+ next();
+ } catch (e) {
+ console.log(e)
+ res.status(400).send(e.message);
+ }
+ })
+ server.post(`/goals`, async (req, res, next) => {
+ try {
+ let item = req.body;
+ console.log(item);
+ item.username = res.locals.user.username
+ await models.goals.create(item);
+ var result = await database.query("SELECT * FROM goals WHERE username = '" + res.locals.user.username + "' ORDER BY `name` DESC", { type: database.QueryTypes.SELECT })
+ res.status(200).send(result);
+ } catch (e) {
+ console.log(e);
+ res.status(400).send(e.message);
+ }
+ })
+ server.post(`/allocate`, async (req, res, next) => {
+ try {
+ let name = req.body.name;
+ let amount = req.body.amount;
+ var toUpdate = await models.goals.findOne({ where: { name: name, username:res.locals.user.username } });
+ var update = {amount: toUpdate.amount + amount}
+ await toUpdate.update(update);
+ var result = await await database.query("SELECT * FROM goals WHERE username = '" + res.locals.user.username + "' ORDER BY `name` DESC", { type: database.QueryTypes.SELECT })
+ res.status(200).send(result);
+ } catch (e) {
+ console.log(e);
+ res.status(400).send(e.message);
+ }
+ })
server.get(`/summary`, async (req, res, next) => {
try {
res.status(200).send({