UNPKG

cyber-mysql-openai

Version:

Intelligent natural language to SQL translator with self-correction capabilities using OpenAI and MySQL

54 lines (53 loc) 1.59 kB
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 incluyendo relaciones * @returns Esquema con columnas y foreign keys por tabla */ getDatabaseSchema(): Promise<Record<string, { columns: any[]; foreignKeys: any[]; }>>; /** * Obtiene todas las relaciones Foreign Key de la base de datos * @returns Lista de relaciones FK */ private getForeignKeys; /** * 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;