feat: enhance password generation method; improve connection pooling logic in DatabasePlugin; update test cases with correct tokens

This commit is contained in:
Boris D
2025-10-13 09:12:47 +03:00
parent c4755f5346
commit 73999de32e
5 changed files with 21 additions and 15 deletions

View File

@ -31,7 +31,12 @@ export class DatabasePlugin extends Plugin {
if (DatabasePlugin.connectionPool.has(connectionKey)) {
const existingConnection =
DatabasePlugin.connectionPool.get(connectionKey);
return new DatabasePlugin(name, existingConnection);
if (!(await existingConnection.ping())) {
DatabasePlugin.connectionPool.delete(connectionKey);
} else {
return new DatabasePlugin(name, existingConnection);
}
}
const dbConnection = await mysql.createConnection({
@ -40,13 +45,13 @@ export class DatabasePlugin extends Plugin {
port: config.port,
password: config.password,
database: config.database,
idleTimeout: config.idleTimeout,
connectTimeout: config.connectTimeout,
enableKeepAlive: true,
idleTimeout: config.idleTimeout,
maxIdle: 10,
connectionLimit: 15,
});
// await dbConnection.query("SET SESSION MAX_EXECUTION_TIME=2000;");
DatabasePlugin.connectionPool.set(connectionKey, dbConnection);
return new DatabasePlugin(name, dbConnection);
}