generated from lucien/api-template
127 lines
2.4 KiB
JavaScript
127 lines
2.4 KiB
JavaScript
const mysql = require("mysql");
|
|
|
|
function getConnection() {
|
|
return mysql.createConnection({
|
|
host: process.env.MYSQL_HOST,
|
|
user: process.env.MYSQL_USER,
|
|
password: process.env.MYSQL_PASSWORD,
|
|
database: process.env.MYSQL_DATABASE,
|
|
});
|
|
}
|
|
|
|
// +-------------------------------+
|
|
// | Users |
|
|
// +-------------------------------+
|
|
|
|
function addUser(connection, name, lastname, email, numero, password) {
|
|
return new Promise((resolve, reject) => {
|
|
connection.query(
|
|
`INSERT INTO users (name, lastname, email, numero, password) VALUES (?, ?, ?, ?, ?)`,
|
|
[name, lastname, email, numero, password],
|
|
(error, result) => {
|
|
if (error) {
|
|
reject(new Error(error));
|
|
}
|
|
resolve(result);
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
function getUsers(connection) {
|
|
return new Promise((resolve, reject) => {
|
|
connection.query(
|
|
`SELECT * FROM users`,
|
|
(error, result) => {
|
|
if (error) {
|
|
reject(new Error(error));
|
|
}
|
|
resolve(result);
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
function getUser(connection, id) {
|
|
return new Promise((resolve, reject) => {
|
|
connection.query(
|
|
`SELECT * FROM users WHERE id = ?`,
|
|
[id],
|
|
(error, result) => {
|
|
if (error) {
|
|
reject(new Error(error));
|
|
}
|
|
resolve(result);
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
function getUserByEmail(connection, email) {
|
|
return new Promise((resolve, reject) => {
|
|
connection.query(
|
|
`SELECT * FROM users WHERE email = ?`,
|
|
[email],
|
|
(error, result) => {
|
|
if (error) {
|
|
reject(new Error(error));
|
|
}
|
|
resolve(result);
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
// +-------------------------------+
|
|
// | Accounts |
|
|
// +-------------------------------+
|
|
|
|
function getUserAccounts(connection, id) {
|
|
return new Promise((resolve, reject) => {
|
|
connection.query(
|
|
`SELECT * FROM accounts WHERE client_id = ?`,
|
|
[id],
|
|
(error, result) => {
|
|
if (error) {
|
|
reject(new Error(error));
|
|
}
|
|
resolve(result);
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
// +-------------------------------+
|
|
// | Cards |
|
|
// +-------------------------------+
|
|
|
|
function getUserCards(connection, id) {
|
|
return new Promise((resolve, reject) => {
|
|
connection.query(
|
|
`SELECT cards.*
|
|
FROM cards
|
|
JOIN accounts ON cards.account_id = accounts.id
|
|
WHERE client_id = ?`,
|
|
[id],
|
|
(error, result) => {
|
|
if (error) {
|
|
reject(new Error(error));
|
|
}
|
|
resolve(result);
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
getConnection,
|
|
|
|
addUser,
|
|
getUsers,
|
|
getUser,
|
|
getUserByEmail,
|
|
|
|
getUserAccounts,
|
|
|
|
getUserCards,
|
|
};
|