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/';
//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) {
const uri = apiUrl + url;

View File

@ -46,14 +46,15 @@ app.use( express.static( __dirname + '/frontend'))
const accountsRoute = require("./routes/accounts");
const transactionsRoute = require("./routes/transactions");
const { isNullOrUndefined } = require("util");
const resetRoute = require("./routes/reset")
const basepath = "/api/v1";
app.use(`${basepath}/accounts`, accountsRoute);
app.use(`${basepath}/transactions`, transactionsRoute);
app.use(`${basepath}/`, resetRoute.router);
app.get("/live", resetRoute.socketConnectionRequest)
app.get("/", (req, res) => {
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++) {
accs[i]["subaccounts"] = [];
}
console.log(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)
res.status(204).send()
console.log(new_acc);
});
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 db = require("../dependencies");
const { publishMessageToConnectedSockets } = require("./reset")
router.get("/", (req, res) => {
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)
}
res.send(db_transaction.lastInsertRowid)
publishMessageToConnectedSockets("lol")
res.send({
id: db_transaction.lastInsertRowid
})
})
router.get("/:id", (req, res) => {
@ -38,11 +43,27 @@ router.get("/: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) => {
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;