1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
Reaction.php
См. документацию.
1<?php
2
3namespace Bitrix\Im\V2\Controller\Chat\Message;
4
5use Bitrix\Im\V2\Controller\BaseController;
6use Bitrix\Im\V2\Message;
7use Bitrix\Im\V2\Message\Reaction\ReactionService;
8use Bitrix\Im\V2\Rest\RestAdapter;
9
11{
15 public function addAction(Message $message, string $reaction): ?array
16 {
17 $reaction = mb_strtoupper($reaction);
19 $reactResult = $service->addReaction($reaction);
20
21 if (!$reactResult->isSuccess())
22 {
23 $this->addErrors($reactResult->getErrors());
24
25 return null;
26 }
27
28 return [];
29 }
30
34 public function deleteAction(Message $message, string $reaction): ?array
35 {
36 $reaction = mb_strtoupper($reaction);
38 $reactResult = $service->deleteReaction($reaction);
39
40 if (!$reactResult->isSuccess())
41 {
42 $this->addErrors($reactResult->getErrors());
43
44 return null;
45 }
46
47 return [];
48 }
49
53 public function tailAction(Message $message, array $filter = [], array $order = [], int $limit = 50): ?array
54 {
55 $reaction = $filter['reaction'] ?? null;
56 if ($reaction !== null)
57 {
58 $reaction = mb_strtoupper($reaction);
59 $validateResult = Message\Reaction\ReactionItem::validateReaction($reaction);
60 if (!$validateResult->isSuccess())
61 {
62 $this->addErrors($validateResult->getErrors());
63
64 return null;
65 }
66 }
67
68 $reactionFilter = [
69 'LAST_ID' => $filter['lastId'] ?? null,
70 'MESSAGE_ID' => $message->getMessageId(),
71 'REACTION' => $reaction,
72 ];
73 $reactionOrder = [
74 'ID' => $order['id'] ?? 'DESC'
75 ];
76 $reactionLimit = $this->getLimit($limit);
77
78 $reactions = Message\Reaction\ReactionCollection::find($reactionFilter, $reactionOrder, $reactionLimit);
79
80 return (new RestAdapter($reactions))->toRestFormat();
81 }
82}
addAction(Message $message, string $reaction)
Определения Reaction.php:15
deleteAction(Message $message, string $reaction)
Определения Reaction.php:34
tailAction(Message $message, array $filter=[], array $order=[], int $limit=50)
Определения Reaction.php:53
static find(array $filter, array $order, ?int $limit=null, ?Context $context=null)
Определения ReactionCollection.php:28
static validateReaction(string $reaction)
Определения ReactionItem.php:170
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$filter
Определения iblock_catalog_list.php:54
Определения Uuid.php:3
$order
Определения payment.php:8
$service
Определения payment.php:18
$message
Определения payment.php:8