1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
createchannelthreadforevent.php
См. документацию.
1<?php
2
3namespace Bitrix\Calendar\Internals\EventManager\EventSubscriber\Event;
4
5use Bitrix\Calendar\Application\Command\CreateEventCommand;
6use Bitrix\Calendar\Core\EventCategory\EventCategory;
7use Bitrix\Calendar\Core\Mappers\Factory;
8use Bitrix\Calendar\Event\Event\AfterOpenEventCreated;
9use Bitrix\Calendar\Integration\Im\OpenEventService as ImIntegration;
10use Bitrix\Calendar\Internals\EventManager\EventSubscriber\Event\Dto\CreateChannelThreadForEventDto;
11use Bitrix\Calendar\Internals\EventManager\EventSubscriber\EventSubscriberInterface;
12use Bitrix\Calendar\Internals\EventManager\EventSubscriber\EventSubscriberResponseTrait;
13use Bitrix\Main\DI\ServiceLocator;
14use Bitrix\Main\Event;
15use Bitrix\Main\EventResult;
16
18{
19 use EventSubscriberResponseTrait;
20 use CalendarEventSubscriberTrait;
21
22 public function __invoke(Event $event): EventResult
23 {
24 $calendarEvent = $this->getCalendarEvent($event);
25 if (!$calendarEvent)
26 {
27 return $this->makeUndefinedResponse();
28 }
29
31 $createEventCommand = $event->getParameter('command');
33 $mapperFactory = ServiceLocator::getInstance()->get('calendar.service.mappers.factory');
35 $eventCategory = $mapperFactory->getEventCategory()->getById($createEventCommand->getCategory());
36
37 $threadId = ImIntegration::getInstance()->sendCalendarEventMessage($calendarEvent, $eventCategory);
38
39 return $this->makeSuccessResponse(new CreateChannelThreadForEventDto($threadId));
40 }
41
42 public function getEventClasses(): array
43 {
44 return [
45 AfterOpenEventCreated::class,
46 ];
47 }
48}
Определения event.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$event
Определения prolog_after.php:141