establecerParametrosConsulta method
Future<({List<List<String> > argsLocalBD, int limit, PaginadoModel paginacionModel, Map<String, dynamic> params, int skipActual})>
establecerParametrosConsulta({})
Implementation
Future<
({
Map<String, dynamic> params,
int limit,
PaginadoModel paginacionModel,
int skipActual,
List<List<String>> argsLocalBD,
})>
establecerParametrosConsulta(
{required Map<String, dynamic> esquema,
required Map<String, dynamic> paramsConsulta,
required AvanPage avanPage,
required PaginadoModel paginado,
required bool soloColeccionesOrigen,
required OperadorLogicoMongo operador,
bool propertyInArrayObject = false,
String origenColeccion = ''}) async {
Map<String, dynamic> paramEvent = {
...paramsConsulta,
if (soloColeccionesOrigen)
EnvironmentApiRest.coleccionAuth: origenColeccion
};
final limit = int.tryParse('${paramEvent['limit']}') ?? 25;
final skip = int.tryParse('${paramEvent['skip']}') ?? paginado.skip;
final totalItems =
int.tryParse('${paramEvent['totalItems']}') ?? paginado.totalItems;
paramEvent.removeWhere(
(key, value) => key == 'limit' || key == 'skip' || key == 'totalItems');
final Map<String, dynamic> params = {
...await _procesaParametrosConsulta(
operador: operador,
params: {...paramEvent},
esquema: esquema,
propertyInArrayObject: propertyInArrayObject)
};
final skipActual = FlutterUtilsProvider.determinaSkipActual(
avanPage: avanPage,
skipActual: skip,
limit: limit,
totalItems: totalItems);
final List<List<String>> argsLocalBD = params['argsLocalBD'];
return (
params: params,
limit: limit,
paginacionModel: paginado,
skipActual: skipActual,
argsLocalBD: argsLocalBD
);
}