Los endpoints bajoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/camiloivcode/biblioteca-la-palabra/llms.txt
Use this file to discover all available pages before exploring further.
/api/materiales gestionan el catálogo completo de la biblioteca: libros, revistas, DVDs, periódicos y otros materiales. Todas las operaciones requieren autenticación y se ejecutan transaccionalmente junto con los modelos relacionados de autor y categoría.
Todas las rutas de este recurso requieren autenticación mediante Bearer token. Incluye la cabecera
Authorization: Bearer <token> en cada solicitud. Las peticiones sin token o con token inválido recibirán una respuesta 401 Unauthorized.GET /api/materiales
Devuelve una lista paginada de materiales del catálogo. Soporta filtros combinables por tipo, estado, autor y categoría, además de búsqueda de texto libre que coincide contratitulo, isbn y editorial. Los resultados se ordenan alfabéticamente por titulo.
Query Parameters
Número de página a recuperar. La primera página es
1.Cantidad de registros por página.
Texto libre. Busca coincidencias parciales en los campos
titulo, isbn y editorial simultáneamente.Filtra por tipo de material. Valores aceptados:
LIBRO, REVISTA, DVD, PERIODICO, OTRO.Filtra por estado del material. Valores aceptados:
DISPONIBLE, PRESTADO, EN_REPARACION, DADO_DE_BAJA.Filtra todos los materiales asociados a un autor específico por su ID numérico.
Filtra todos los materiales pertenecientes a una categoría específica por su ID numérico.
Response
GET /api/materiales/:id
Devuelve el detalle completo de un material por su ID. Incluye el objetoautor completo, el objeto categoria completo y la lista de préstamos con estado ACTIVO con los datos del socio que los tiene.
Path Parameters
ID numérico único del material.
Response
404 Not Found si el ID no corresponde a ningún material registrado.
POST /api/materiales
Registra un nuevo material en el catálogo. Los campostitulo, tipo, autorId y categoriaId son obligatorios. Si se proporciona un isbn, debe ser único en el sistema.
Body Parameters
Título completo del material. No puede estar vacío. Se recorta de espacios en los extremos.
Tipo de material. Debe ser exactamente uno de:
LIBRO, REVISTA, DVD, PERIODICO, OTRO.ID numérico del autor existente en el sistema. Debe ser un entero mayor o igual a
1.ID numérico de la categoría existente en el sistema. Debe ser un entero mayor o igual a
1.Código ISBN del material. Opcional, pero si se envía debe ser único en todo el catálogo.
Año de publicación. Debe ser un entero entre
1000 y el año en curso (inclusive).Nombre de la editorial o casa publicadora.
Descripción o sinopsis del material.
Número de ejemplares disponibles. Debe ser un entero mayor o igual a
1. Si se omite, el sistema aplica el valor por defecto del esquema de base de datos.Response 201 Created
Error Responses
| Código | Motivo |
|---|---|
400 Bad Request | Falta un campo requerido o algún valor no pasa la validación (p. ej., tipo inválido, stock menor a 1). |
409 Conflict | El isbn proporcionado ya está registrado en el catálogo. |
PUT /api/materiales/:id
Actualiza uno o más campos de un material existente. Todos los campos del cuerpo son opcionales; sólo se modifican los que se envíen.Path Parameters
ID numérico del material a actualizar.
Body Parameters
Nuevo título del material.
Nuevo tipo. Debe ser uno de:
LIBRO, REVISTA, DVD, PERIODICO, OTRO.ID del nuevo autor asociado. Debe ser un entero mayor o igual a
1.ID de la nueva categoría asociada. Debe ser un entero mayor o igual a
1.Nuevo ISBN. Debe ser único en el catálogo si se modifica.
Nuevo año de publicación. Debe ser un entero entre
1000 y el año en curso.Nueva editorial.
Nueva descripción o sinopsis.
Nuevo valor de stock. Debe ser un entero mayor o igual a
1.Response
404 Not Found si el ID no existe.
DELETE /api/materiales/:id
Elimina permanentemente un material del catálogo. La operación falla con409 Conflict si el material tiene préstamos con estado ACTIVO en ese momento.
Path Parameters
ID numérico del material a eliminar.
Response
Error Responses
| Código | Motivo |
|---|---|
404 Not Found | El ID no corresponde a ningún material registrado. |
409 Conflict | El material tiene uno o más préstamos con estado ACTIVO. Registra la devolución antes de eliminar. |