12f688ff7c
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>
29 lines
843 B
TypeScript
29 lines
843 B
TypeScript
/**
|
|
* Paperclip Router — GET /api/paperclip
|
|
* @author Descomplicar® | @link descomplicar.pt | @copyright 2026
|
|
*/
|
|
import { Router, Request, Response } from 'express'
|
|
import { getPaperclipDashboard } from '../services/paperclip.js'
|
|
|
|
const router = Router()
|
|
|
|
/**
|
|
* GET /api/paperclip
|
|
* Retorna dados dos agentes, routines e issues do Paperclip.
|
|
* Se a BD não estiver configurada ou acessível, retorna dados de fallback (zeros) sem erro 500.
|
|
*/
|
|
router.get('/', async (_req: Request, res: Response) => {
|
|
try {
|
|
const data = await getPaperclipDashboard()
|
|
res.json(data)
|
|
} catch (err) {
|
|
console.error('[route/paperclip] Erro inesperado:', (err as Error).message)
|
|
res.status(500).json({
|
|
error: 'Erro interno ao obter dados do Paperclip',
|
|
message: (err as Error).message,
|
|
})
|
|
}
|
|
})
|
|
|
|
export default router
|