Closed StriderDunedain closed 2 weeks ago
Такая реализация приводит к ошибкам.
В проекте есть два UserService в src\api\services\users.py
и в src\bot\services\user.py
. Они оба используют один и тот же метод репозитория get_by_telegram_id.
Все возможные места, где этот метод используется, не проверяла, но как минимум появляется ошибка в регистрации. При попытке нового пользователя Телеграм добавиться в бот возникает ошибка.
В общем просто так переименовывать get_by_telegram_id в get_by_telegram_id_or_none нельзя.
Правильно будет переопределить get_by_telegram_id для UserService в src\api\endpoints\users.py
.
Что сделано?
Изменил место проверки на существование пользователя. Вынес её в
BaseUserService
Что теперь?
Не очень уверен, где именно стоит делать проверку, но это место мне показалось самым подходящим - от него наследуются две другие UserService'ы и он используется напрямую в эндпоинте
api/users/{telegram_id}
. Но, чтобы точно быть уверенным, хочется узнать более опытное мнение