update method

Future<M> update(
  1. String id, {
  2. Map<String, dynamic> body = const {},
  3. Map<String, dynamic> query = const {},
  4. List<MultipartFile> files = const [],
  5. Map<String, String> headers = const {},
  6. String? expand,
  7. String? fields,
})

Updates an single item by its id.

Implementation

Future<M> update(
  String id, {
  Map<String, dynamic> body = const {},
  Map<String, dynamic> query = const {},
  List<http.MultipartFile> files = const [],
  Map<String, String> headers = const {},
  String? expand,
  String? fields,
}) {
  final enrichedQuery = Map<String, dynamic>.of(query);
  enrichedQuery["expand"] ??= expand;
  enrichedQuery["fields"] ??= fields;

  return client
      .send(
        "$baseCrudPath/${Uri.encodeComponent(id)}",
        method: "PATCH",
        body: body,
        query: enrichedQuery,
        files: files,
        headers: headers,
      )
      .then((data) => itemFactoryFunc(data as Map<String, dynamic>? ?? {}));
}