• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Controller/Chat/Message/Reaction.php
  • Класс: BitrixImV2ControllerChatMessageReaction
  • Вызов: Reaction::tailAction
public function tailAction(Message $message, array $filter = [], array $order = [], int $limit = 50): ?array
{
	$reaction = $filter['reaction'] ?? null;
	if ($reaction !== null) //todo: add index b_im_reaction (MESSAGE_ID)
	{
		$reaction = mb_strtoupper($reaction);
		$validateResult = MessageReactionReactionItem::validateReaction($reaction);
		if (!$validateResult->isSuccess())
		{
			$this->addErrors($validateResult->getErrors());

			return null;
		}
	}

	$reactionFilter = [
		'LAST_ID' => $filter['lastId'] ?? null,
		'MESSAGE_ID' => $message->getMessageId(),
		'REACTION' => $reaction,
	];
	$reactionOrder = [
		'ID' => $order['id'] ?? 'DESC'
	];
	$reactionLimit = $this->getLimit($limit);

	$reactions = MessageReactionReactionCollection::find($reactionFilter, $reactionOrder, $reactionLimit);

	return (new RestAdapter($reactions))->toRestFormat();
}