add: added receivers

This commit is contained in:
Lukian 2025-04-28 09:09:26 +02:00
parent 94e4d5750f
commit f0881f2025
6 changed files with 275 additions and 25 deletions

View file

@ -211,10 +211,11 @@ function removeCard(connection, id) {
function getUserTransfers(connection, id) {
return new Promise((resolve, reject) => {
connection.query(
`SELECT *
`SELECT transfers.*, sender.name AS sender_name, users.name AS receiver_name, users.lastname AS receiver_lastname
FROM transfers
JOIN accounts as sender ON transfers.account_from_id = sender.id
JOIN accounts as receiver ON transfers.account_to_id = receiver.id
JOIN users ON receiver.client_id = users.id
WHERE sender.client_id = ? OR receiver.client_id = ?`,
[id, id],
(error, result) => {
@ -242,6 +243,59 @@ function addTransfer(connection, account_from_id, account_to_id, name, amount) {
});
}
// +-------------------------------+
// | Receivers |
// +-------------------------------+
function getUserReceivers(connection, id) {
return new Promise((resolve, reject) => {
connection.query(
`SELECT receivers.*
FROM receivers
JOIN users ON receivers.user_id = users.id
JOIN accounts ON receivers.account_id = accounts.id
WHERE users.id = ?`,
[id],
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
function addReceiver(connection, user_id, account_id, name) {
return new Promise((resolve, reject) => {
connection.query(
`INSERT INTO receivers (user_id, account_id, name) VALUES (?, ?, ?)`,
[user_id, account_id, name],
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
function removeReceiver(connection, id) {
return new Promise((resolve, reject) => {
connection.query(
`DELETE FROM receivers WHERE id = ?`,
[id],
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
module.exports = {
getConnection,
@ -262,4 +316,8 @@ module.exports = {
getUserTransfers,
addTransfer,
getUserReceivers,
addReceiver,
removeReceiver,
};