delete<TModel extends TRepositoryModel>  method 
      
  
Future<bool> 
delete<TModel extends TRepositoryModel>( 
    
- TModel instance, {
- OfflineFirstDeletePolicy policy = OfflineFirstDeletePolicy.optimisticLocal,
- Query? query,
inherited
    Remove a model from SQLite and the remoteProvider
Implementation
@override
Future<bool> delete<TModel extends TRepositoryModel>(
  TModel instance, {
  OfflineFirstDeletePolicy policy = OfflineFirstDeletePolicy.optimisticLocal,
  Query? query,
}) async {
  final withPolicy = applyPolicyToQuery(query, delete: policy);
  query = (withPolicy ?? const Query()).copyWith(action: QueryAction.delete);
  logger.finest('#delete: $query');
  final optimisticLocal = policy == OfflineFirstDeletePolicy.optimisticLocal;
  final requireRemote = policy == OfflineFirstDeletePolicy.requireRemote;
  var rowsDeleted = 0;
  if (optimisticLocal) {
    rowsDeleted = await _deleteLocal<TModel>(instance, query: query);
    await notifySubscriptionsWithLocalData<TModel>();
  }
  try {
    await remoteProvider.delete<TModel>(instance, query: query, repository: this);
    if (requireRemote) {
      rowsDeleted = await _deleteLocal<TModel>(instance, query: query);
      await notifySubscriptionsWithLocalData<TModel>();
    }
  } on ClientException catch (e) {
    logger.warning('#delete client failure: $e');
    if (requireRemote) rethrow;
  } on SocketException catch (e) {
    logger.warning('#delete socket failure: $e');
    if (requireRemote) rethrow;
  }
  // ignore: unawaited_futures
  if (autoHydrate) hydrate<TModel>(query: query);
  return rowsDeleted > 0;
}