91 lines
4.6 KiB
Markdown
91 lines
4.6 KiB
Markdown
|
|
# 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).
|