starting transaction
This commit is contained in:
@@ -4,7 +4,8 @@ const router = express.Router();
|
||||
const db = require("../dependencies");
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const accs = db.prepare("SELECT * FROM accounts").all();
|
||||
const accs = db.prepare(`SELECT number, name, qualifiedName, description, type, localBalance, te.balance FROM accounts
|
||||
JOIN (SELECT SUM(amount) as balance, account_name FROM transaction_entries GROUP BY account_name) te ON te.account_name = name`).all();
|
||||
new_accs = [];
|
||||
for (let i=0; i < accs.length; i++) {
|
||||
accs[i]["subaccounts"] = [];
|
||||
@@ -16,11 +17,12 @@ router.get("/", (req, res) => {
|
||||
|
||||
|
||||
router.post("/", (req, res) => {
|
||||
const number = req.body.number;
|
||||
const name = req.body.name;
|
||||
const des = req.body.description;
|
||||
const type = req.body.type;
|
||||
const qualifiedName = req.body.parentAccount + ":" + name
|
||||
const new_acc = db.prepare(`INSERT INTO accounts (name, qualifiedName, description, type, balance, localBalance) VALUES (?, ? ,?, ?, 0, 0)`).run(name, qualifiedName,des, type)
|
||||
const new_acc = db.prepare(`INSERT INTO accounts (number, name, qualifiedName, description, type, balance, localBalance) VALUES (?, ?, ? ,?, ?, 0, 0)`).run(number ,name, qualifiedName,des, type)
|
||||
res.status(204).send()
|
||||
|
||||
console.log(new_acc);
|
||||
@@ -38,8 +40,20 @@ router.get("/:account", (req, res) => {
|
||||
additionalPropl: {}
|
||||
});
|
||||
} else {
|
||||
acc['entries'] = []
|
||||
console.log(acc)
|
||||
entries = db.prepare(`
|
||||
SELECT
|
||||
transaction_entries.transaction_id as id,
|
||||
offsetAccounts,
|
||||
transaction_entries.amount,
|
||||
transaction_entries.label,
|
||||
postingDate,
|
||||
valueDate,
|
||||
title
|
||||
from transaction_entries
|
||||
JOIN transactions ON transaction_entries.transaction_id = transactions.transaction_id
|
||||
JOIN (SELECT account_name as offsetAccounts, transaction_id FROM transaction_entries) te ON te.transaction_id = id AND offsetAccounts IS NOT transaction_entries.account_name
|
||||
WHERE transaction_entries.account_name = ?`).all(req.params.account)
|
||||
acc['entries'] = entries
|
||||
res.send(acc);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,17 +1,40 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
|
||||
const db = require("../dependencies");
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
res.send([])
|
||||
|
||||
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) => {
|
||||
res.send({})
|
||||
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) => {
|
||||
|
||||
Reference in New Issue
Block a user