express-backend-uni/routes/transactions.js
2024-06-01 14:47:24 +02:00

49 lines
1.6 KiB
JavaScript

const express = require('express');
const router = express.Router();
const db = require("../dependencies");
router.get("/", (req, res) => {
const transactions = db.prepare("SELECT transaction_id as id, postingDate, valueDate, title FROM transactions").all();
res.send(transactions)
})
router.post("/", (req, res) => {
const transaction = {
postingDate: req.body.postingDate,
valueDate: req.body.valueDate,
title: req.body.title,
entries: req.body.entries
}
const db_transaction = db.prepare("INSERT INTO transactions (postingDate, valueDate, title) VALUES (?, ?, ?) RETURNING transaction_id").run(transaction.postingDate, transaction.valueDate, transaction.title)
for (let i = 0; i < transaction.entries.length; i++) {
const db_entries = db.prepare("INSERT INTO transaction_entries (transaction_id, account_name, amount, label) VALUES (?, ?, ?, ?)").run(db_transaction.lastInsertRowid, transaction.entries[i].account, transaction.entries[i].amount, transaction.entries[i].label)
}
res.send(db_transaction.lastInsertRowid)
})
router.get("/:id", (req, res) => {
const transaction = db.prepare("SELECT postingDate, valueDate, title FROM transactions WHERE transaction_id = ?").get(req.params.id);
const entries = db.prepare("SELECT account_name as account, amount, label FROM transaction_entries WHERE transaction_id = ?").all(req.params.id)
transaction["entries"] = entries
console.log(transaction)
res.send(transaction)
})
router.put("/:id", (req, res) => {
})
router.delete("/:id", (req, res) => {
})
module.exports = router;