• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/controller/timeline.php
  • Класс: BitrixRpaControllerTimeline
  • Вызов: Timeline::addAction
public function addAction(BitrixRpaModelType $type, int $itemId, array $fields): ?array
{
	$item = $type->getItem($itemId);
	if(!$item)
	{
		$this->addError(new Error(Loc::getMessage('RPA_ITEM_NOT_FOUND_ERROR')));
		return null;
	}
	if(!Driver::getInstance()->getUserPermissions()->canViewItem($item))
	{
		$this->addError(new Error(Loc::getMessage('RPA_VIEW_ITEM_ACCESS_DENIED')));
		return null;
	}

	$timeline = BitrixRpaModelTimeline::createForItem($item);
	$timeline->setUserId(Driver::getInstance()->getUserId());
	$timeline->setTitle($fields['title']);
	$timeline->setDescription($fields['description']);
	$timeline->setData([
		'scope' => ItemHistoryTable::SCOPE_REST,
	]);

	$result = $timeline->save();

	if($result->isSuccess())
	{
		Driver::getInstance()->getPullManager()->sendTimelineAddEvent($timeline);
		return [
			'timeline' => $timeline->preparePublicData(),
		];
	}

	$this->addErrors($result->getErrors());
	return null;
}