1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
ExtendedType.php
См. документацию.
1<?php
2
3namespace Bitrix\Im\V2\Chat;
4
5use Bitrix\Im\V2\Chat;
6
7enum ExtendedType: string
8{
9 protected const INTERNAL_TYPES = [
10 Chat::IM_TYPE_PRIVATE => self::Private,
11 Chat::IM_TYPE_OPEN_LINE => self::Lines,
12 Chat::IM_TYPE_CHANNEL => self::Channel,
13 Chat::IM_TYPE_OPEN_CHANNEL => self::OpenChannel,
14 Chat::IM_TYPE_COMMENT => self::Comment,
15 Chat::IM_TYPE_COLLAB => self::Collab,
16 Chat::IM_TYPE_COPILOT => self::Copilot,
17 Chat::IM_TYPE_AI_ASSISTANT => self::AiAssistant,
18 Chat::IM_TYPE_AI_ASSISTANT_ENTITY => self::AiAssistantEntity,
19 Chat::IM_TYPE_OPEN => self::OpenChat,
20 Chat::IM_TYPE_CHAT => self::Chat,
21 ];
22
23 case Private = 'PRIVATE';
24 case Chat = 'CHAT';
25 case OpenChat = 'OPEN';
26 case General = 'GENERAL';
27 case Channel = 'CHANNEL';
28 case OpenChannel = 'OPEN_CHANNEL';
29 case GeneralChannel = 'GENERAL_CHANNEL';
30 case Comment = 'COMMENT';
31 case Copilot = 'COPILOT';
32 case AiAssistant = 'AI_ASSISTANT';
33 case AiAssistantEntity = 'AI_ASSISTANT_ENTITY';
34 case Collab = 'COLLAB';
35 case Announcement = 'ANNOUNCEMENT';
36 case Videoconference = 'VIDEOCONF';
37 case Support24Notifier = 'SUPPORT24_NOTIFIER';
38 case Support24Question = 'SUPPORT24_QUESTION';
39 case NetworkDialog = 'NETWORK_DIALOG';
40 case Calendar = 'CALENDAR';
41 case Mail = 'MAIL';
42 case Crm = 'CRM';
43 case Sonet = 'SONET_GROUP';
44 case Tasks = 'TASKS';
45 case Call = 'CALL';
46 case Lines = 'LINES';
47
48 public function isInternal(): bool
49 {
50 return in_array($this, self::INTERNAL_TYPES, true);
51 }
52
53 public static function tryFromEntityType(string $entityType): ?self
54 {
55 $extendedType = self::tryFrom($entityType);
56
57 return $extendedType?->isInternal() ? null : $extendedType;
58 }
59
60 public static function tryFromTypeLiteral(string $typeLiteral): self
61 {
62 return self::INTERNAL_TYPES[$typeLiteral] ?? self::Chat;
63 }
64}
ExtendedType
Определения ExtendedType.php:8
@ isInternal
Определения ExtendedType.php:48
Определения auth.php:9
Определения address.php:8