1. Добавил корректный ответ в случае ошибки
2. Всё таки обернул в транзакцию
3. Протестил
Merge branch 'master' of https://github.com/sanbka/goodness