3declare(strict_types=1);
5namespace Bitrix\Socialnetwork\Collab\Control\Command;
7use Bitrix\Main\Validation\Rule\NotEmpty;
8use Bitrix\Main\Validation\Rule\Recursive\Validatable;
9use Bitrix\SocialNetwork\Collab\Access\CollabAccessController;
10use Bitrix\Socialnetwork\Collab\Control\Command\ValueObject\CollabFeatures;
11use Bitrix\Socialnetwork\Collab\Control\Command\ValueObject\CollabFeaturesPermissions;
12use Bitrix\Socialnetwork\Collab\Control\Command\ValueObject\CollabOptions;
13use Bitrix\Socialnetwork\Collab\Control\Command\ValueObject\CollabSiteIds;
14use Bitrix\Socialnetwork\Collab\Control\Mapper\Field\InitiatePermissionMapper;
15use Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption;
16use Bitrix\Socialnetwork\Control\Command\AddCommand;
17use Bitrix\Socialnetwork\Control\Command\Attribute\AccessController;
18use Bitrix\Socialnetwork\Control\Command\Attribute\Override;
19use Bitrix\Socialnetwork\Control\Command\ValueObject\Features;
20use Bitrix\Socialnetwork\Control\Command\ValueObject\FeaturesPermissions;
21use Bitrix\Socialnetwork\Control\Command\ValueObject\SiteIds;
22use Bitrix\Socialnetwork\Control\Enum\ViewMode;
23use Bitrix\Socialnetwork\Control\Mapper\Attribute\Map;
24use Bitrix\Socialnetwork\Control\Mapper\Field\ViewModeMapper;
25use Bitrix\Socialnetwork\Item\Workgroup\Type;
26use Bitrix\SocialNetwork\Validation\Rule\NotContainsUrl;
32#[AccessController(CollabAccessController::class)]
40 #[Map('VISIBLE', ViewModeMapper::class)]
41 #[Map('OPENED', ViewModeMapper::class)]
48 #[Override(CollabFeatures::class)]
51 #[Override(CollabFeaturesPermissions::class)]
56 #[Override(CollabSiteIds::class)]
60 #[Map('INITIATE_PERMS', InitiatePermissionMapper::class)]
65 if (!isset($this->options))
70 $this->options->addOption(
$option);
addOption(AbstractOption $option)
FeaturesPermissions $permissions