Метод PATCH /api/v1/connector/{id_connector}/configuration-metadata/{configuration_metadata_type}
Краткое описание
Частичная/полная замена поля
dataсуществующей записи метаданных конфигурации 1С.Требует, чтобы запись (
id_connector+type) уже существовала — иначе возвращает 404.Принимает данные потоково и поддерживает gzip.
Параметры пути
id_connector(string, обяз.) — идентификатор коннектора.configuration_metadata_type(enum, обяз.) — тип метаданных (значения изConfigurationMetadataType).
Заголовки
Content-Encoding: gzip(опционально) — указывайте, если тело запроса сжато gzip.Content-Type: application/octet-streamили подходящий для бинарного потока.
Тело запроса
Поток бинарных данных (обычно JSON). Данные отправляются по частям (streaming). Если
Content-Encoding: gzip— сервер распакует на лету.
Алгоритм работы метода
Что делает эндпоинт:
Проверяет валидность
configuration_metadata_type(выполнит 400 при неверном значении).Подключается к БД и ищет запись
WHERE id_connector = .. AND type = ..:Если запись не найдена — возвращает 404 с описанием.
Создаёт временную таблицу
cm_tmp_data(data json) ON COMMIT DROP.По механизму COPY FROM STDIN записывает поток запроса во временную таблицу (экранирует кавычки для CSV).
При gzip — распаковывает чанки через
zlib.decompressobj(16 + zlib.MAX_WBITS).
Выполняет UPDATE configuration_metadata_entity SET data = s.data, ecc_dt = now() FROM cm_tmp_data s WHERE id = target_id.
Коммитит транзакцию и возвращает результат с id записи.
Успешный ответ (200)
JSON CommonResponse вида:
{ "success": true, "message": "Entity updated successfully.", "data": { "id_configuration_metadata_entity": "<uuid>" } }