Массовое обновление групп ПО
Запрос
| Тип | Метод |
|---|---|
POST |
/software_groups/mass_update |
Описание: При выполнении запроса выбранным параметрам групп ПО будут присвоены новые значения.
Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели которые были переданы в запросе.
Всем объектам будут присвоены одинаковые значения в переданных полях.
Изменение связей не поддерживается.
Метод транзакционный, если произошла ошибка изменения одного из объектов, откатываются все изменения.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/software_groups/mass_update
Тело запроса:
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| ids | Array<string> |
Required | Список ID объектов |
| fields | DefaultObject |
Required | Словарь новых значений полей модели SoftwareGroup |
| fields{name} | string |
Optional | Название группы ПО |
| fields{description} | string |
Optional | Описание |
| fields{add_new_software_version} | boolean |
Optional | Флаг добавления приложений с новыми версиями |
Пример тела запроса
{
"ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"fields": {
"name": "Новая группа ПО",
"description": "Описание новой группы ПО",
"add_new_software_versions": false
}
}
Успешный ответ
Статус код: 200 – объекты успешно изменены.
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
1. Bad Request2. ids is empty3. fields is empty4. exceeded maximum length for a value5. id should be uuid format |
1. Неверный тип параметра запроса, либо отсутствует обязательный параметр 2. Список ID не передан 3. Новые значения полей не переданы 4. Значение превышает максимально допустимую длину 5. Недопустимый формат ID |
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
}