• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/rest/controllers/task/checklist.php
  • Класс: BitrixTasksRestControllersTaskChecklist
  • Вызов: Checklist::saveAction
public function saveAction(int $taskId, array $items = [], array $parameters = [])
{
	$userId = CurrentUser::get()->getId();

	if (!TaskAccessController::can($userId, ActionDictionary::ACTION_CHECKLIST_SAVE, $taskId, $items))
	{
		$this->errorCollection->add(
			[new Error(Loc::getMessage('TASKS_REST_TASK_CHECKLIST_ACCESS_DENIED'))]
		);

		return null;
	}

	foreach ($items as $id => $item)
	{
		$item['ID'] = ((int)($item['ID'] ?? null) === 0 ? null : (int)$item['ID']);

		$item['IS_COMPLETE'] = (
			($item['IS_COMPLETE'] === true)
			|| ((int) $item['IS_COMPLETE'] > 0)
		);
		$item['IS_IMPORTANT'] = (
			($item['IS_IMPORTANT'] === true)
			|| ((int) $item['IS_IMPORTANT'] > 0)
		);

		$items[$item['NODE_ID']] = $item;

		unset($items[$id]);
	}

	$result = TaskCheckListFacade::merge($taskId, $userId, $items, $parameters);

	return $this->getReturn($result);
}