- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_rest.php
- Класс: CIMRestService
- Вызов: CIMRestService::chatReminderGet
static function chatReminderGet($arParams, $n, CRestServer $server)
{
$arParams = array_change_key_case($arParams, CASE_UPPER);
$filter = [
'LAST_ID' => $arParams['LAST_ID'] ?? null,
'SEARCH_MESSAGE' => $arParams['SEARCH_MESSAGE'] ?? null,
'USER_ID' => $arParams['USER_ID'] ?? null,
'CHAT_ID' => $arParams['CHAT_ID'] ?? null,
'DATE_FROM' => $arParams['DATE_FROM'] ? new DateTime($arParams['DATE_FROM'], DateTimeInterface::RFC3339) : null,
'DATE_TO' => $arParams['DATE_TO'] ? new DateTime($arParams['DATE_TO'], DateTimeInterface::RFC3339) : null,
];
if ($arParams['IS_REMINDED'] === 'Y')
{
$filter['IS_REMINDED'] = true;
}
if ($arParams['IS_REMINDED'] === 'N')
{
$filter['IS_REMINDED'] = false;
}
$limit = self::getLimit($arParams);
$order = [
'ID' => $arParams['ORDER']['ID'] ?? 'DESC',
];
if (!isset($filter['CHAT_ID']))
{
throw new BitrixRestRestException('CHAT_ID can`t be empty', 'CHAT_ID_EMPTY', CRestServer::STATUS_WRONG_REQUEST);
}
$chatId = $filter['CHAT_ID'];
$chat = BitrixImV2Chat::getInstance($chatId);
if (!$chat->hasAccess())
{
throw new BitrixRestRestException('You do not have access to this chat', BitrixImV2RestRestError::ACCESS_ERROR, CRestServer::STATUS_FORBIDDEN);
}
$reminders = BitrixImV2LinkReminderReminderCollection::find($filter, $order, $limit);
return (new BitrixImV2RestRestAdapter($reminders))->toRestFormat();
}