api.v1.auth¶
- async api.v1.auth.check_users_file(translations: Translations = Depends(translations_dependency))[source]¶
Проверяет, существует ли файл users.json и содержит ли он пользователей.
Возвращает информацию о состоянии файла и наличии пользователей.
- Returns:
- dict: Словарь с ключами:
“exists” (bool): Существует ли файл.
“has_users” (bool): Содержит ли файл пользователей.
“message” (str): Сообщение с описанием результата.
- Raises:
HTTPException: Если произошла ошибка при проверке файла (status_code=500).
- async api.v1.auth.get_current_user(request: Request, translations: Translations = Depends(translations_dependency))[source]¶
Возвращает данные текущего пользователя и токен.
Проверяет активную сессию по client_id и возвращает информацию о пользователе и токен для дальнейшего использования.
- Args:
request (Request): Объект запроса для получения client_id (IP-адрес клиента). translations: Объект переводов для текущего языка.
- Returns:
- dict: Словарь с ключами “user” (UserResponse), “access_token” (str) и
“token_type” (str, всегда “bearer”).
- Raises:
- HTTPException: Если сессия не найдена или истекла (status_code=401) или
произошла внутренняя ошибка (status_code=500).
- async api.v1.auth.login(user: UserLogin, request: Request, translations: Translations = Depends(translations_dependency))[source]¶
Авторизует пользователя и создаёт сессию.
Проверяет учетные данные пользователя и возвращает токен и session_id для последующей авторизации.
- Args:
user (UserLogin): Объект с данными для входа (username, password). request (Request): Объект запроса для получения client_id (IP-адрес клиента). translations: Объект переводов для текущего языка.
- Returns:
Token: Объект с access_token и session_id для авторизации.
- Raises:
- HTTPException: Если учетные данные неверны (status_code=401) или произошла
внутренняя ошибка (status_code=500).
- async api.v1.auth.logout(request: Request, translations: Translations = Depends(translations_dependency))[source]¶
Выход из системы, удаление сессии.
Удаляет активную сессию пользователя по client_id.
- Args:
request (Request): Объект запроса для получения client_id (IP-адрес клиента). translations: Объект переводов для текущего языка.
- Returns:
dict: Пустой словарь или сообщение об успешном выходе.
- Raises:
- HTTPException: Если сессия не найдена (status_code=401) или произошла
внутренняя ошибка (status_code=500).
- async api.v1.auth.register(user: UserCreate, translations: Translations = Depends(translations_dependency))[source]¶
Регистрирует нового пользователя.
Создаёт нового пользователя на основе предоставленных данных и возвращает информацию о зарегистрированном пользователе.
- Args:
user (UserCreate): Объект с данными нового пользователя (username, password, is_admin). translations: Объект переводов для текущего языка.
- Returns:
UserResponse: Объект с данными зарегистрированного пользователя (id, username, is_admin).
- Raises:
- HTTPException: Если пользователь уже существует (status_code=400) или произошла
внутренняя ошибка (status_code=500).