• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Controller/Chat.php
  • Класс: BitrixImV2ControllerChat
  • Вызов: Chat::configureActions
public function configureActions()
{
	return [
		'add' => [
			'+prefilters' => [
				new IntranetUser(),
				new CheckChatAddParams(),
				new CheckAvatarIdInFields(),
			],
		],
		'update' => [
			'+prefilters' => [
				new IntranetUser(),
				new CheckChatAddParams(),
				new CheckAvatarIdInFields(),
			],
		],
		'setOwner' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
				new CheckChatOwner(),
			]
		],
		'setTitle' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
			]
		],
		'setDescription' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
			]
		],
		'setColor' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
			]
		],
		'setAvatarId' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
				new CheckAvatarId(),
			]
		],
		'setAvatar' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
			]
		],
		'addUsers' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
			]
		],
		'removeUsers' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
			]
		],
		'setManagers' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
			]
		],
		'setManageUsers' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatManageUpdate(),
				new CheckChatUpdate(),
			]
		],
		'setManageUI' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatManageUpdate(),
				new CheckChatUpdate(),
			]
		],
		'setManageSettings' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatManageUpdate(),
				new CheckChatUpdate(),
			]
		],
		'setDisappearingDuration' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatUpdate(),
				new CheckDisappearingDuration(),
			]
		],
		'setCanPost' => [
			'+prefilters' => [
				new CheckChatAccess(),
				new CheckChatCanPost(),
				new CheckChatUpdate(),
			]
		],
		'load' => [
			'+prefilters' => [
				new ExtendPullWatchPrefilter(),
			],
			'+postfilters' => [
				new UpdateStatus(),
			],
		],
		'loadInContext' => [
			'+prefilters' => [
				new ExtendPullWatchPrefilter(),
			],
			'+postfilters' => [
				new UpdateStatus(),
			],
		],
		'join' => [
			'+prefilters' => [
				new ChatTypeFilter([OpenChat::class, OpenLineChat::class]),
			],
		],
		'extendPullWatch' => [
			'+prefilters' => [
				new ChatTypeFilter([OpenChat::class, OpenLineChat::class]),
			],
		],
		'read' => [
			'+postfilters' => [
				new UpdateStatus(),
			],
		],
		'readAll' => [
			'+postfilters' => [
				new UpdateStatus(),
			],
		],
	];
}