generated from lucien/api-template
add: added routes and improved frontend
This commit is contained in:
parent
37c96f5341
commit
94e4d5750f
15 changed files with 1039 additions and 172 deletions
|
@ -91,6 +91,66 @@ function getUserAccounts(connection, id) {
|
|||
});
|
||||
}
|
||||
|
||||
function getAccount(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM accounts WHERE id = ?`,
|
||||
[id],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function addAccount(connection, client_id, name) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`INSERT INTO accounts (client_id, name) VALUES (?, ?)`,
|
||||
[client_id, name],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function removeAccount(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`DELETE FROM accounts WHERE id = ?`,
|
||||
[id],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function setAccountBalance(connection, id, balance) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`UPDATE accounts SET balance = ? WHERE id = ?`,
|
||||
[balance, id],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// +-------------------------------+
|
||||
// | Cards |
|
||||
// +-------------------------------+
|
||||
|
@ -98,10 +158,11 @@ function getUserAccounts(connection, id) {
|
|||
function getUserCards(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT cards.*
|
||||
`SELECT cards.*, accounts.name AS account_name
|
||||
FROM cards
|
||||
JOIN accounts ON cards.account_id = accounts.id
|
||||
WHERE client_id = ?`,
|
||||
JOIN users ON accounts.client_id = users.id
|
||||
WHERE users.id = ?`,
|
||||
[id],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -113,6 +174,74 @@ function getUserCards(connection, id) {
|
|||
});
|
||||
}
|
||||
|
||||
function addCard(connection, account_id, number, expiration, cvc) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`INSERT INTO cards (account_id, number, expiration, cvc) VALUES (?, ?, ?, ?)`,
|
||||
[account_id, number, expiration, cvc],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function removeCard(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`DELETE FROM cards WHERE id = ?`,
|
||||
[id],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// +-------------------------------+
|
||||
// | Transfers |
|
||||
// +-------------------------------+
|
||||
|
||||
function getUserTransfers(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT *
|
||||
FROM transfers
|
||||
JOIN accounts as sender ON transfers.account_from_id = sender.id
|
||||
JOIN accounts as receiver ON transfers.account_to_id = receiver.id
|
||||
WHERE sender.client_id = ? OR receiver.client_id = ?`,
|
||||
[id, id],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function addTransfer(connection, account_from_id, account_to_id, name, amount) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`INSERT INTO transfers (account_from_id, account_to_id, name, value) VALUES (?, ?, ?, ?)`,
|
||||
[account_from_id, account_to_id, name, amount],
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
reject(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getConnection,
|
||||
|
||||
|
@ -122,6 +251,15 @@ module.exports = {
|
|||
getUserByEmail,
|
||||
|
||||
getUserAccounts,
|
||||
getAccount,
|
||||
addAccount,
|
||||
removeAccount,
|
||||
setAccountBalance,
|
||||
|
||||
getUserCards,
|
||||
addCard,
|
||||
removeCard,
|
||||
|
||||
getUserTransfers,
|
||||
addTransfer,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue