feat: adicionar 5 novos painéis ao dashboard (MCPs, n8n, Paperclip, IA, Operações)
Expansão do dashboard de 3 para 8 páginas com dados reais do stack: - MCPs: monitorização de 33 MCPs no gateway com ping e estado online/offline - n8n: 14 workflows com último run, duração e falhas 24h - Paperclip: 16 agentes operacionais, routines e issues (PostgreSQL) - IA/Claude: visão das 3 camadas (189 skills, 72 agents, 39 MCPs, CARL) - Operações: tickets Desk CRM por departamento + cobertura PROCs 16 ficheiros novos (3042 linhas), 3 existentes editados. Nova dependência: pg (PostgreSQL client para Paperclip). Audit: 0 vulnerabilidades (npm audit fix aplicado). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* Paperclip PostgreSQL Connection Pool
|
||||
* @author Descomplicar® | @link descomplicar.pt | @copyright 2026
|
||||
*/
|
||||
import 'dotenv/config'
|
||||
import pg from 'pg'
|
||||
|
||||
const { Pool } = pg
|
||||
|
||||
// Validação de credenciais — sem elas, pool não é criado (fallback gracioso)
|
||||
const user = process.env.PAPERCLIP_DB_USER
|
||||
const password = process.env.PAPERCLIP_DB_PASS
|
||||
|
||||
if (!user || !password) {
|
||||
console.warn(
|
||||
'[paperclip-db] PAPERCLIP_DB_USER ou PAPERCLIP_DB_PASS não definidos — ' +
|
||||
'pool PostgreSQL não será criado. A página Paperclip usará dados de fallback.'
|
||||
)
|
||||
}
|
||||
|
||||
// Configuração do pool PostgreSQL
|
||||
const pool: pg.Pool | null = (user && password)
|
||||
? new Pool({
|
||||
host: process.env.PAPERCLIP_DB_HOST || 'clip.descomplicar.pt',
|
||||
port: parseInt(process.env.PAPERCLIP_DB_PORT || '54329', 10),
|
||||
database: process.env.PAPERCLIP_DB_NAME || 'paperclip',
|
||||
user,
|
||||
password,
|
||||
max: 5,
|
||||
idleTimeoutMillis: 30000,
|
||||
connectionTimeoutMillis: 10000,
|
||||
})
|
||||
: null
|
||||
|
||||
// Teste de conexão (apenas se pool configurado)
|
||||
if (pool) {
|
||||
pool.connect()
|
||||
.then(client => {
|
||||
console.log('[paperclip-db] PostgreSQL conectado com sucesso')
|
||||
client.release()
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('[paperclip-db] Erro ao conectar ao PostgreSQL:', err.message)
|
||||
})
|
||||
}
|
||||
|
||||
export default pool
|
||||
Reference in New Issue
Block a user