added tester

This commit is contained in:
2025-08-20 00:20:35 +02:00
parent e1d79d2c79
commit de554048eb

View File

@@ -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 = ?",