obtenerData<T extends ColeccionBase> method
Future<Map<String, dynamic> >
obtenerData<T extends ColeccionBase>({
- required String coleccion,
- required String consulta,
- required List<
List< argsLocalBD,String> > - required String skip,
- Map<
String, dynamic> ? project, - QueryPropertiesWrapper<
T> ? queryPropertiesWrapper, - List<
String> ? union, - bool? obtieneEsquema,
- String? concatenar,
- String? ordenar,
- String? limit,
- ModeToWork? modeToWork,
Funcion Utilizada para Obtener datos
ModeToWork este parametro es opcional y se lo utiliza para forzar un estado
offline o online
Estructura de respuesta ok
{
'data':[...],
'totalItems': 0,
}
data es un List<Map<String, dynamic>> con los datos obtenidos
cada objeto dentro de la lista tiene el siguiente formato:
{
'idServer': 'idServer',
'idMobile': 'idMobile',
'eTransfer': 'eTransfer',
'creadoEl': 'creadoEl',
'estado': 'estado',
'coleccion': 'coleccion',
'data': {...},
'dataOriginal': '{...}',
'idAuth': 'idAuth',
'coleccionAuth': 'coleccionAuth',
}
totalItems es un int con la cantidad de registros
Implementation
Future<Map<String, dynamic>> obtenerData<T extends ColeccionBase>(
{required String coleccion,
required String consulta,
required List<List<String>> argsLocalBD,
required String skip,
Map<String, dynamic>? project,
QueryPropertiesWrapper<T>? queryPropertiesWrapper,
List<String>? union,
bool? obtieneEsquema,
String? concatenar,
String? ordenar,
String? limit,
ModeToWork? modeToWork}) async {
final response = await apiRest.obtener<T>(
coleccion: coleccion,
consulta: consulta,
argsLocalBD: argsLocalBD,
project: project,
queryPropertiesWrapper: queryPropertiesWrapper,
ordenar: ordenar,
union: union,
concatenar: concatenar,
limit: limit ?? '25',
skip: skip);
if (response.containsKey(EnvironmentApiRest.dataNOk)) {
return response;
}
final List<Map<String, dynamic>> lstData = [];
if (response.containsKey(EnvironmentApiRest.dataOk) &&
response[EnvironmentApiRest.data].isNotEmpty) {
// Map<String, dynamic>? jsonEsquema;
// if (obtieneEsquema ?? false) {
// jsonEsquema = await apiRest.obtieneEsquema(
// valor: coleccion, modeToWork: modeToWork ?? apiRest.modeToWork);
// }
for (final item in response[EnvironmentApiRest.data]) {
lstData.add(await obtieneData<T>(
item,
// jsonEsquema, modeToWork ?? apiRest.modeToWork
));
}
}
return {
EnvironmentApiRest.data: lstData,
EnvironmentApiRest.totalItems:
response[EnvironmentApiRest.totalItems] ?? 0,
};
}