Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EP - Muestra el numero total de fichas filtradas por el buscador #1668

Closed
wants to merge 1 commit into from

Conversation

negro89
Copy link
Contributor

@negro89 negro89 commented Feb 23, 2022

Requerimiento

https://proyectos.andes.gob.ar/browse/EP-184

Funcionalidad desarrollada

  1. nueva ruta que implementa search que retorna detalles de paginacion y total

UserStories llegó a completarse

  • Si
  • No

Requiere actualizaciones en la base de datos

  • Si
  • No

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 5978
CYPRESS RUN: 4894
TEST START: 2022-02-23T17:49:40.600Z
TOTAL: 406
SUCCESS: 403
FAIL: 2
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 5980
CYPRESS RUN: 4896
TEST START: 2022-02-23T18:47:51.656Z
TOTAL: 406
SUCCESS: 380
FAIL: 25
SKIPPED: 1

Object.keys(options).map(opt => delete conditions[opt]);
const [results, total] = await Promise.all([
SeguimientoPacienteCtr.search(conditions, options),
SeguimientoPacienteCtr.search(conditions)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recomiendo utilizar el metodo count de mongo, porque puede llegar a ser muchos resultados.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El inconveniente acá es el filtro por fecha que ya está armado para el recurso. Habría que volverlo a descomponer en dos fechas para poder ejecutarla como query de mongo

Copy link
Contributor

@plammel plammel Apr 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@negro89 Si no entiendo mal el problema con esta solución, es que no solo se anula la ventaja de performance de usar skip & limit, sino que además le agregamos el trabajo de la busqueda total por cada busqueda segmentada (search con skip & limit + search sin opciones de paginación), cuando la motivación de segmentar la query es justamente alivianar y mejorar los tiempos de búsqueda. Una alternativa podría ser dejar la búsqueda de fichas como está actualmente, y por otro lado agregar un nuevo endpoint GET que devuelva la cantidad total de fichas que responden al criterio de búsqueda dado, utilizando, como sugería Mariano, el método count, así se evita traerse todos los registros a la api para contarlos ahi. Adicionalmente, del lado de la app se podría buscar la manera de "cachear" (asi entre comillas jaja), el nro total de registros para un filtro determinado, de manera que no haya necesidad de contar el total registros cada vez que el scroll infinito hace la busqueda de la siguiente paginación (solo volver a calcular el total si se cambia el valor de los filtros).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se hizo una pequeña correccion para corregir la consulta por el total cada vez que se ejecuta ese endpoint.

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 5986
CYPRESS RUN: 4901
TEST START: 2022-02-24T12:33:09.531Z
TOTAL: 406
SUCCESS: 403
FAIL: 2
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 5990
CYPRESS RUN: 4905
TEST START: 2022-02-24T14:45:30.188Z
TOTAL: 406
SUCCESS: 403
FAIL: 2
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 5996
CYPRESS RUN: 4911
TEST START: 2022-02-25T19:16:10.965Z
TOTAL: 406
SUCCESS: 403
FAIL: 2
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 6129
CYPRESS RUN: 5028
TEST START: 2022-03-29T15:47:09.084Z
TOTAL: 406
SUCCESS: 401
FAIL: 4
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 6133
CYPRESS RUN: 5032
TEST START: 2022-03-29T17:52:13.950Z
TOTAL: 406
SUCCESS: 403
FAIL: 2
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 6135
CYPRESS RUN: 5034
TEST START: 2022-03-29T18:29:25.726Z
TOTAL: 363
SUCCESS: 346
FAIL: 16
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 6137
CYPRESS RUN: 5036
TEST START: 2022-03-29T18:53:28.792Z
TOTAL: 355
SUCCESS: 342
FAIL: 12
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 6149
CYPRESS RUN: 5048
TEST START: 2022-03-30T13:59:17.505Z
TOTAL: 406
SUCCESS: 403
FAIL: 2
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 6186
CYPRESS RUN: 5082
TEST START: 2022-04-06T19:15:15.563Z
TOTAL: 406
SUCCESS: 402
FAIL: 3
SKIPPED: 1

@martinebucarey
Copy link
Contributor

USUARIO: lmlagos
BUILD NUMBER: 6188
CYPRESS RUN: 5084
TEST START: 2022-04-06T19:44:20.099Z
TOTAL: 406
SUCCESS: 379
FAIL: 26
SKIPPED: 1

@negro89 negro89 added the En pausa Tiene una dependencia label Apr 7, 2022
@github-actions github-actions bot added the has_conflicts Tiene conlfictos label Apr 13, 2022
@negro89
Copy link
Contributor Author

negro89 commented Apr 20, 2022

Se reemplaza por funcionalidad mas general directamente desde el resourse base andes/api-tools#52

@negro89 negro89 closed this Apr 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
En pausa Tiene una dependencia has_conflicts Tiene conlfictos test fail
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants