import { PrismaClient } from '@prisma/client'; import { generateAccessToken } from '../src/auth/tokens'; import axios from 'axios'; async function main() { const prisma = new PrismaClient(); const user = await prisma.user.findUnique({ where: { email: 'ivan@horuxfin.com' }, include: { platformRoles: true } }); if (!user) { console.log('User not found'); return; } const token = generateAccessToken({ userId: user.id, email: user.email, role: 'contador', tenantId: 'c52c2f5d-b1ae-45c6-8cc8-b11c9611618a', platformRoles: user.platformRoles.map(r => r.role as any), tokenVersion: user.tokenVersion, }); const baseURL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:4000/api'; const headers = { 'X-View-Tenant': 'd75bf020-2008-4881-ab96-77467bf9e1fd' }; const endpoints = [ '/contribuyentes', '/despachos/contribuyentes-stats?año=2026&mes=5', '/despachos/mis-asignados?año=2026&mes=5', '/carteras', '/cfdi', '/tareas', '/alertas', '/documentos', '/impuestos', '/dashboard', '/bancos', '/conciliacion', ]; for (const endpoint of endpoints) { try { const r = await axios.get(`${baseURL}${endpoint}`, { headers: { Authorization: `Bearer ${token}`, ...headers }, timeout: 10000, }); console.log(`${endpoint}: ${r.status} OK`); } catch (e: any) { console.log(`${endpoint}: ${e.response?.status} ${e.response?.data?.message || e.message}`); } } await prisma.$disconnect(); } main().catch(e => { console.error(e); process.exit(1); });