userRepository = $userRepository; $this->generalMeetingRepository = $generalMeetingRepository; $this->messageFactory = $messageFactory; $this->slackNotifier = $slackNotifier; $this->urlGenerator = $urlGenerator; } /** * @see Command */ protected function configure() { $this->setName('general-meeting-notification'); } /** * @see Command */ protected function execute(InputInterface $input, OutputInterface $output) { if ($this->generalMeetingRepository->hasGeneralMeetingPlanned()) { $this->slackNotifier->sendMessage($this->messageFactory->createMessageForGeneralMeeting( $this->generalMeetingRepository, $this->userRepository, $this->urlGenerator )); } } }