1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
ManageMessagesAutoDelete.php
См. документацию.
1<?php
2
3namespace Bitrix\Socialnetwork\Collab\Control\Option\Type;
4
5use Bitrix\Main\Result;
6use Bitrix\Main\Validation\Rule\InArray;
7use Bitrix\Socialnetwork\Collab\Collab;
8use Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption;
9use Bitrix\Socialnetwork\Collab\Control\Option\Trait\UpdateCollabChatTrait;
10use Bitrix\Socialnetwork\Collab\Permission\UserRole;
11
13{
14 use UpdateCollabChatTrait;
15
16 public const NAME = 'manageMessagesAutoDelete';
17 public const DB_NAME = 'MANAGE_MESSAGES_AUTO_DELETE';
18
22 public const DEFAULT_VALUE = UserRole::MODERATOR;
23
25 protected const ROLE_MAP = [
26 UserRole::MEMBER => 'MEMBER',
27 UserRole::MODERATOR => 'MANAGER',
28 UserRole::OWNER => 'OWNER',
29 ];
30
31 #[InArray(UserRole::ALLOWED_ROLES)]
32 protected string $value;
33
34 public function __construct(string $value)
35 {
36 parent::__construct(static::DB_NAME, strtoupper($value));
37 }
38
39 protected function applyImplementation(Collab $collab): Result
40 {
41 return $this->updateChat($collab, [
42 static::DB_NAME => static::ROLE_MAP[$this->value]
43 ]);
44 }
45}
Определения result.php:20