Skip to content
This repository was archived by the owner on Jun 4, 2025. It is now read-only.

algono-ejercicios-upv/IoT-ToDoListProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Descripción de la API y el código

He creado la API utilizando FastAPI con las siguientes ampliaciones:

  • Extensión de las listas con autores, objetos con sus operaciones CRUD, y que opcionalmente pueden ser añadidos a las listas, permitiendo filtrado de listas por autor.
  • Diferenciación en las listas de compras y trabajos, con endpoints específicos para cada tipo.

Nota: También dejé la versión de Flask sin ampliaciones en la carpeta flask-version-sin-ampliacion. Simplemente tiene el resultado de seguir la práctica, enfocando las ampliaciones en FastAPI.

Endpoints de la API

Endpoints de Listas

Comunes a todas las Listas

  • PUT /listas/{lista_id}: Actualiza el nombre de una lista específica.
  • DELETE /listas/{lista_id}: Elimina una lista específica.
  • GET /listas: Obtiene todas las listas o filtra por tipo (compras o trabajos).

Listas de Compras

  • POST /listas/compras: Crea una nueva lista de compras.
  • GET /listas/compras: Obtiene todas las listas de compras.
  • GET /listas/compras/{lista_id}: Obtiene una lista de compras específica.

Listas de Trabajo

  • POST /listas/trabajos: Crea una nueva lista de trabajo.
  • GET /listas/trabajos: Obtiene todas las listas de trabajo.
  • GET /listas/trabajos/{lista_id}: Obtiene una lista de trabajo específica.
  • PUT /listas/trabajos/{lista_id}: Actualiza el nombre y la fecha límite de una lista de trabajo específica.

Endpoints de Entradas

Entradas Generales

  • POST /listas/{lista_id}/entradas: Añade una nueva entrada a una lista específica.
  • GET /listas/{lista_id}/entradas: Obtiene todas las entradas de una lista específica.
  • GET /listas/{lista_id}/entradas/{entrada_id}: Obtiene una entrada específica de una lista.
  • PUT /listas/{lista_id}/entradas/{entrada_id}: Actualiza el texto de una entrada específica.
  • DELETE /listas/{lista_id}/entradas/{entrada_id}: Elimina una entrada específica.

Entradas en Listas de Compras

  • POST /listas/compras/{lista_id}/entradas: Añade una nueva entrada con cantidad a una lista de compras específica.

Endpoints de Autores

  • POST /autores: Crea un nuevo autor.
  • GET /autores: Obtiene todos los autores.
  • GET /autores/{autor_id}: Obtiene un autor específico.
  • PUT /autores/{autor_id}: Actualiza el nombre de un autor específico.
  • DELETE /autores/{autor_id}: Elimina un autor específico, con opción de eliminar también sus listas (booleano por query parameter)
    • Ejemplo: DELETE /autores/juanID?eliminar_listas=True

Listas por Autor

  • GET /autores/{autor_id}/listas: Obtiene todas las listas asociadas a un autor específico.

About

Practica 1 Asignatura IOT Master MUITSS UPV

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages