modify method
Modifies a resource.
Implementation
@override
Future<Data> modify(Id id, Data data, [Map<String, dynamic>? params]) {
var localParams = _stripReq(params);
return beforeModified
._emit(HookedServiceEvent(false, _getRequest(params),
_getResponse(params), inner, HookedServiceEvent.modified,
id: id, data: data, params: localParams))
.then((before) {
if (before._canceled) {
return afterModified
._emit(HookedServiceEvent(true, _getRequest(params),
_getResponse(params), inner, HookedServiceEvent.modified,
id: id,
data: before.data,
params: localParams,
result: before.result))
.then((after) => after.result as Data);
}
return inner.modify(id, before.data!, localParams).then((result) {
return afterModified
._emit(HookedServiceEvent(true, _getRequest(params),
_getResponse(params), inner, HookedServiceEvent.created,
id: id, data: before.data, params: localParams, result: result))
.then((after) => after.result as Data);
});
});
}