Closed edwargl7 closed 2 weeks ago
Se agrega el manejo de errores para la función build_url:
Se agrega el manejo de errores para la función parse_value:
Se inicia con la revision y prueba del manejo de los registros por fila y acumulandolos:
Se realizan ajustes en el código para capturar los errores en cada función usando tuplas.
Columnas faltantes en el archivo xlsx, se devuelve un error donde se indica la columna faltante:
Error del archivo base 64 enviado:
Error al intentar ajustar el tipo de dato en la función parse_value:
Se envía un campo requerido vacío y se muestra la columna y el indice del dato:
Se envía un registro sin errores para verificar la respuesta:
Ejemplo para datos complementarios (subtarea 3):
{
"service":"Usuario",
"endpoint":"/periodos",
"complement"; {
"plan_auditoria_id": 18
},
"structure":{
"FechaFin":{
"posicion":0,
"required":true
},
"FechaInicio":{
"posicion":1
},
"Finalizado":{
"posicion":2,
"parse":"booleano",
"required":true
},
"RolId.Id":{
"posicion":3,
"parse":"int"
},
"UsuarioId.Id":{
"posicion":4,
"parse":"int"
}
}
}
Estructura de mapeo:
"mapping": {
"Admin": 1,
"Auditor Experto": 2,
"Auditor": 3
}
Se agrega al código la funcionalidad de realizar el mapping cargado en la estructura para tomar los valores cuando se envíen para este caso los roles en texto desde el archivo
Se envía el archivo con los datos de prueba y se agrega a la estructura el rol en texto y su respectivo id, se obtiene la respuesta con los registros correctos:
Se crea la función add_complement donde se realiza la actualización del payload:
Se agrega a la estructura json el complement:
Se muestra el payload inicial y la actualización con el complement:
Se agrega la funcionalidad de tomar los encabezados de unas columnas especificas si las celdas no están vacías, estos datos se agregan a un array que adiciona al payload para ser enviado al endpoint posteriormente:
Se ajusta el código de validación de las columnas entre la estructura y el archivo para que tome en cuenta las columnas agrupadas en la estructura:
Validación con datos de prueba:
Se envían campos vacíos y con diferentes valores para validar el funcionamiento:
Se envía la estructura con los campos agrupados del cronograma:
Se agrega correctamente al payload los datos necesarios según el archivo enviado:
Se debe realizar un ajuste para las celdas que tienen un espacio ya que las toma como celdas no vacías. También falta ajustar los nombres de las variables y revisar logs del código.
Muy buen trabajo, dado que no se realizó el despliegue por reagendamiento se cubre la implementación del manejo de arrays adicionalmente al alcance inicial de la tarea. Se deben realizar ajustar para no contar con la key especifica de cronograma_ids. Y ajuste en el nombre de la key nombre_columnas. Para mantener formato similar en la estructura, y un mismo idioma en la parametrización.
Se requiere realizar el manejo de excepciones en cada función implementada en el microservicio cargue_archivo_mid_serverless de tal forma que los errores que actualmente se imprimen puedan ser retornados en el body de la respuesta.
Se puede complementar cada función retornando una tupla de valores (valor actual, error) y según cada tipo de excepción (critica que finaliza el proceso o error en cada fila que se debe agrupar para responder al final del proceso, por ejemplo, datos incompletos en la fila) se debe manejar para retornar dicha respuesta.
Definición respuesta Actualmente retorna, Se puede complementar con:
Ejemplos:
Sub Tareas
Criterios de aceptación
Requerimientos
No aplica
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo