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

71 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Connect Service
Сервис управления подключениями Wi‑Fi через nmcli.
Назначение:
- Предоставляет операции подключения/отключения к точкам доступа и проверки текущего статуса, ориентируясь на системный NetworkManager.
Поведение:
- Автоматически определяет активный Wi‑Fi‑интерфейс.
- Валидирует наличие SSID в листинге перед подключением и интерпретирует частые ошибки nmcli (неверный пароль, отсутствующая сеть и т.п.).
Ограничения:
- Требуются права для управления сетевыми соединениями в системе.
- В окружениях без NetworkManager команды nmcli будут недоступны.
### *class* services.connect_service.WifiConnectionService(translations: Translations = Depends(translations_dependency))
Bases: `object`
Сервис для управления подключением к Wi-Fi сетям с использованием nmcli.
Предоставляет методы для подключения, отключения и проверки статуса Wi-Fi соединений.
#### connect(ssid: str, password: str) → Tuple[bool, str | None]
Подключается к Wi-Fi сети по SSID и паролю.
* **Parameters:**
* **ssid** (*str*) – Идентификатор сети Wi-Fi.
* **password** (*str*) – Пароль для подключения.
* **Returns:**
Кортеж (успех, сообщение об ошибке).
: - Успех: (True, None).
- Ошибка: (False, сообщение об ошибке).
* **Return type:**
Tuple[bool, Optional[str]]
* **Raises:**
* **subprocess.CalledProcessError** – Если команда nmcli завершилась с ошибкой.
* **Exception** – Если произошла неизвестная ошибка при выполнении.
#### disconnect(ssid: str) → Tuple[bool, str | None]
Отключается от Wi-Fi сети по указанному SSID.
* **Parameters:**
**ssid** (*str*) – Идентификатор сети Wi-Fi для отключения.
* **Returns:**
Кортеж (успех, сообщение об ошибке).
: - Успех: (True, None или сообщение, если подключение не найдено).
- Ошибка: (False, сообщение об ошибке).
* **Return type:**
Tuple[bool, Optional[str]]
* **Raises:**
* **subprocess.CalledProcessError** – Если команда nmcli завершилась с ошибкой.
* **Exception** – Если произошла неизвестная ошибка при выполнении.
#### get_status() → Tuple[bool, str | None]
Проверяет статус текущего подключения к Wi-Fi.
* **Returns:**
Кортеж (успех, SSID или сообщение об ошибке).
: - Успех: (True, SSID текущей сети).
- Ошибка или отсутствие подключения: (False, сообщение об ошибке).
* **Return type:**
Tuple[bool, Optional[str]]
* **Raises:**
**Exception** – Если произошла ошибка при выполнении команды nmcli.