Files
ipam_control/docs/changes/018-patch-null-handling/SUMMARY.md
T

11 lines
1.5 KiB
Markdown
Raw Normal View History

# Итог: null в PATCH (изменение 018)
## Что сделано
- `app/schemas.py`: общий валидатор `_blank` — `null` в текстовых полях `AddressUpdate` (`dns_name`, `description`, `note`), `PrefixUpdate` (`description`, `note`), `DeviceUpdate` (`mac`, `note`), `VrfUpdate` (`route_target`, `note`) означает «очистить» (пустая строка);
`status` адреса = `null` → 422; `device_id: null` по-прежнему отвязывает устройство.
- `app/services.py`: сообщение по умолчанию для конфликтов БД заменено на нейтральное (`CONFLICT_MSG`: «Конфликт с существующими данными: проверьте уникальность значений и связанные объекты»);
сообщения с явным текстом (дубль префикса, логина и т.п.) не менялись.
- `README.md`: раздел API.
## Проверка
Проверка: стенд `ipam_control_006` пересобран, миграции применены до 0008 (`alembic check` — расхождений нет); ручная проверка (скрипт во временной папке, в репозиторий не добавлялся); автотесты по условию этапа не писались. `{"description": null}` → 200 и `""`; `{"status": null}` → 422.