BUG-003: Удаление категории с товарами — неинформативная ошибка
Описание
При попытке удалить родительскую категорию после удаления дочерней — бэкенд возвращает 422 CATEGORY_HAS_PRODUCTS (“Cannot delete category with products”). Пользователь не понимает, какие именно товары привязаны к категории и как их открепить, чтобы удалить категорию.
Проблема двойная:
- Бэкенд — ошибка не содержит информации о привязанных товарах (количество, названия)
- Фронтенд — ошибка показывается как toast без деталей, нет способа увидеть/переназначить товары перед удалением
Шаги воспроизведения
- Создать родительскую категорию “Еда”
- Создать дочернюю категорию “Пицца” (parent = “Еда”)
- Создать товар в категории “Еда” (не в “Пицца”)
- Удалить дочернюю категорию “Пицца” — успешно (нет товаров)
- Попытаться удалить родительскую категорию “Еда” → 422 CATEGORY_HAS_PRODUCTS
Ожидаемое поведение
- Ошибка должна содержать информацию о привязанных товарах (количество, id)
- На фронте — модалка подтверждения с вариантами: “Переместить товары в другую категорию” / “Открепить товары (без категории)” / “Отмена”
- Или: показать список привязанных товаров в модалке удаления
Фактическое поведение
- Бэкенд:
{ "error": { "code": "CATEGORY_HAS_PRODUCTS", "message": "Cannot delete category with products" } }— без деталей - Фронт: toast “Cannot delete category with products” — пользователь не знает какие товары и что с ними делать
Затронутые сервисы
- Catalog Service —
CategoryService.deleteCategory(): ошибка без деталей - erp-admin (web) — модалка удаления категории: нет предупреждения о товарах