Метод POST /api/v1/add_log

Краткое описание

Метод позволяет Коннектору передавать логи по исполнению своих «проектов», а также передает массив из Коннектора в DCC. Требуется аутентификация (Depends(check_login_pass)).

Тело запроса

  • JSON массив объектов по схеме TaskLog.

  • Обязательное поле внутри каждого элемента: id_connector (используется для валидации).

  • Доп. часто встречающиеся поля: id_project, id_task, timestamp, level, message, и т.п. (см. модель TaskLog).

Алгоритм работы метода

  • Собирает уникальные id_connector из поступивого списка и проверяет их существование (connector_exists) — быстрый precheck.

  • Для каждого log:

    • генерирует id_log = uuid.uuid4()

    • устанавливает ecc_dt = datetime.now(tz=get_localzone())

    • добавляет запись в DB сессии

  • Выполняет db_session.commit().

  • Функция не возвращает тело — успешный ответ 200 OK (пустой).

Ответ

  • Успех: HTTP 200 OK (пустое тело).

Примечание

Рекомендуем отправлять батчем несколько записей для уменьшения числа транзакций, а перед массовой отправкой убедиться, что все id_connector корректны (во избежание отката транзакции).