Open BigDeepBlue opened 3 years ago
Спасибо за оперативное и развернутое ревью.
/user/UUID/permissions/UUID
доступна для всех, возвращает объект с булевым значением по полю. Кэширование реализовано, время кэширования вынесено в настройки.Все отлично. По п. 1. можно элегантнее: у вас есть удобный декоратор authenticate(), можно было бы ему в качестве необязательного параметра передавать роли и там же проводить проверку, и если роли переданы, а у пользователя их нет... не пускать.
Контейнер внедрения зависимостей - это совершенно верное и отличное решение. Тесты проходят, покрытие хорошее. Рекомендации по коду не существенные:
все потому-что вот в этом месте
Space inside allowed only for quoted values
. Заменил наchange_me
- завелось.model: Type[BaseModel]
и сразу IDE перестанет ругаться чтоmodel is not callable
- вот тут обсуждают этот момент https://stackoverflow.com/questions/41417679/how-to-annotate-a-type-thats-a-class-object-instead-of-a-class-instanceservers
для тестирования в https://editor.swagger.io/'Permission for Role with that UUID not found'
и т.д.) вынести в отдельное место, для упрощения их дальнейшей поддержки, а это постоянно требуется.