deleteById method

Future<Result> deleteById(
  1. IDs ids
)

Implementation

Future<Result> deleteById(final IDs ids) async {
  Logger.d('$tableName: Attempting to delete - ${ids.toString()}');
  final localDb = await localRepo();
  try {
    Logger.d('$tableName: Attempting to locally delete - ${ids.toString()}');
    if (includeLocalTransactions) {
      await localDb!.delete(ids);
    }
  } catch (e, st) {
    // TODO put in re-sync queue
    Logger.error(st, e.toString());
  }

  try {
    if (includeRemoteTransactions) {
      Logger.d(
          '$tableName: Attempting to remotely delete - ${ids.toString()}');
      await remoteRepo!.delete(ids);
      Logger.d('$tableName: Successfully deleted remote - ${ids.toString()}');
    }
    return Result.success();
  } catch (e, st) {
    await _saveOutOfSync(
      action: SyncAction.delete,
      ids: ids,
    );
    return _getErrorLog(msg: e.toString(), stacktrace: st);
  } finally {
    // await localDb?.close();
  }
}