Обновление группы инцидентов
Запрос
Тип | Метод |
---|---|
PUT |
/incident_groups/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/incident_groups/update
Тело запроса:
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
id | string |
Required | Идентификатор группы инцидентов |
created_at | string |
Required | Дата создания группы инцидентов в формате: date-time |
updated_at | string |
Required | Дата изменения группы инцидентов в формате: date-time |
title | string |
Required | Название группы инцидентов |
description | string |
Required | Расширенное описание группы инцидентов |
user_id | string |
Required | Идентификатор пользователя, на которого назначена группа инцидентов |
group_id | string |
Required | Идентификатор группы пользователей, на которую назначена группа инцидентов |
_relations | object |
Required | Словарь описывающий связанные модели через идентификаторы |
_relations{service_asset_findings} | Array<string> |
Required | Список идентификаторов инцидентов, входящих в группу |
Пример тела запроса
{
"title": "string",
"description": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"trace_id": "uuid",
"_relations": {
"service_asset_findings": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Успешный ответ
Статус код: 200
– успешное обновление информации о группе инцидентов.
Формат: JSON
.
Тело ответа: модель обновленной группы инцидентов.
Пример ответа
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"title": "string",
"description": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
"incidents_count": 0,
"service_asset_findings": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"user": {},
"group": {}
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
Bad Request |
Неверный тип параметра запроса, либо отсутствует обязательный параметр |
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": "Bad Request", "error_code": 409, "extra": { "fields": [ "name" ] } }
Код 500
{ "error": "Internal Server Error", "error_code": 500 }