Open
Conversation
GonzaFran
requested changes
Apr 11, 2024
Contributor
GonzaFran
left a comment
There was a problem hiding this comment.
@WilliamSaya-lvl30 se dejan comentarios sobre las validaciones
lib/request.js
Outdated
| if (!url || !isString(url)) throw new Error('url is not valid'); | ||
|
|
||
| const validHeaders = headers && isObject(headers); | ||
| const validBegin = progress && isFunction(begin); |
Contributor
There was a problem hiding this comment.
@WilliamSaya-lvl30 revisate que acá estas validando progress cuando debería ser begin && isFunction(begin)
| RNFS.downloadFile({ | ||
| fromUrl: url, | ||
| toFile: `${folderPath}/${fileName}`, | ||
| ...(validHeaders && {headers}), |
Contributor
There was a problem hiding this comment.
@WilliamSaya-lvl30 acá no se tendrían que usar los mismos headers que en las demás request?
Author
There was a problem hiding this comment.
@GonzaFran para lo que se utiliza no suele requerir headers, se agrego esa validación solo para cubrir hipoteticos casos futuros.
lib/request.js
Outdated
| !isObject(downloadRes) || | ||
| !downloadRes || | ||
| downloadRes.bytesWritten === 0 || | ||
| downloadRes.statusCode === 403 |
Contributor
There was a problem hiding this comment.
@WilliamSaya-lvl30 esta validación no convendría que verfique si el statuscode es diferente a 200?
GonzaFran
approved these changes
Apr 11, 2024
GonzaFran
approved these changes
Apr 15, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LINK DE TICKET:
https://janiscommerce.atlassian.net/browse/APPSRN-291
DESCRIPCIÓN DEL REQUERIMIENTO:
CONTEXTO
Se ha identificado que varias funcionalidades de las apps de janis, requieren descargar archivos desde diferentes fuentes externas. Actualmente, esta funcionalidad se implementa repetidamente en cada uno de los repositorios de las aplicaciones, lo que resulta en una duplicación significativa de código y aumenta la complejidad del mantenimiento.
NECESIDAD
Para mejorar la eficiencia del desarrollo y facilitar el mantenimiento a largo plazo de las aplicaciones, es fundamental centralizar la lógica para descargar archivos en un único lugar. Al implementar un nuevo método llamado downloadFile en el paquete @janiscommerce/app-request, podemos consolidar esta funcionalidad común en una única función reutilizable. Esto no solo reduce la duplicación de código en los diferentes repositorios de las aplicaciones, sino que también nos permite actualizar y mejorar la lógica de descarga de archivos de manera centralizada. Además, al utilizar un paquete compartido, podemos garantizar la coherencia en la implementación de la descarga de archivos en todas las aplicaciones de Janis. Esto proporciona un enfoque más eficiente y sostenible para el desarrollo de nuevas características y la resolución de problemas relacionados con la descarga de archivos en el futuro.
Acceptance criteria
DESCRIPCIÓN DE LA SOLUCIÓN:
Se utiliza la libreria para realizar las descargas react-native-fs
Se agrego como peerDependencies junto a react-native.
Se creo el metodo downloadFile que recibe como parámetros obligatorios fileName, folderPath y url, este metodo se encargara de hacer la descarga solamente y retornar la respuesta del package.
Se agrego la función isFunction en helpers.
CÓMO SE PUEDE PROBAR?
Para linkear el componente con un proyecto, seguir la siguiente documentación
https://fizzmod.atlassian.net/wiki/spaces/JAPP/pages/2341765125/C+mo+trabajo+con+el+package+UI
OJO
Tener en cuenta que la respuesta del request.get cambia en la ultima versión, así que hay que en las apps que no tengan ese cambio implementado va a romper en todos los metodos GET. Ajustas estos metodos para las pruebas.
Para probar se puede importar en la Home la instancia de reques y el package RNFS
Ingresar este codigo en algun useeffect de la home.
En el console.log podremos ver una rspuesta como esta, corroborando la cantidad de bytes descargados
CHANGELOG