ahumadamob / 2024_gc_p3_g6_sf

Carrito de Compras
0 stars 0 forks source link

Implementar endpoint para marcar un producto como "descontinuado" #57

Closed ahumadamob closed 1 week ago

ahumadamob commented 1 month ago

Issue Title: Implementar endpoint para marcar un producto como "descontinuado"

Descripción:
Desarrollar un nuevo endpoint que permita marcar un producto como descontinuado. Acepta el id del producto en la URL y un objeto que contenga un motivo de descontinuación. Esto puede ser útil para mantener el registro de productos que ya no están disponibles.

Tareas a realizar:

  1. Crear el endpoint en el controlador:

    • Desarrollar un método en ProductoController para manejar las solicitudes POST al endpoint /productos/{id}/descontinuar.
  2. Definir el cuerpo de la solicitud:

    • Crear una clase DTO que contenga el campo motivo para la descontinuación del producto.
  3. Implementar el servicio:

    • Crear un método en IProductoService que marque el producto como descontinuado si existe y registre el motivo de la descontinuación. Esto podría implicar actualizar un campo en la entidad Producto.
  4. Actualizar el repositorio si es necesario:

    • Asegurarse de que el repositorio ProductoRepository tenga un método adecuado para actualizar el estado del producto y registrar el motivo de la descontinuación.
  5. Pruebas del endpoint:

    • Probar que el endpoint funcione correctamente utilizando herramientas como Postman. Verificar que:
      • Se marque correctamente un producto como descontinuado.
      • Se registre el motivo de descontinuación.
      • Devuelva un error si el producto no existe.
  6. Documentación:

    • Actualizar la documentación de la API para incluir el nuevo endpoint /productos/{id}/descontinuar, describiendo su funcionalidad y los parámetros de entrada.

Criterios de aceptación: