3namespace Bitrix\Im\V2\Message;
5use Bitrix\Im\Model\MessageViewedTable;
6use Bitrix\Im\V2\Common\ContextCustomer;
7use Bitrix\Im\V2\Message;
8use Bitrix\Main\ArgumentException;
9use Bitrix\Main\Type\DateTime;
15 public const LIKE =
'LIKE';
17 private const ALLOWED_REACTION = [self::LIKE];
23 if (!in_array(
$reaction, self::ALLOWED_REACTION,
true))
36 'USER_ID' => $this->getContext()->getUserId(),
38 'MESSAGE_ID' =>
$message->getMessageId(),
39 'DATE_CREATE' => $dateCreate,
40 'REACTION' => $this->reaction,
44 'REACTION' => $this->reaction
47 MessageViewedTable::merge($insertFields, $updateFields, [
'USER_ID',
'CHAT_ID',
'MESSAGE_ID']);
54 $readObject = MessageViewedTable::query()
55 ->where(
'USER_ID', $this->getContext()->getUserId())
56 ->where(
'MESSAGE_ID',
$message->getMessageId())
60 if ($readObject ===
null)
65 $readObject->setReaction(
null);
__construct(string $reaction)
addToMessage(Message $message)
deleteFromMessage(Message $message)