modify method
Modifies a resource.
Implementation
@override
Future<Map<String, dynamic>> modify(String? id, Map<String, dynamic> data,
[Map<String, dynamic>? params]) {
//if (data is! Map) {
// throw AngelHttpException.badRequest(
// message:
// 'MapService does not support `modify` with ${data.runtimeType}.');
//}
if (!items.any(_matchesId(id))) return create(data, params);
return read(id).then((item) {
var idx = items.indexOf(item);
if (idx < 0) return create(data, params);
var result = Map<String, dynamic>.from(item)..addAll(data);
if (autoIdAndDateFields == true) {
result[autoSnakeCaseNames == false ? 'updatedAt' : 'updated_at'] =
DateTime.now().toIso8601String();
}
return Future.value(items[idx] = result);
});
}