validateEvent function

HookedServiceEventListener<dynamic, dynamic, Service<Never, Never>> validateEvent(
  1. Validator validator, {
  2. String errorMessage = 'Invalid data.',
})

Validates the data in e.data, and sets the data to filtered data before continuing the service event.

Implementation

HookedServiceEventListener validateEvent(
  Validator validator, {
  String errorMessage = 'Invalid data.',
}) {
  return (HookedServiceEvent e) async {
    var app = e.request?.app ?? e.service.app;
    var result = await asyncApplyValidator(validator, e.data as Map, app);

    if (result.errors.isNotEmpty) {
      throw AngelHttpException.badRequest(
        message: errorMessage,
        errors: result.errors,
      );
    }

    e.data
      ..clear()
      ..addAll(result.data);
  };
}