Skip to content

Commit 6ec59e2

Browse files
committed
Better error handling
1 parent 6d4f058 commit 6ec59e2

1 file changed

Lines changed: 56 additions & 51 deletions

File tree

lib/db/mysql.js

Lines changed: 56 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
const mysql = require("mysql");
22

33
const db = mysql.createPool({
4-
connectionLimit : 100,
4+
connectionLimit: 100,
55
host: process.env.DB_HOST,
66
user: process.env.DB_USER,
77
password: process.env.DB_PASSWORD,
88
database: process.env.DB_DATABASE,
9-
charset : "utf8mb4"
9+
charset: "utf8mb4"
1010
});
1111
/* Wait untill i understand how that tale works
1212
let GetCurrentJobs = function() {
@@ -24,89 +24,94 @@ let GetCurrentJobs = function() {
2424
});
2525
}*/
2626

27-
let GetFailedJobsSinceLastCheck = function(TimeCheckInterval) {
28-
return new Promise(function(resolve, reject) {
29-
db.getConnection(function(err, connection){
30-
connection.query(`SELECT COUNT(*) FROM dashboard.failed_jobs WHERE failed_at >= NOW() - INTERVAL ${TimeCheckInterval} Second;`, function(err, rows, fields) {
31-
if(err){
32-
console.log(err);
33-
}
27+
let GetFailedJobsSinceLastCheck = function (TimeCheckInterval) {
28+
return new Promise(function (resolve, reject) {
29+
db.getConnection(function (err, connection) {
30+
if (err) {
31+
console.log(err);
32+
throw new Error("Error in MYSQL Connection" + err);
33+
}
34+
connection.query(`SELECT COUNT(*) FROM dashboard.failed_jobs WHERE failed_at >= NOW() - INTERVAL ${TimeCheckInterval} Second;`, function (err, rows, fields) {
3435
connection.release();
35-
if(Object.entries(rows).length === 0){
36+
if (Object.entries(rows).length === 0) {
3637
reject(0);
37-
}else{
38+
} else {
3839
resolve(rows);
3940
}
4041
});
4142
});
4243
});
4344
}
4445

45-
let GetAllUsers = function() {
46-
return new Promise(function(resolve, reject) {
47-
db.getConnection(function(err, connection){
48-
connection.query('SELECT credits, server_limit, email_verified_at, discord_verified_at, ip, suspended FROM users;', function(err, rows, fields) {
49-
if(err){
50-
console.log(err);
51-
}
46+
let GetAllUsers = function () {
47+
return new Promise(function (resolve, reject) {
48+
db.getConnection(function (err, connection) {
49+
if (err) {
50+
console.log(err);
51+
throw new Error("Error in MYSQL Connection" + err);
52+
}
53+
connection.query('SELECT credits, server_limit, email_verified_at, discord_verified_at, ip, suspended FROM users;', function (err, rows, fields) {
5254
connection.release();
53-
if(Object.entries(rows).length === 0){
55+
if (Object.entries(rows).length === 0) {
5456
reject(0);
55-
}else{
57+
} else {
5658
resolve(rows);
5759
}
5860
});
5961
});
6062
});
6163
}
6264

63-
let GetAllServers = function() {
64-
return new Promise(function(resolve, reject) {
65-
db.getConnection(function(err, connection){
66-
connection.query('SELECT pterodactyl_id, product_id, suspended FROM servers;', function(err, rows, fields) {
67-
if(err){
68-
console.log(err);
69-
}
65+
let GetAllServers = function () {
66+
return new Promise(function (resolve, reject) {
67+
db.getConnection(function (err, connection) {
68+
if (err) {
69+
console.log(err);
70+
throw new Error("Error in MYSQL Connection" + err);
71+
}
72+
connection.query('SELECT pterodactyl_id, product_id, suspended FROM servers;', function (err, rows, fields) {
7073
connection.release();
71-
if(Object.entries(rows).length === 0){
74+
if (Object.entries(rows).length === 0) {
7275
reject(0);
73-
}else{
76+
} else {
7477
resolve(rows);
7578
}
7679
});
7780
});
7881
});
7982
}
8083

81-
let GetAllProducts = function() {
82-
return new Promise(function(resolve, reject) {
83-
db.getConnection(function(err, connection){
84-
connection.query('SELECT id, name, price, memory, cpu, swap, disk, `databases`, backups, allocations FROM products;', function(err, rows, fields) {
85-
if(err){
86-
console.log(err);
87-
}
84+
let GetAllProducts = function () {
85+
return new Promise(function (resolve, reject) {
86+
db.getConnection(function (err, connection) {
87+
if (err) {
88+
console.log(err);
89+
throw new Error("Error in MYSQL Connection" + err);
90+
}
91+
connection.query('SELECT id, name, price, memory, cpu, swap, disk, `databases`, backups, allocations FROM products;', function (err, rows, fields) {
8892
connection.release();
89-
if(Object.entries(rows).length === 0){
93+
if (Object.entries(rows).length === 0) {
9094
reject(0);
91-
}else{
95+
} else {
9296
resolve(rows);
9397
}
9498
});
9599
});
96100
});
97101
}
98102

99-
let GetVouchersAndUsage = function() {
100-
return new Promise(function(resolve, reject) {
101-
db.getConnection(function(err, connection){
102-
connection.query('WITH voucher_data as ( SELECT uses as max_uses, id, credits, code, memo, expires_at, created_at, updated_at, uses as uses_total FROM dashboard.vouchers GROUP BY id ), voucher_uses as ( SELECT COUNT(*) as uses, voucher_id FROM dashboard.user_voucher GROUP BY voucher_id ) SELECT (voucher_data.max_uses - voucher_uses.uses) as uses_left, voucher_data.uses_total, voucher_data.id as voucher_id, voucher_data.credits, voucher_data.code, voucher_data.memo, voucher_data.expires_at, voucher_data.created_at, voucher_data.updated_at FROM voucher_data INNER JOIN voucher_uses ON voucher_data.id = voucher_uses.voucher_id', function(err, rows, fields) {
103-
if(err){
104-
console.log(err);
105-
}
103+
let GetVouchersAndUsage = function () {
104+
return new Promise(function (resolve, reject) {
105+
db.getConnection(function (err, connection) {
106+
if (err) {
107+
console.log(err);
108+
throw new Error("Error in MYSQL Connection" + err);
109+
}
110+
connection.query('WITH voucher_data as ( SELECT uses as max_uses, id, credits, code, memo, expires_at, created_at, updated_at, uses as uses_total FROM dashboard.vouchers GROUP BY id ), voucher_uses as ( SELECT COUNT(*) as uses, voucher_id FROM dashboard.user_voucher GROUP BY voucher_id ) SELECT (voucher_data.max_uses - voucher_uses.uses) as uses_left, voucher_data.uses_total, voucher_data.id as voucher_id, voucher_data.credits, voucher_data.code, voucher_data.memo, voucher_data.expires_at, voucher_data.created_at, voucher_data.updated_at FROM voucher_data INNER JOIN voucher_uses ON voucher_data.id = voucher_uses.voucher_id', function (err, rows, fields) {
106111
connection.release();
107-
if(Object.entries(rows).length === 0){
112+
if (Object.entries(rows).length === 0) {
108113
reject(0);
109-
}else{
114+
} else {
110115
resolve(rows);
111116
}
112117
});
@@ -115,9 +120,9 @@ let GetVouchersAndUsage = function() {
115120
}
116121

117122
module.exports = {
118-
GetFailedJobsSinceLastCheck,
119-
GetAllUsers,
120-
GetAllServers,
121-
GetAllProducts,
123+
GetFailedJobsSinceLastCheck,
124+
GetAllUsers,
125+
GetAllServers,
126+
GetAllProducts,
122127
GetVouchersAndUsage
123128
}

0 commit comments

Comments
 (0)