Sets up the basic project structure for OmniSupport AI, including: - Vite build tool configuration. - React and necessary dependencies. - TypeScript configuration. - Basic HTML and root component setup. - Initial type definitions and mock data for core entities like tickets, agents, and queues. - A README with setup instructions. - A .gitignore file for common build artifacts and development files.
40 lines
976 B
JavaScript
40 lines
976 B
JavaScript
|
|
import mysql from 'mysql2/promise';
|
|
import dotenv from 'dotenv';
|
|
|
|
dotenv.config();
|
|
|
|
const pool = mysql.createPool({
|
|
host: process.env.DB_HOST || 'db',
|
|
port: process.env.DB_PORT || 3306,
|
|
user: process.env.DB_USER || 'omni_user',
|
|
password: process.env.DB_PASSWORD || 'omni_pass',
|
|
database: process.env.DB_NAME || 'omnisupport',
|
|
waitForConnections: true,
|
|
connectionLimit: 10,
|
|
queueLimit: 0
|
|
});
|
|
|
|
export const query = async (sql, params) => {
|
|
try {
|
|
const [results] = await pool.execute(sql, params);
|
|
return results;
|
|
} catch (error) {
|
|
console.error('Database query error:', error);
|
|
throw error;
|
|
}
|
|
};
|
|
|
|
export const checkConnection = async () => {
|
|
try {
|
|
const connection = await pool.getConnection();
|
|
await connection.ping();
|
|
connection.release();
|
|
console.log('✅ Connected to MySQL Database');
|
|
return true;
|
|
} catch (error) {
|
|
console.error('❌ Database connection failed:', error.message);
|
|
return false;
|
|
}
|
|
};
|