const express = require('express'); const router = express.Router(); const connection = require("../connection"); /* GET users listing. */ /* router.get('/', function(req, res, next) { res.send('respond with a resource'); }); */ /* AddAccount() POST route for /accounts with body = { "id":598, "type": "saving", "account_no": "111222333", "balance": "500", "date" : "2020-09-11", "max_limit": "10000" } */ router.post("/", (request, response) => { console.log(request.body); // connection.query(`INSERT INTO accounts(user_id, acct_type, acct_number, balance, max_limit) VALUES (${request.body.userid},'${request.body.type}', '${request.body.account_no}', ${request.body.balance}, ${request.body.max_limit})`, (err, result) => { if (err) { response.send("Some record error occur"); } else { response.send("Record saved successfully"); } }); }); // ShowAccounts() // GET route for /accounts query (AddUser) router.get("/", (request, response) => { console.log(request.query); // strQuery = "SELECT * FROM accounts"; if (request.query.id != null) { strQuery += ` WHERE user_id = ${request.query.id}`; } else if (request.query.name != null) { strQuery = `SELECT u.name, a.* FROM accounts AS a INNER JOIN users AS u ON u.user_id = a.user_id WHERE u.name = '${request.query.name}'`; } else if (request.query.account_no != null) { strQuery = `SELECT a.* FROM accounts AS a WHERE a.acct_number = '${request.query.account_no}'`; } if (request.query.limit > 0) { strQuery += ` LIMIT ${request.query.limit}` } // console.log(strQuery); connection.query(strQuery, (err, result) => { if (err) { response.send("Some error occur"); } else { response.send(result); } }); }); // DeleteAccount() // DELETE route for /accounts/{account_no} query router.delete("/:account_no", (request, response) => { console.log(request.params); // strQuery = `DELETE FROM accounts WHERE acct_number = '${request.params.account_no}'`; console.log(strQuery); connection.query(strQuery, (err, result) => { if (err) { response.send("Some error occur"); } else { response.send(result); } }); }); // UpdateAccountBalance() // PUT route for /accounts/balance router.put("/balance", (request, response) => { console.log(request.body); // strQuery = `UPDATE accounts SET balance = ${request.body.balance} WHERE acct_number = '${request.body.account_no}')`; console.log(strQuery); connection.query(strQuery, (err, result) => { if (err) { response.send("Some error occur"); } else { response.send(result); } }); }); // GetHighestBalance() // GET route for /accounts/highest query router.get("/highest", (request, response) => { console.log(request.body); // strQuery = `SELECT u.user_id, u.name, SUM(a.balance) AS total FROM accounts AS a INNER JOIN users AS u ON a.user_id = u.user_id GROUP BY a.user_id ORDER BY total DESC LIMIT 1`; console.log(strQuery); connection.query(strQuery, (err, result) => { if (err) { response.send("Some error occur"); } else { response.send(result); } }); }); // GetLowestBalance() // GET route for /accounts/lowest query router.get("/lowest", (request, response) => { console.log(request.body); // strQuery = `SELECT u.user_id, u.name, SUM(a.balance) AS total FROM accounts AS a INNER JOIN users AS u ON a.user_id = u.user_id GROUP BY a.user_id ORDER BY total ASC LIMIT 1`; console.log(strQuery); connection.query(strQuery, (err, result) => { if (err) { response.send("Some error occur"); } else { response.send(result); } }); }); module.exports = router;