HU‐B‐11 - shiomar-salazar/MISW-PF-Grupo1-Backend GitHub Wiki

HU-B-11

ID HU-B-11
Nombre Resultados de Alimentación Backend
Descripción Como Administrador de SportApp quiero que la aplicación tenga la capacidad de capturar los resultados de un día de alimentación e ingesta de agua Para que el usuario pueda hacer un seguimiento de su salud y evolución de su estado físico
Puntos 2
Criterios de aceptación El servicio solo debe estar disponible para los usuarios tipo Cliente
El servicio debe recibir el ID del usuario previamente validado desde la capa de interfaz gráfica.
El servicio debe recibir el Token JWT del usuario previamente validado desde la capa de interfaz gráfica.
El servicio debe recibir el ID del día de alimentación planeado al que se le desea agregar un resultado.
El servicio debe recibir el número de calorías consumidas por el usuario previamente validado desde la capa de interfaz gráfica.
El servicio debe recibir la cantidad de agua consumida por el usuario previamente validado desde la capa de interfaz gráfica.
En caso de no existir ID de día de alimentación Planeado, el Servicio debe crearlo con los resultados del día de alimentación previamente validado desde la capa de interfaz gráfica.
En caso de que la autenticación sea correcta, el servicio debe responder con un HTTP Código 200.
En caso de que la Información recibida este incompleta, el servicio debe responder con un HTTP Código 400.
En caso de que la petición venga sin el token de Autorización JWT, el servicio debe responder con un HTTP Código 401.
En caso de que la petición venga de un usuario tipo Proveedor, el servicio debe responder con un HTTP Código 403.
De manera transitoria y hasta que esta Historia de Usuario esté terminada, el servicio debe responder HTTP Código 501.

Actividades

  • Creación del servicio resultados de día de Alimentación.
  • Creación de pruebas Unitarias que prueben el correcto funcionamiento del servicio.
  • Creación de pruebas Unitarias que prueben el el correcto manejo de errores y condiciones límites del servicio.

MockUp de Interfaz Grafica

Dado a este es un servicio de Backend que no está en contacto con el usuario no posee una interfaz de usuario, por esta razón la sección esta vacía.

Ejemplo de Request y Response del servicio

Endpoint https://misw-pf-grupo1-backend-gestor-plan-nutricional-klme3r4qta-uc.a.run.app/nutricion/resultados-alimentacion
Método HTTP POST
Headers 'Authorization': 'Bearer ' + token
Request
					
{
    "calorias_1": "200",
    "calorias_2": "500",
    "calorias_3": "250",
    "ml_agua": "200",
    "fecha": "2024-04-01",
    "id_usuario": "d0d85122-eafd-11ee-a951-0242ac120002"
}
                
				
Response
					
Resultados de alimentación registrados exitosamente
HTTP ResponseCode: 200
{
    "calorias_1": 200,
    "calorias_2": 500,
    "calorias_3": 250,
    "fecha": "2024-04-01",
    "id": "8bb0cd15-e7ee-472e-bd24-e3468f5b7159",
    "id_usuario": "d0d85122-eafd-11ee-a951-0242ac120002",
    "ml_agua": 200
}
----------------------------------------------------------------------------------------------------------------------------------------
Párametros de entrada invalidos
HTTP ResponseCode: 400
{
    "msg": "Párametros de entrada invalidos, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Token no suministrado
HTTP ResponseCode: 401
{
	"msg": "El token es obligatorio, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No autorizado
HTTP ResponseCode: 401
{
	"msg": "El token proporcionado no es valido o esta vencido, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No tiene permisos para realizar la operación
HTTP ResponseCode: 403
{
	"msg": "No esta autorizado para ralizar esta operación, por favor valide con el administrador del sistema."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error consumiendo el servicio de gestor de usuarios
HTTP ResponseCode: 500
{
	"msg": "Error al consumir servicio externo, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error interno
HTTP ResponseCode: 500
{
	"msg": "Error interno, por favor revise los logs."
}
                
				
⚠️ **GitHub.com Fallback** ⚠️