- Модуль: 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();
}