repository = $repository; $this->summit_repository = $summit_repository; $this->service = $service; } /** * @inheritDoc */ protected function getSummitRepository(): ISummitRepository { return $this->summit_repository; } /** * @inheritDoc */ function getUpdateValidationRules(array $payload): array { return [ 'email_template_identifier' => 'sometimes|required|string', ]; } /** * @inheritDoc */ protected function updateChild(Summit $summit, int $child_id, array $payload): IEntity { return $this->service->updateEmailEventFlow($summit, $child_id, $payload); } /** * @inheritDoc */ protected function getChildFromSummit(Summit $summit, $child_id): ?IEntity { return $summit->getEmailEventById($child_id); } /** * @return array */ protected function getFilterRules():array { return [ 'email_template_identifier' => ['=@', '=='], 'event_type_name' => ['=@', '=='], 'flow_name' => ['=@', '=='], ]; } /** * @return array */ protected function getFilterValidatorRules():array{ return [ 'email_template_identifier' => 'sometimes|required|string', 'event_type_name' => 'sometimes|required|string', 'flow_name' => 'sometimes|required|string', ]; } /** * @return array */ protected function getOrderRules():array{ return [ 'id', 'email_template_identifier', ]; } /** * @param Summit $summit * @param $child_id * @throws \models\exceptions\EntityNotFoundException */ protected function deleteChild(Summit $summit, $child_id): void { $this->service->deleteEmailEventFlow($summit, $child_id); } }