1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
ActionMessageFactory.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Socialnetwork\Collab\Integration\IM;
6
7use Bitrix\Socialnetwork\Collab\Integration\IM\Message\AddGuestActionMessage;
8use Bitrix\Socialnetwork\Collab\Integration\IM\Message\AddUserActionMessage;
9use Bitrix\Socialnetwork\Collab\Integration\IM\Message\CollabCreateActionMessage;
10use Bitrix\Socialnetwork\Collab\Integration\IM\Message\ConvertGroupToCollabMessage;
11use Bitrix\Socialnetwork\Collab\Integration\IM\Message\ConvertGroupToCollabMessageRich;
12use Bitrix\Socialnetwork\Collab\Integration\IM\Message\CopyLinkActionMessage;
13use Bitrix\Socialnetwork\Collab\Integration\IM\Message\ActionMessageInterface;
14use Bitrix\Socialnetwork\Collab\Integration\IM\Message\AcceptUserActionMessage;
15use Bitrix\Socialnetwork\Collab\Integration\IM\Message\ExcludeUserActionMessage;
16use Bitrix\Socialnetwork\Collab\Integration\IM\Message\InviteGuestActionMessage;
17use Bitrix\Socialnetwork\Collab\Integration\IM\Message\InviteUserActionMessage;
18use Bitrix\Socialnetwork\Collab\Integration\IM\Message\JoinUserActionMessage;
19use Bitrix\Socialnetwork\Collab\Integration\IM\Message\LeaveUserActionMessage;
20use Bitrix\Socialnetwork\Collab\Integration\IM\Message\RegenerateLinkActionMessage;
21use Bitrix\Socialnetwork\Helper\InstanceTrait;
22
24{
25 use InstanceTrait;
26
27 public function getActionMessage(ActionType $action, int $collabId, int $senderId): ActionMessageInterface
28 {
29 return match ($action)
30 {
31 ActionType::AcceptUser => new AcceptUserActionMessage($collabId, $senderId),
32 ActionType::InviteGuest => new InviteGuestActionMessage($collabId, $senderId),
33 ActionType::InviteUser => new InviteUserActionMessage($collabId, $senderId),
34 ActionType::CreateCollab => new CollabCreateActionMessage($collabId, $senderId),
35 ActionType::AddUser => new AddUserActionMessage($collabId, $senderId),
36 ActionType::AddGuest => new AddGuestActionMessage($collabId, $senderId),
37 ActionType::LeaveUser => new LeaveUserActionMessage($collabId, $senderId),
38 ActionType::ExcludeUser => new ExcludeUserActionMessage($collabId, $senderId),
39 ActionType::CopyLink => new CopyLinkActionMessage($collabId, $senderId),
40 ActionType::RegenerateLink => new RegenerateLinkActionMessage($collabId, $senderId),
41 ActionType::ConvertGroupToCollab => new ConvertGroupToCollabMessage($collabId, $senderId),
42 ActionType::ConvertGroupToCollabRich => new ConvertGroupToCollabMessageRich($collabId, $senderId),
43 default => new JoinUserActionMessage($collabId, $senderId),
44 };
45 }
46}
getActionMessage(ActionType $action, int $collabId, int $senderId)
Определения ActionMessageFactory.php:27
$action
Определения file_dialog.php:21