cyber-mysql-openai
Version:
Intelligent natural language to SQL translator with self-correction capabilities using OpenAI and MySQL
46 lines (45 loc) • 1.34 kB
TypeScript
import mysql from 'mysql2/promise';
import { DBConfig } from '../types';
import Logger from '../utils/index';
/**
* Clase DBManager que maneja la conexión a la base de datos
*/
export declare class DBManager {
private config;
private logger;
private pool;
constructor(config: DBConfig, logger?: Logger);
/**
* Obtiene o crea el pool de conexiones
*/
getPool(): Promise<mysql.Pool>;
/**
* Cierra la conexión al pool
*/
closePool(): Promise<void>;
/**
* Ejecuta una consulta SQL
* @param sql - Consulta SQL
* @param params - Parámetros para la consulta
* @returns Resultado de la consulta
*/
executeQuery(sql: string, params?: any[]): Promise<any>;
/**
* Ejecuta una consulta SQL de solo lectura, validando primero
* @param sql - Consulta SQL
* @returns Resultado de la consulta
*/
executeReadOnlyQuery(sql: string): Promise<any[]>;
/**
* Obtiene el esquema de la base de datos
* @returns Esquema de la base de datos
*/
getDatabaseSchema(): Promise<Record<string, any>>;
/**
* Obtiene las columnas de una tabla específica
* @param tableName - Nombre de la tabla
* @returns Columnas de la tabla
*/
getTableColumns(tableName: string): Promise<any[]>;
}
export default DBManager;