Saltar al contenido principal

List company documents

GET 

/company/documents

Obtiene una lista paginada de todos los documentos asociados a la compañía del usuario autenticado.

Flujo de operación:

  1. Autenticación mediante JWT válido con rol gestor o superior
  2. Validación de parámetros de paginación
  3. Filtrado opcional por tipo de documento
  4. Consulta paginada a base de datos (solo última versión de cada documento)
  5. Retorno de documentos con metadatos y rutas de archivos

Requisitos de acceso:

  • Autenticación: Token JWT válido (Bearer token)
  • Rol mínimo: Gestor de compañía (isGestor)
  • Permisos: Acceso solo a documentos de la propia compañía

Casos de uso típicos:

  • Consultar facturas y contratos de la empresa
  • Filtrar documentos por categoría (documentType)
  • Revisar estado de aprobación de documentos pendientes
  • Acceder a historial de versiones recientes

Estados de documento:

  • pending: Pendiente de revisión por administración
  • approved: Aprobado y disponible para uso
  • rejected: Rechazado con motivo especificado

Consideraciones importantes:

  • Solo devuelve la última versión de cada documento (excluye versiones obsoletas con newVersion: null)
  • Todos los timestamps están en formato UTC
  • Máximo 100 documentos por página
  • Ordenación por fecha de creación descendente (más recientes primero)
  • Los archivos se almacenan en S3/MinIO con rutas relativas en filePaths

Ejemplo de solicitud:

GET /company/documents?page=1&limit=25&documentType=648ac82b769e704acd2c73f5
Authorization: Bearer {token}

Ejemplo de respuesta exitosa:

{
"docs": [
{
"_id": "5f8d3b7a9c2d1e0f4a6b5c4d",
"name": "Factura Q1 2023",
"status": "approved",
"documentType": "5f8d3b7a9c2d1e0f4a6b5c4e",
"version": 1,
"filePaths": ["documents/company1/factura_q1.pdf"],
"createdAt": "2023-04-15T09:30:00.000Z",
"updatedAt": "2023-04-20T14:15:00.000Z"
}
],
"totalDocs": 15,
"limit": 10,
"page": 1,
"totalPages": 2
}

Request

Responses

Lista de documentos obtenida exitosamente