added tester
This commit is contained in:
@@ -1,16 +1,42 @@
|
|||||||
import mysql from "mysql2";
|
import mysql from "mysql2";
|
||||||
import dotenv from "dotenv";
|
import dotenv from "dotenv";
|
||||||
|
import dns from "dns/promises";
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
|
// Validate required envs early
|
||||||
|
const required = ["DB_HOST", "DB_USER", "DB_PASSWORD", "DB_NAME"];
|
||||||
|
for (const k of required) {
|
||||||
|
if (!process.env[k]) {
|
||||||
|
throw new Error(`Missing required env var: ${k}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const pool = mysql
|
const pool = mysql
|
||||||
.createPool({
|
.createPool({
|
||||||
host: process.env.DB_HOST,
|
host: process.env.DB_HOST,
|
||||||
user: process.env.DB_USER,
|
user: process.env.DB_USER,
|
||||||
password: process.env.DB_PASSWORD,
|
password: process.env.DB_PASSWORD,
|
||||||
database: process.env.DB_NAME,
|
database: process.env.DB_NAME,
|
||||||
|
waitForConnections: true,
|
||||||
|
connectionLimit: 10,
|
||||||
|
queueLimit: 0,
|
||||||
})
|
})
|
||||||
.promise();
|
.promise();
|
||||||
|
|
||||||
|
// Optional: resolve host and test a connection at startup for clearer errors
|
||||||
|
(async () => {
|
||||||
|
try {
|
||||||
|
await dns.lookup(process.env.DB_HOST);
|
||||||
|
const conn = await pool.getConnection();
|
||||||
|
conn.release();
|
||||||
|
} catch (e) {
|
||||||
|
console.error(
|
||||||
|
`Database connectivity check failed for host "${process.env.DB_HOST}":`,
|
||||||
|
e.code || e.message
|
||||||
|
);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
export const loginFunc = async (username, password) => {
|
export const loginFunc = async (username, password) => {
|
||||||
const [result] = await pool.query(
|
const [result] = await pool.query(
|
||||||
"SELECT * FROM users WHERE username = ? AND password = ?",
|
"SELECT * FROM users WHERE username = ? AND password = ?",
|
||||||
|
Reference in New Issue
Block a user