sse does not work :(

This commit is contained in:
Makussu 2024-06-01 19:00:50 +02:00
parent 3813e11258
commit 1d8fc533da
5 changed files with 56 additions and 8 deletions

View File

@ -3,7 +3,8 @@
const apiUrl = '/api/v1/'; const apiUrl = '/api/v1/';
//SSE URL //SSE URL
export const sseUrl = 'http://149.222.51.77/da4c59b9-43c4-4144-ae39-742c6ba3ad50/live'; // export const sseUrl = 'http://149.222.51.77/da4c59b9-43c4-4144-ae39-742c6ba3ad50/live';
export const sseUrl = '/live';
export function fetchData(url) { export function fetchData(url) {
const uri = apiUrl + url; const uri = apiUrl + url;

View File

@ -46,14 +46,15 @@ app.use( express.static( __dirname + '/frontend'))
const accountsRoute = require("./routes/accounts"); const accountsRoute = require("./routes/accounts");
const transactionsRoute = require("./routes/transactions"); const transactionsRoute = require("./routes/transactions");
const { isNullOrUndefined } = require("util"); const resetRoute = require("./routes/reset")
const basepath = "/api/v1"; const basepath = "/api/v1";
app.use(`${basepath}/accounts`, accountsRoute); app.use(`${basepath}/accounts`, accountsRoute);
app.use(`${basepath}/transactions`, transactionsRoute); app.use(`${basepath}/transactions`, transactionsRoute);
app.use(`${basepath}/`, resetRoute.router);
app.get("/live", resetRoute.socketConnectionRequest)
app.get("/", (req, res) => { app.get("/", (req, res) => {
res.sendFile( path.join( __dirname, 'client', 'index.html')) res.sendFile( path.join( __dirname, 'client', 'index.html'))

View File

@ -10,7 +10,6 @@ router.get("/", (req, res) => {
for (let i=0; i < accs.length; i++) { for (let i=0; i < accs.length; i++) {
accs[i]["subaccounts"] = []; accs[i]["subaccounts"] = [];
} }
console.log(accs)
res.send(accs); res.send(accs);
}); });
@ -25,7 +24,6 @@ router.post("/", (req, res) => {
const new_acc = db.prepare(`INSERT INTO accounts (number, name, qualifiedName, description, type, balance, localBalance) VALUES (?, ?, ? ,?, ?, 0, 0)`).run(number ,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() res.status(204).send()
console.log(new_acc);
}); });
router.get("/:account", (req, res) => { router.get("/:account", (req, res) => {

View File

@ -0,0 +1,27 @@
const express = require('express');
const router = express.Router();
const db = require("../dependencies");
router.post("/reset", (req, res) => {
db.prepare("BEGIN TRANSACTION; DELETE FROM accounts; DELETE FROM transaction_entries; DELETE FROM transactions COMMIT;")
})
var socket
function socketConnectionRequest(req, res, next) {
const headers = {
'Content-Type': 'text/event-stream', // To tell client, it is event stream
'Connection': 'keep-alive', // To tell client, not to close connection
};
res.writeHead(200, headers);
res.write('data: Connection Established, We\'ll now start receiving messages from the server.\n')
socket = res
console.log('New connection established')
}
function publishMessageToConnectedSockets(data) {
console.log("something changed")
socket.write(`update: ${data}\n`);
}
module.exports = { router, socketConnectionRequest, publishMessageToConnectedSockets};

View File

@ -2,6 +2,7 @@ const express = require('express');
const router = express.Router(); const router = express.Router();
const db = require("../dependencies"); const db = require("../dependencies");
const { publishMessageToConnectedSockets } = require("./reset")
router.get("/", (req, res) => { router.get("/", (req, res) => {
const transactions = db.prepare("SELECT transaction_id as id, postingDate, valueDate, title FROM transactions").all(); const transactions = db.prepare("SELECT transaction_id as id, postingDate, valueDate, title FROM transactions").all();
@ -24,7 +25,11 @@ router.post("/", (req, res) => {
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) 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) publishMessageToConnectedSockets("lol")
res.send({
id: db_transaction.lastInsertRowid
})
}) })
router.get("/:id", (req, res) => { router.get("/:id", (req, res) => {
@ -38,11 +43,27 @@ router.get("/:id", (req, res) => {
}) })
router.put("/:id", (req, res) => { router.put("/:id", (req, res) => {
const transaction = db.prepare("UPDATE transactions SET postingDate = ?, valueDate = ?, title = ? WHERE transaction_id = ?").run(req.body.postingDate, req.body.valueDate, req.body.title, req.params.id)
const delete_entries = db.prepare("DELETE FROM transaction_entries WHERE transaction_id = ?").run(req.params.id)
for (let i = 0; i < req.body.entries.length; i++) {
const db_entries = db.prepare("INSERT INTO transaction_entries (transaction_id, account_name, amount, label) VALUES (?, ?, ?, ?)").run(req.params.id, req.body.entries[i].account, req.body.entries[i].amount, req.body.entries[i].label)
}
publishMessageToConnectedSockets("lol")
res.status(204).send()
}) })
router.delete("/:id", (req, res) => { router.delete("/:id", (req, res) => {
const delete_entries = db.prepare("DELETE FROM transaction_entries WHERE transaction_id = ?").run(req.params.id)
const delete_transaction = db.prepare("DELETE FROM transaction WHERE transaction_id = ?").run(req.params.id)
publishMessageToConnectedSockets("lol")
res.status(204).send()
}) })
module.exports = router; module.exports = router;