getContainer()->get('logged.in.user'); if ($currentUser === null || !$this->getContainer()->getPermissionsService()->currentUserCanRead(Entities::EVENTS)) { throw new AccessDeniedException('You are not allowed to read events'); } $result = new CommandResult(); /** @var EventRepository $eventRepository */ $eventRepository = $this->container->get('domain.booking.event.repository'); /** @var Event $event */ $event = $eventRepository->getById((int)$command->getField('id')); /** @var CustomerApplicationService $customerAS */ $customerAS = $this->container->get('application.user.customer.service'); $customerAS->removeBookingsForOtherCustomers($currentUser, new Collection([$event])); if (!$event instanceof Event) { $result->setResult(CommandResult::RESULT_ERROR); $result->setMessage('Could not get event'); return $result; } $result->setResult(CommandResult::RESULT_SUCCESS); $result->setMessage('Successfully retrieved event'); $result->setData([ Entities::EVENT => $event->toArray() ]); return $result; } }