Saltearse al contenido

Reportes

Tag: reports
Descripción: Operaciones para generación, consulta y gestión de reportes


  • Descripción: Crea un nuevo reporte en el sistema asociado a un usuario y sucursal
  • Operation ID: ReportsController_create
  • Autenticación requerida: 🔒 Sí (ROLE_REPORT_WRITER)
{
"title": "Reporte Mensual de Ventas",
"reportDate": "2023-05-15",
"pdfUrl": "https://storage.example.com/reports/monthly-sales-202305.pdf",
"userId": 1,
"branchId": 3,
"metadata": {
"period": "monthly",
"format": "pdf",
"pages": 24
}
}
CódigoDescripción
201Reporte creado exitosamente
400Datos de entrada inválidos
401No autorizado
404Usuario o sucursal no encontrado

  • Descripción: Obtiene todos los reportes del sistema con paginación
  • Operation ID: ReportsController_findAll
  • Autenticación requerida: 🔒 Sí (ROLE_REPORT_READER)
ParámetroTipoRequeridoDescripción
pageinteger❌ NoNúmero de página (default: 1)
limitinteger❌ NoLímite por página (default: 10)
branchIdinteger❌ NoFiltrar por ID de sucursal
userIdinteger❌ NoFiltrar por ID de usuario
startDatestring❌ NoFecha inicio (YYYY-MM-DD)
endDatestring❌ NoFecha fin (YYYY-MM-DD)
CódigoDescripción
200Lista de reportes obtenida
401No autorizado

3. Obtener reporte por ID (GET /reports/:id)

Sección titulada «3. Obtener reporte por ID (GET /reports/:id)»
  • Descripción: Obtiene un reporte específico por su ID
  • Operation ID: ReportsController_findOne
  • Autenticación requerida: 🔒 Sí (ROLE_REPORT_READER)
ParámetroTipoDescripción
idintegerID del reporte
CódigoDescripción
200Reporte obtenido exitosamente
401No autorizado
404Reporte no encontrado

4. Descargar reporte PDF (GET /reports/:id/download)

Sección titulada «4. Descargar reporte PDF (GET /reports/:id/download)»
  • Descripción: Descarga el archivo PDF del reporte
  • Operation ID: ReportsController_download
  • Autenticación requerida: 🔒 Sí (ROLE_REPORT_READER)
ParámetroTipoDescripción
idintegerID del reporte
CódigoDescripción
200PDF del reporte
401No autorizado
404Reporte no encontrado

  • Descripción: Actualiza los metadatos de un reporte existente
  • Operation ID: ReportsController_update
  • Autenticación requerida: 🔒 Sí (ROLE_REPORT_ADMIN)
ParámetroTipoDescripción
idintegerID del reporte
{
"title": "Reporte Mensual Actualizado",
"metadata": {
"notes": "Incluye datos de nueva sucursal"
}
}
CódigoDescripción
200Reporte actualizado exitosamente
400Datos de entrada inválidos
401No autorizado
404Reporte no encontrado

  • Descripción: Elimina un reporte (soft delete)
  • Operation ID: ReportsController_remove
  • Autenticación requerida: 🔒 Sí (ROLE_REPORT_ADMIN)
ParámetroTipoDescripción
idintegerID del reporte
CódigoDescripción
200Reporte eliminado exitosamente
401No autorizado
404Reporte no encontrado

MétodoEndpointDescripciónPermiso Requerido
POST/reportsCrear nuevo reporteROLE_REPORT_WRITER
GET/reportsListar reportesROLE_REPORT_READER
GET/reports/:idObtener reporte por IDROLE_REPORT_READER
GET/reports/:id/downloadDescargar PDF del reporteROLE_REPORT_READER
PATCH/reports/:idActualizar reporteROLE_REPORT_ADMIN
DELETE/reports/:idEliminar reporteROLE_REPORT_ADMIN
interface Report {
id: number;
title: string;
reportDate: string; // ISO date
pdfUrl: string;
userId: number;
branchId: number;
externalId: string;
metadata: Record<string, any>;
createdAt: string; // ISO date
updatedAt: string; // ISO date
user?: User; // Populated relation
branch?: Branch; // Populated relation
}
{
"id": 1,
"title": "Reporte Mensual de Ventas",
"reportDate": "2023-05-15T00:00:00.000Z",
"pdfUrl": "https://storage.example.com/reports/monthly-sales-202305.pdf",
"userId": 1,
"branchId": 3,
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"metadata": {
"period": "monthly",
"format": "pdf",
"pages": 24
},
"createdAt": "2023-05-15T10:30:00.000Z",
"updatedAt": "2023-05-15T10:30:00.000Z",
"user": {
"id": 1,
"name": "Admin User"
},
"branch": {
"id": 3,
"name": "Sucursal Centro"
}
}