Skip to content

Mejoras de Filtros #8

@gastonpereyra

Description

@gastonpereyra

Mejorar Filtros

Los filter value mappers son una gran ayuda pero todavía pueden ser mejores y algunos en particular son hasta casi necesarios, seguramente haya muchos más de los que voy a listar.
La razón por la que no son un ticket (por ahora) es para recopilar la información necesaria hasta poder organizarnos.

Greater/Lesser

Los filtros de "mayor que" y "menor que", hoy talvés no sean de los más usados y por eso no fueron modificados aun, pero esta bueno anticipar posibles problemas.

Uso Actual

Se usan a través del customValueMapper("greater") o customValueMapper("lesser"), esto parecería no ser un gran problema

Problema

Que a pesar de lo anterior, hay que convertir el valor a Númerico y eso no se esta contemplando, por lo que a términos no debería estar funcionando, o se tendria que estar agregando código extra en las APIs.

Solución

Crear greaterMapper / lesserMapper donde incluya el parsea a datos númericos, asi su usa se simplifica aún más.

Dudas

Todo esto funciona si el filtro es simple, osea envian un solo valor, si envian más de uno, Mongodb no va retornar nada, es raro de todas formas que se quisiera mandar un array para estos filtros, pero si pasa estaría bueno tomar alguna decisión que vaya desde:

  • Enviar un error (400)
  • Mantener el comportamiento de Mongodb
  • Elegir un número del array (el más grande o el más chico, o etc) , algo que aumente la experiencia de usuario, o corresponda.

Otros

Con el resto de filtros disponibles también deberias al menos chequearlos a ver si hay más de este tipo de cuestiones, o si se puede agregar algo más.

Por ejemplo en el customValueMapper se podría pasar no solo el tipo de filtro, sino además una función custom que modifque los valores antes de armar el "filtro"

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions