3namespace Bitrix\Calendar\Integration\Im;
5use Bitrix\Calendar\Core\Builders\EventCategory\EventCategoryBuilderFromProviderObject;
6use Bitrix\Calendar\Core\Common;
7use Bitrix\Calendar\EventCategory\Dto\EventCategoryRenameDto;
8use Bitrix\Calendar\Integration\Im\EventCategoryService as EventCategoryImIntegration;
9use Bitrix\Calendar\Internals\Log\Logger;
10use Bitrix\Calendar\OpenEvents\Controller\Request\EventCategory\UpdateEventCategoryDto;
11use Bitrix\Calendar\OpenEvents\Provider;
12use Bitrix\Calendar\OpenEvents\Service\CategoryService;
17 private const LOG_MARKER =
'DEBUG_CALENDAR_IM_CHAT_RENAME';
18 private static ?
Logger $logger =
null;
25 [$chatId,
$name, $chatEntityType] = func_get_args();
32 if (!is_int($chatId) || !is_string(
$name))
34 self::getLogger()->log([
35 'message' =>
'can not process event arguments',
49 self::addBackgroundJob($renameDto);
53 self::getLogger()->log($e);
61 $userId = Common::SYSTEM_USER_ID;
62 $categoryProvider =
new Provider\CategoryProvider(
$userId);
63 $eventCategory = $categoryProvider->getByChannelId($renameDto->chatId) ??
null;
67 self::getLogger()->log([
68 'message' =>
'event category not exist for connected channel',
75 if ($eventCategory->name === $renameDto->name)
80 CategoryService::getInstance()->updateEventCategory(
90 job: [self::class,
'applyChannelRenameToCategory'],
95 private static function getLogger(): Logger
97 self::$logger ??=
new Logger(self::LOG_MARKER);
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static applyChannelRenameToCategory(EventCategoryRenameDto $renameDto)
const OPEN_EVENT_CATEGORY_IM_ENTITY_TYPE
static fromRequest(array $request)