stories
stories copied to clipboard
Document expected application exception pattern.
Approach
Exception arguments aren't necessary. We have state object accessible.
See https://github.com/proofit404/stories/issues/627#issuecomment-803674101
HTTP Status codes
HTTP codes does not match to domain errors well.
If we respond with 400 HTTP status code, but expect our application to have 12 variants of different behavior.
For example,
Администратор просматривает запрос на отчёт, который запросил человек
не имеющий права в конкретном данном случае работать с тем подразделением,
которое присутствует в данных для отчёта. Мы не можем отдать ему 403 код,
потому что у него есть право на работу с данным запросом.
И самое важное, что в данном случае мы бы хотели предложить ему выдать
права доступа инициатору запроса или же перевести отчёт в статус отклонённых
с уведомлением инициатора.