Files
DashDescomplicar/api/db.ts
Emanuel Almeida a766f3a765 feat: add Node.js/Express API with real data from Desk CRM
-  API completa em /api com TypeScript
-  Google Calendar integration (pessoal + profissional)
-  Queries diretas à BD: tasks, leads, projectos, billing, pipeline
-  Endpoints: /api/dashboard, /api/monitor, /api/health
-  Vite proxy configurado (/api → localhost:3001)
-  App.tsx usa /api/dashboard (não mais dados mock)
-  Migração completa do PHP (index.php + monitor.php)
-  CHANGELOG.md criado para tracking
-  Scripts npm: dev (paralelo), dev:api, dev:ui, start

Dependencies:
- express, cors, mysql2, googleapis
- concurrently, tsx (dev)

Breaking: PHP backend será descontinuado
See: CHANGELOG.md, api/README.md

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 03:26:24 +00:00

33 lines
766 B
TypeScript

/**
* Database Connection Pool
* @author Descomplicar® | @link descomplicar.pt | @copyright 2026
*/
import mysql from 'mysql2/promise'
// Database configuration
const config = {
host: process.env.DB_HOST || 'localhost',
user: process.env.DB_USER || 'ealmeida_desk24',
password: process.env.DB_PASS || '9qPRdCGGqM4o',
database: process.env.DB_NAME || 'ealmeida_desk24',
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0,
charset: 'utf8mb4'
}
// Create connection pool
const pool = mysql.createPool(config)
// Test connection
pool.getConnection()
.then(conn => {
console.log('✅ MySQL connected')
conn.release()
})
.catch(err => {
console.error('❌ MySQL connection error:', err.message)
})
export default pool