Обновление связи
Запрос
Тип | Метод |
---|---|
PUT |
/logmule_go_flows/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/logmule_go_flows/update
Тело запроса:
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
id | string |
Required | Идентификатор связи |
rule | string |
Required | Идентификатор правила |
filter | string |
Required | Идентификатор фильтра |
Пример тела запроса
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"rule": "uuid",
"filter": "uuid"
}
Успешный ответ
Статус код: 200
– успешное обновление информации о связи.
Формат: JSON
.
Тело ответа: модель обновленной связи.
Пример ответа
{{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"rule": "uuid",
"filter": "uuid",
"logmule_go_rule": null,
"logmule_go_filter": null,
"_relations": {}
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
Bad Request name_already_used |
Неверный тип параметра запроса, либо отсутствует обязательный параметр Попытка присвоить объекту существующее уникальное значение атрибута |
404 |
Not Found |
Редактируемый объект не найден в БД |
500 |
Internal Server Error |
Другие ошибки при редактировании объекта |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{ "error": "Bad Request", "error_code": 400 }
Код 404
{ "error": "Not Found", "error_code": 404 }
Код 500
{ "error": "Internal Server Error", "error_code": 500 }