run<Z extends DataClass> method
Future<void>
run<Z extends DataClass>(
- DataOperation operation,
- String route, {
- Map<
String, dynamic> ? query, - Z? model,
- required dynamic then(
- DataWaiter<
Z>
- DataWaiter<
Implementation
Future<void> run<Z extends DataClass>(DataOperation operation, String route,
{Map<String, dynamic>? query,
Z? model,
required Function(DataWaiter<Z>) then}) async {
try {
switch (operation) {
case DataOperation.GET:
var r = await fetcher.get<Z>(route, query ?? {});
then.call(r);
break;
case DataOperation.ADD:
if (model != null) {
var r = await fetcher.add<Z>(route, model);
then.call(r);
}
break;
case DataOperation.UPDATE:
if (model != null) {
var r = await fetcher.update<Z>(route, model);
then.call(r);
}
break;
case DataOperation.REMOVE:
var r =
await fetcher.remove<Z>(route, data: model, query: query ?? {});
then.call(r);
break;
}
} catch (e) {
_failLoading();
_logError(e, 'run method');
} finally {
notifyListeners();
}
}