BUG-019 — Декомпозиция

Код

Диагностика (первый шаг)

  • Проверить логи User Service: docker logs erp-user-service | grep -E "ERROR|Exception" | tail -30
  • Проверить логи Auth Service: docker logs erp-auth-service | grep -E "ERROR|Exception" | tail -20
  • Проверить логи Admin BFF: docker logs erp-admin-bff | tail -20
  • Вызвать напрямую User Service (без BFF): curl -s http://erp-user-service:3002/api/v1/legal-entities?per_page=100 -H "Authorization: Bearer <token>" и посмотреть ответ

Вероятные фиксы

  • User Service: ScopeService.computeScope() — проверить query findByOwnerUserIdAndNotDeleted (null handling, пустой результат)
  • User Service: LegalEntityService.list() — scope-switch может не покрывать все типы scope
  • User Service: JwtAuthenticationFilter — если Auth Service не доступен или возвращает ошибку, filter должен gracefully handle (503 вместо NPE)
  • Admin BFF: proxy должен передавать HTTP-статус от бэкенда, а не парсить как JSON (если response body пустой при 500/403)

Спеки

Баг не выявляет ошибку в спеках — это регрессия при имплементации BR 1.4.4.