generated from lucien/api-template
Added client scripts
This commit is contained in:
parent
7d0406ef6e
commit
c57a2511d8
14 changed files with 87 additions and 0 deletions
214
api/libs/mysql.js
Normal file
214
api/libs/mysql.js
Normal file
|
@ -0,0 +1,214 @@
|
|||
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_DB,
|
||||
});
|
||||
}
|
||||
|
||||
function getShares(connection) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Share`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function getShare(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Share WHERE id = ${id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function getShareholderShares(connection, owner_id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Share WHERE owner_id = ${owner_id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function getCompanyShares(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Share WHERE company_id = ${id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function setShareOwner(connection, share_id, owner_id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`UPDATE Share SET owner_id = ${owner_id} WHERE id = ${share_id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function addShare(connection, price, company_id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`INSERT INTO Share (price, owner_id, company_id) VALUES (${price}, -1, ${company_id})`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function getShareholders(connection) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Shareholder`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function getShareholder(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Shareholder WHERE id = ${id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function setShareholderCapital(connection, id, capital) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`UPDATE Shareholder SET capital = ${capital} WHERE id = ${id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function getCompanies(connection) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Company`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function getCompany(connection, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`SELECT * FROM Company WHERE id = ${id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function setCompanyCapital(connection, id, capital ) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`UPDATE Company SET capital = ${capital} WHERE id = ${id}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function addTransaction(connection, price, seller_id, buyer_id, share_id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(
|
||||
`INSERT INTO Transaction (sell_price, seller_id, buyer_id, share_id) VALUES (${price}, ${seller_id}, ${buyer_id}, ${share_id})`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
throw(new Error(error));
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getConnection,
|
||||
|
||||
getShares,
|
||||
getShare,
|
||||
getShareholderShares,
|
||||
getCompanyShares,
|
||||
setShareOwner,
|
||||
addShare,
|
||||
|
||||
getShareholders,
|
||||
getShareholder,
|
||||
setShareholderCapital,
|
||||
|
||||
getCompanies,
|
||||
getCompany,
|
||||
setCompanyCapital,
|
||||
|
||||
addTransaction,
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue