GonetsDocs/Documentation/Tech-docs/api/endpoints/auth.md
2025-10-14 16:19:35 +05:00

4.6 KiB
Raw Blame History

api.v1.auth

async api.v1.auth.check_users_file(translations: Translations = Depends(translations_dependency))

Проверяет, существует ли файл users.json и содержит ли он пользователей.

Возвращает информацию о состоянии файла и наличии пользователей.

  • Returns:
    Словарь с ключами:
    • ”exists” (bool): Существует ли файл.
    • ”has_users” (bool): Содержит ли файл пользователей.
    • ”message” (str): Сообщение с описанием результата.
  • Return type: dict
  • Raises: HTTPException – Если произошла ошибка при проверке файла (status_code=500).

async api.v1.auth.get_current_user(request: Request, translations: Translations = Depends(translations_dependency))

Возвращает данные текущего пользователя и токен.

Проверяет активную сессию по client_id и возвращает информацию о пользователе и токен для дальнейшего использования.

  • Parameters:
    • request (Request) – Объект запроса для получения client_id (IP-адрес клиента).
    • translations – Объект переводов для текущего языка.
  • Returns:
    Словарь с ключами “user” (UserResponse), “access_token” (str) и
    ”token_type” (str, всегда “bearer”).
  • Return type: dict
  • Raises: HTTPException – Если сессия не найдена или истекла (status_code=401) или произошла внутренняя ошибка (status_code=500).

async api.v1.auth.login(user: UserLogin, request: Request, translations: Translations = Depends(translations_dependency))

Авторизует пользователя и создаёт сессию.

Проверяет учетные данные пользователя и возвращает токен и session_id для последующей авторизации.

  • Parameters:
    • user (UserLogin) – Объект с данными для входа (username, password).
    • request (Request) – Объект запроса для получения client_id (IP-адрес клиента).
    • translations – Объект переводов для текущего языка.
  • Returns: Объект с access_token и session_id для авторизации.
  • Return type: Token
  • Raises: HTTPException – Если учетные данные неверны (status_code=401) или произошла внутренняя ошибка (status_code=500).

async api.v1.auth.logout(request: Request, translations: Translations = Depends(translations_dependency))

Выход из системы, удаление сессии.

Удаляет активную сессию пользователя по client_id.

  • Parameters:
    • request (Request) – Объект запроса для получения client_id (IP-адрес клиента).
    • translations – Объект переводов для текущего языка.
  • Returns: Пустой словарь или сообщение об успешном выходе.
  • Return type: dict
  • Raises: HTTPException – Если сессия не найдена (status_code=401) или произошла внутренняя ошибка (status_code=500).

async api.v1.auth.register(user: UserCreate, translations: Translations = Depends(translations_dependency))

Регистрирует нового пользователя.

Создаёт нового пользователя на основе предоставленных данных и возвращает информацию о зарегистрированном пользователе.

  • Parameters:
    • user (UserCreate) – Объект с данными нового пользователя (username, password, is_admin).
    • translations – Объект переводов для текущего языка.
  • Returns: Объект с данными зарегистрированного пользователя (id, username, is_admin).
  • Return type: UserResponse
  • Raises: HTTPException – Если пользователь уже существует (status_code=400) или произошла внутренняя ошибка (status_code=500).