1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
Messages.php
См. документацию.
1<?php
2
3namespace Bitrix\Im\V2\Sync\Entity;
4
5use Bitrix\Im\V2\Sync\Entity;
6use Bitrix\Im\V2\Sync\Event;
7
8class Messages implements Entity
9{
10 private array $messageIds = [];
11 private array $addedMessageIds = [];
12 private array $updatedMessageIds = [];
13 private array $completeDeletedMessageIds = [];
14
15 public function add(Event $event): void
16 {
17 $entityId = $event->entityId;
18
19 if ($event->entityType === Event::UPDATED_MESSAGE_ENTITY)
20 {
21 $this->messageIds[$entityId] = $entityId;
22 $this->updatedMessageIds[$entityId] = $entityId;
23 return;
24 }
25
26 switch ($event->eventName)
27 {
29 $this->completeDeletedMessageIds[$entityId] = $entityId;
30 break;
32 $this->messageIds[$entityId] = $entityId;
33 $this->addedMessageIds[$entityId] = $entityId;
34 break;
36 $this->messageIds[$entityId] = $entityId;
37 $this->updatedMessageIds[$entityId] = $entityId;
38 break;
39 }
40 }
41
42 public function getMessageIds(): array
43 {
44 return $this->messageIds;
45 }
46
47 public static function getRestEntityName(): string
48 {
49 return 'messageSync';
50 }
51
52 public function toRestFormat(array $option = []): ?array
53 {
54 return [
55 'addedMessages' => array_diff($this->addedMessageIds, $this->updatedMessageIds),
56 'updatedMessages' => array_diff($this->updatedMessageIds, $this->completeDeletedMessageIds),
57 'completeDeletedMessages' => $this->completeDeletedMessageIds,
58 ];
59 }
60}
static getRestEntityName()
Определения Messages.php:47
toRestFormat(array $option=[])
Определения Messages.php:52
add(Event $event)
Определения Messages.php:15
const DELETE_EVENT
Определения Event.php:10
const COMPLETE_DELETE_EVENT
Определения Event.php:11
const UPDATED_MESSAGE_ENTITY
Определения Event.php:17
const ADD_EVENT
Определения Event.php:12
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
Определения ufield.php:9
$entityId
Определения payment.php:4
$event
Определения prolog_after.php:141
$option
Определения options.php:1711