Обновление дополнительного поля
Запрос
Тип | Метод |
---|---|
PUT |
/custom_fields/update |
Описание: При выполнении запроса будет обновлена информация о дополнительном поле в соответствии с заданными параметрами.
Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели которые были переданы в запросе.
Позволяет также управлять связями многие ко многим с другими моделями через поле _relations
.
Ключами в поле _relations
могут быть названия полей моделей ссылающиеся на другие. Например если у модели связь с моделью правил корреляции и в нем хранится объект связанного правила то это поле можно использовать при управлении данной связью.
Управление работает следующим образом:
- Если поля в объекте
_relations
отсутствуют зависимости не обновляются. - Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию.
- Если поле зависимости указано и в значении пустой список то все связи удаляются.
- Зависимости игнорируются в теле запроса.
- Зависимости в ответе всегда
null
.
Например следующий запрос:
{
"id": "uuid",
...
"_relations": {
"logmule_go_rules": [] // - очистит все связи с правилами
// "logmule_go_rules": ["uuid1", "uuid2"] // - создаст связь с 2 правилами
// "logmule_go_rules": ["uuid1"] // - оставит связь только с первым правилом
}
}
Пример запроса
PUT
http://127.0.0.1/cruddy/v2/custom_fields/update
Тело запроса
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
id | string |
Required | Идентификатор дополнительного поля |
created_at | string |
Required | Дата создания дополнительного поля |
updated_at | string |
Required | Дата изменения информации о дополнительном поле |
field_key | string |
Required | Уникальный ключ поля |
title | string |
Required | Наименование дополнительного поля |
field_type | string |
Required | Тип данных, указываемый в дополнительном поле, например: - boolean; - json; - string; - integer; - double; - date. |
order_direction | integer |
Required | Порядок отображения дополнительного поля в карточке инцидента |
Пример тела запроса
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"field_key": "string",
"title": "string",
"field_type": "string",
"order_direction": 0
}
Успешный ответ
Статус код: 200
– успешное обновление информации о дополнительном поле.
Формат: JSON
.
Тело ответа: модель обновленного дополнительного поля.
Пример ответа
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"field_key": "string",
"title": "string",
"field_type": "string",
"order_direction": 0,
"custom_field_values": [
{
"custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
"service_asset_finding_id": "08a5c673-3c5c-48ab-bf6c-f2ee47d8df88",
"string_value": "string",
"integer_value": 0,
"float_value": 0,
"date_value": "2023-12-20T00:00:01.652259Z",
"json_value": {},
"boolean_value": true
}
],
"_relations": {
"custom_field_values": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
Bad Request name_already_used |
Неверный тип параметра запроса, либо отсутствует обязательный параметр Попытка присвоить объекту существующее уникальное значение атрибута |
404 |
Not Found |
Редактируемый объект не найден в БД |
409 |
name_already_used |
Попытка создать объект с существующим уникальным атрибутом |
500 |
Internal Server Error |
Другие ошибки при редактировании объекта |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{
"error": "Bad Request",
"error_code": 400
}
Код 404
{
"error": "Not Found",
"error_code": 404
}
Код 409
{
"error": "name_already_used",
"error_code": 409,
"extra": {
"fields": [
"name"
]
}
}
Код 500
{
"error": "Internal Server Error",
"error_code": 500
}