Этап
Готова
Тип
Задача
Приоритет
Повышенный
Трудоемкость
Обычная
Создана
Дата создания
4 года назад
Назначена
Обновлена
4 года назад

Не сама важная часть, но она уже лежит в stash и не хотелось бы её потерять.

Помимо дизайна ошибок, что дело второе, главное разработать систему исключений для доменных ошибок, и собственный контроллер или обработчик kernel.exception чтобы ошибка 500 выводила корректный и понятный пользователю текст ошибки

Панель управления

Комментарии могут оставлять только авторизованные пользователи
 demius 4 года назад

готово

 demius 4 года назад

На ревью

 demius 4 года назад

Вроде протащили. NotInProjectContext как минимум отображается

 demius 4 года назад

В целом общее поправили, теперь надо пройтись по всем существующим исключениям и перевести их работу на эту систему, собрав единый список возможных ошибок с их переводом.

Сейчас большая часть ошибок NotInProjectContext маскируется security не получающая нужные полномочия для несуществующего проекта. Необходимо вынести проверку его в декоратор, либо внести IsGranted внутрь контролеров

 demius 4 года назад

Что-то боковое поправили, теперь главное привести в строгую систему исключения и страницы ошибки.

И вторым важным пунктом переделать контрол редактирования справочников, чтобы он выводил как ошибку поля неправильный json, а не кидал 500. (для этого возможно стоит убрать трансформеры, и делать переход строки в объект на уровне dto и DataFiller’а, с валидацией)

 demius 4 года назад

Ну что, продолжим? Последняя задача релиза

 demius 4 года назад

Смержил с свежим мастером

 demius 4 года назад

У нас появился очень хрупкий контрол, который сильно увеличит количество 500х, а на хуже видно из-за чего они, так что прям очень желательно сделать задачу в ближайшем релизе

 demius 4 года назад

Up. Merge from last release

 demius 4 года назад

В процессе приведения в стройность исключений, стоит завести enum со всеми внутренними и внешними кодами исключений. Решить какие наследуются от httpExceptions и имеют коды ответов http, какие нет. Возможно сделать конвертер, логирующий реальное исключение и подменяющее его на HTTP-исключение с корректным кодом и безопасным и понятным пользователю сообщений об ошибке