setName(self::COMMAND_NAME) ->setDescription('Delete campaign event logs') ->addArgument( 'campaign_event_ids', InputArgument::IS_ARRAY | InputArgument::OPTIONAL, 'Campaign event ids to delete event logs.' ) ->addOption( '--campaign-id', '-i', InputOption::VALUE_OPTIONAL, 'Delete campaign also otherwise will delete event and event log only.' ); } protected function execute(InputInterface $input, OutputInterface $output): int { $eventIds = $input->getArgument('campaign_event_ids'); $campaignId = (int) $input->getOption('campaign-id'); if (!empty($campaignId)) { $this->leadEventLogRepository->removeEventLogsByCampaignId($campaignId); $this->eventModel->deleteEventsByCampaignId($campaignId); $campaign = $this->campaignModel->getEntity($campaignId); $this->campaignModel->deleteCampaign($campaign); } elseif (!empty($eventIds)) { $this->leadEventLogRepository->removeEventLogs($eventIds); $this->eventModel->deleteEventsByEventIds($eventIds); } return 0; } }