updateCalibre<A extends ArticleRawAbstract> method

  1. @action
Future<CalibreWeebi<A>> updateCalibre<A extends ArticleRawAbstract>(
  1. CalibreWeebi<A> data, {
  2. bool isInternetAvailable = true,
})

if cloud we will try to send the data but if action fail we do not block and persist it in the queue to synced later

Implementation

@action
Future<CalibreWeebi<A>> updateCalibre<A extends ArticleRawAbstract>(
    CalibreWeebi<A> data,
    {bool isInternetAvailable = true}) async {
  await _updateCalibreServer(data, isInternetAvailable);

  final updatedCalibre =
      await _articlesService.updateCalibreRpc.request(data);
  final index =
      calibresFull.indexWhere((element) => element.id == updatedCalibre.id);
  calibresFull.removeAt(index);
  calibresFull.add(updatedCalibre);

  final indexC =
      _calibres.indexWhere((element) => element.id == updatedCalibre.id);

  if (indexC != -1) {
    _calibres.removeAt(indexC);
    _calibres.add(updatedCalibre);
  }

  // would be cleaner to return updatedCalibre but type weird issue guarded in article service unit test
  return data;
}