Closed gorskyolga closed 1 month ago
Есть несколько вопросов по задачке:
requires_verification
- он проверяет поле is_verified
. Автоматически дефолтится на False. Какое нам нужно поведение?src\api\endpoints\admin.py
, то в документации будут дублироваться эндпоинты. Как, например, раздел Admins еще раз полностью есть в AdminUser, так же как и api/auth/invitation
. Не уверен, изначально так задумано или нет. Если да, то, думаю стоит поменять названия на более описывающие, сейчас имхо не очень понятна разница между AdminUser, Admins и AdminAuth:Лучше самому тоже проверять работу. Для создания админа нужно:
Схема AdminUserUpdate вроде нормальная.
Для параметра requires_verification нужно оставить дефолтный False, т.к. мы не верифицируем почту стандартным способом и поле is_verified у админов не меняется.
Чтобы новый роутер не дублировался, но был отдельно от старых роутеров для аутентификации админов, его нужно подключать в src\api\router.py
, а не в src\api\endpoints\admin.py
.
Эндпоинт "api/auth/invitation" начал дублироваться из-за изменения его тега на tags=["AdminAuth"]. Поищи через поиск tags=["AdminUser"]
, он встречается дважды. Они были одинаковыми, поэтому дублирования не было.
Лучше удалить отдельный тег для invitation_router в src\api\endpoints\admin.py
. А тег для admin_user_router в src\api\router.py
изменить на tags=["AdminAuth"]
. Тогда старые эндпоинты для аутентификации админов будут под тегом AdminAuth. А новые эндпоинты для списка админов будут под тегом Admins.
Нужно подключить к проекту эндпоинты "Users router" из FastAPI Users. Так как эндпоинты будут использоваться для админов, префикс для них должен быть "/admins" и тэг нужно назвать "Admins".
Про подключение эндпоинтов можно почитать в документации здесь.
Также в рамках задачи нужно поменять tags=["AdminUser"] на tags=["AdminAuth"] у эндпоинтов admin_user_router.
При тестировании нужно: