delete method

  1. @protected
  2. @visibleForTesting
Future<void> delete(
  1. dynamic model, {
  2. bool? remote,
  3. Map<String, dynamic>? params,
  4. Map<String, String>? headers,
  5. OnData<void>? onSuccess,
  6. OnDataError<void>? onError,
})
inherited

Implementation

@protected
@visibleForTesting
Future<void> delete(
  dynamic model, {
  bool? remote,
  Map<String, dynamic>? params,
  Map<String, String>? headers,
  OnData<void>? onSuccess,
  OnDataError<void>? onError,
}) async {
  _assertInit();
  remote ??= _remote;

  params = await defaultParams & params;
  headers = await defaultHeaders & headers;

  final id = _resolveId(model);
  final key = _keyForModel(model);

  if (key != null) {
    await localAdapter.delete(key);
  }

  if (remote) {
    return await sendRequest(
      baseUrl.asUri / urlForDelete(id, params) & params,
      method: methodForDelete(id, params),
      headers: headers,
      requestType: DataRequestType.delete,
      key: StringUtils.typify(internalType, id),
      onSuccess: onSuccess,
      onError: onError,
    );
  }
}