add msg for blocked account
This commit is contained in:
parent
0f13849b23
commit
81df14d6ae
@ -2,6 +2,7 @@ import httpx
|
||||
import asyncio
|
||||
from app.core import config
|
||||
from app.core.database import add_session
|
||||
from app.core.localizer import localizer
|
||||
|
||||
async def login(login, password):
|
||||
"""
|
||||
@ -26,29 +27,28 @@ async def login(login, password):
|
||||
access_token=token_data["access_token"],
|
||||
refresh_token=token_data["refresh_token"]
|
||||
)
|
||||
return True, "Успешный вход"
|
||||
return True, localizer.translate("Успешный вход")
|
||||
else:
|
||||
return False, data.get("detail", "Неизвестная ошибка ответа")
|
||||
return False, data.get("detail", localizer.translate("Неизвестная ошибка ответа"))
|
||||
|
||||
elif response.status_code in [401, 403]:
|
||||
elif response.status_code in [401]:
|
||||
error_data = response.json()
|
||||
return False, error_data.get("detail", "Неверный логин или пароль")
|
||||
|
||||
return False, error_data.get("detail", localizer.translate("Неверный логин или пароль"))
|
||||
|
||||
elif response.status_code in [403]:
|
||||
error_data = response.json()
|
||||
return False, error_data.get("detail", localizer.translate("Учетная запись пользователя отключена"))
|
||||
|
||||
elif response.status_code == 422:
|
||||
# Ошибка валидации Pydantic
|
||||
error_data = response.json()
|
||||
# Можно будет позже реализовать более детальный разбор ошибок
|
||||
return False, error_data.get("detail", "Некорректные данные для входа")
|
||||
return False, localizer.translate("Некорректные данные для входа")
|
||||
|
||||
else:
|
||||
return False, f"Ошибка сервера: {response.status_code}"
|
||||
return False, f"{localizer.translate('Ошибка сервера')}: {response.status_code}"
|
||||
|
||||
except httpx.RequestError as e:
|
||||
# Ошибка сети, таймаут и т.д.
|
||||
return False, f"Ошибка сети: {e}"
|
||||
return False, f"{localizer.translate('Ошибка сети')}: {e}"
|
||||
except Exception as e:
|
||||
# Другие непредвиденные ошибки
|
||||
return False, f"Произошла ошибка: {e}"
|
||||
return False, f"{localizer.translate('Произошла ошибка')}: {e}"
|
||||
|
||||
async def register(login, password, invite=None):
|
||||
"""
|
||||
@ -69,27 +69,26 @@ async def register(login, password, invite=None):
|
||||
response = await client.post(url, json=payload)
|
||||
|
||||
if response.status_code == 201:
|
||||
return True, "Регистрация прошла успешно!"
|
||||
return True, localizer.translate("Регистрация прошла успешно!")
|
||||
|
||||
# Обрабатываем специфичные ошибки
|
||||
error_data = response.json()
|
||||
error_message = error_data.get("detail", "Произошла неизвестная ошибка")
|
||||
error_message = error_data.get("detail", localizer.translate("Произошла ошибка"))
|
||||
|
||||
if response.status_code == 409: # Конфликт (логин занят)
|
||||
return False, "Этот логин уже занят."
|
||||
elif response.status_code == 400: # Неверный инвайт
|
||||
return False, "Неверный инвайт-код."
|
||||
elif response.status_code == 403: # Регистрация отключена
|
||||
return False, "Регистрация в данный момент отключена."
|
||||
elif response.status_code == 422: # Ошибка валидации
|
||||
return False, "Данные не прошли валидацию. Проверьте длину логина и пароля."
|
||||
if response.status_code == 409:
|
||||
return False, localizer.translate("Этот логин уже занят.")
|
||||
elif response.status_code == 400:
|
||||
return False, localizer.translate("Неверный инвайт-код.")
|
||||
elif response.status_code == 403:
|
||||
return False, localizer.translate("Регистрация в данный момент отключена.")
|
||||
elif response.status_code == 422:
|
||||
return False, localizer.translate("Данные не прошли валидацию. Проверьте длину логина и пароля.")
|
||||
else:
|
||||
return False, f"Ошибка сервера ({response.status_code}): {error_message}"
|
||||
return False, f"{localizer.translate('Ошибка сервера')} ({response.status_code}): {error_message}"
|
||||
|
||||
except httpx.RequestError as e:
|
||||
return False, f"Ошибка сети: {e}"
|
||||
return False, f"{localizer.translate('Ошибка сети')}: {e}"
|
||||
except Exception as e:
|
||||
return False, f"Произошла ошибка: {e}"
|
||||
return False, f"{localizer.translate('Произошла ошибка')}: {e}"
|
||||
|
||||
|
||||
# Пример использования (для тестирования)
|
||||
|
||||
@ -7,15 +7,29 @@
|
||||
"Повторите пароль": "Repeat password",
|
||||
"Инвайт-код": "Invite code",
|
||||
"Войти": "Login",
|
||||
"Вход...": "Logging in...",
|
||||
"Зарегистрироваться": "Sign up",
|
||||
"Регистрация...": "Signing up...",
|
||||
"Уже есть аккаунт? Войти": "Already have an account? Log in",
|
||||
"Нет аккаунта? Регистрация": "Don't have an account? Sign up",
|
||||
"Ошибка": "Error",
|
||||
"Успех": "Success",
|
||||
"Пожалуйста, исправьте ошибки в форме": "Please correct the form errors",
|
||||
"Неверный логин или пароль": "Incorrect username or password",
|
||||
"Учетная запись пользователя отключена": "User account is disabled",
|
||||
"Пароли не совпадают": "Passwords do not match",
|
||||
"Регистрация прошла успешно для": "Successfully registered for",
|
||||
|
||||
"Неизвестная ошибка ответа": "Unknown response error",
|
||||
"Некорректные данные для входа": "Invalid login credentials",
|
||||
"Ошибка сервера": "Server error",
|
||||
"Ошибка сети": "Network error",
|
||||
"Произошла ошибка": "An error has occurred",
|
||||
"Этот логин уже занят.": "This username is already taken.",
|
||||
"Неверный инвайт-код.": "Invalid invite code.",
|
||||
"Регистрация в данный момент отключена.": "Registration is currently disabled.",
|
||||
"Данные не прошли валидацию. Проверьте длину логина и пароля.": "Data validation failed. Check username and password length.",
|
||||
|
||||
"Login must be between 3 and 32 characters long": "Login must be between 3 and 32 characters long",
|
||||
"Login must not contain whitespace characters": "Login must not contain whitespace characters",
|
||||
"Login must not start with an underscore": "Login must not start with an underscore",
|
||||
|
||||
@ -7,15 +7,29 @@
|
||||
"Повторите пароль": "Повторите пароль",
|
||||
"Инвайт-код": "Инвайт-код",
|
||||
"Войти": "Войти",
|
||||
"Вход...": "Вход...",
|
||||
"Зарегистрироваться": "Зарегистрироваться",
|
||||
"Регистрация...": "Регистрация...",
|
||||
"Уже есть аккаунт? Войти": "Уже есть аккаунт? Войти",
|
||||
"Нет аккаунта? Регистрация": "Нет аккаунта? Регистрация",
|
||||
"Ошибка": "Ошибка",
|
||||
"Успех": "Успех",
|
||||
"Пожалуйста, исправьте ошибки в форме": "Пожалуйста, исправьте ошибки в форме",
|
||||
"Неверный логин или пароль": "Неверный логин или пароль",
|
||||
"Учетная запись пользователя отключена": "Учетная запись пользователя отключена",
|
||||
"Пароли не совпадают": "Пароли не совпадают",
|
||||
"Регистрация прошла успешно для": "Регистрация прошла успешно для",
|
||||
|
||||
"Неизвестная ошибка ответа": "Неизвестная ошибка ответа",
|
||||
"Некорректные данные для входа": "Некорректные данные для входа",
|
||||
"Ошибка сервера": "Ошибка сервера",
|
||||
"Ошибка сети": "Ошибка сети",
|
||||
"Произошла ошибка": "Произошла ошибка",
|
||||
"Этот логин уже занят.": "Этот логин уже занят.",
|
||||
"Неверный инвайт-код.": "Неверный инвайт-код.",
|
||||
"Регистрация в данный момент отключена.": "Регистрация в данный момент отключена.",
|
||||
"Данные не прошли валидацию. Проверьте длину логина и пароля.": "Данные не прошли валидацию. Проверьте длину логина и пароля.",
|
||||
|
||||
"Login must be between 3 and 32 characters long": "Логин должен быть от 3 до 32 символов",
|
||||
"Login must not contain whitespace characters": "Логин не должен содержать пробелы",
|
||||
"Login must not start with an underscore": "Логин не должен начинаться с символа подчёркивания",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user