create method

  1. @override
Future<Data> create(
  1. Data data, [
  2. Map<String, dynamic>? _params
])
override

Creates a resource.

Implementation

@override
Future<Data> create(Data data, [Map<String, dynamic>? _params]) {
  var params = _stripReq(_params);
  return beforeCreated
      ._emit(HookedServiceEvent(false, _getRequest(_params),
          _getResponse(_params), inner, HookedServiceEvent.created,
          data: data, params: params))
      .then((before) {
    if (before._canceled) {
      return afterCreated
          ._emit(HookedServiceEvent(true, _getRequest(_params),
              _getResponse(_params), inner, HookedServiceEvent.created,
              data: before.data, params: params, result: before.result))
          .then((after) => after.result as Data);
    }

    return inner.create(before.data!, params).then((result) {
      return afterCreated
          ._emit(HookedServiceEvent(true, _getRequest(_params),
              _getResponse(_params), inner, HookedServiceEvent.created,
              data: before.data, params: params, result: result))
          .then((after) => after.result as Data);
    });
  });
}