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

93 lines
4.7 KiB
Markdown
Raw 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.

# api.v1.network
### *class* api.v1.network.ContainerPositionManager
Bases: `object`
Класс для управления позициями и состоянием контейнеров.
Хранит и обновляет координаты (x, y) и состояние (isOpen) для контейнеров
активации и деактивации.
#### get_position_and_state(container_name: str, translations: Translations = Depends(translations_dependency)) → Tuple[int, int, bool]
Получает текущие координаты и состояние указанного контейнера.
* **Parameters:**
* **container_name** (*str*) – Имя контейнера (“activation” или “deactivation”).
* **translations** – Объект переводов для текущего языка.
* **Returns:**
Кортеж с координатами (x, y) и состоянием (isOpen).
* **Return type:**
Tuple[int, int, bool]
* **Raises:**
**ValueError** – Если указан неверный идентификатор контейнера.
#### update_position(container_id: int, x: int, y: int, isOpen: bool) → None
Обновляет позицию и состояние контейнера по его идентификатору.
* **Parameters:**
* **container_id** (*int*) – Идентификатор контейнера (1 для “activation”, 2 для “deactivation”).
* **x** (*int*) – Новая координата X.
* **y** (*int*) – Новая координата Y.
* **isOpen** (*bool*) – Новое состояние контейнера (открыт/закрыт).
* **Raises:**
**ValueError** – Если container_id не соответствует ни одному контейнеру.
### *async* api.v1.network.get_hostname(translations: Translations = Depends(translations_dependency))
Возвращает имя хоста системы.
Выполняет запрос к сервису для получения имени хоста.
* **Parameters:**
**translations** – Объект переводов для текущего языка.
* **Returns:**
Словарь с ключом “hostname” и значением имени хоста.
* **Return type:**
dict
* **Raises:**
**HTTPException** – Если произошла ошибка при получении имени хоста (status_code=500).
### *async* api.v1.network.get_network_data(translations: Translations = Depends(translations_dependency)) → Dict[str, Dict]
Возвращает текущие сетевые данные в виде словаря.
Получает данные о сетевых интерфейсах, разделяет их на активные и неактивные,
и возвращает их в формате Activation и Deactivation с учётом позиций и состояний
контейнеров.
* **Parameters:**
**translations** – Объект переводов для текущего языка.
* **Returns:**
Словарь с ключами “activation” и “deactivation”, содержащими
: данные о соответствующих контейнерах.
* **Return type:**
Dict[str, Dict]
* **Raises:**
**HTTPException** – Если произошла ошибка при получении данных (status_code=500).
### *async* api.v1.network.update_container_position(data: Dict[str, int | bool] = Body(PydanticUndefined), translations: Translations = Depends(translations_dependency))
Обновляет позицию и состояние контейнера.
Принимает данные о новом положении и состоянии контейнера и обновляет их
в менеджере позиций.
* **Parameters:**
* **data** (*Dict* *[**str* *,* *Union* *[**int* *,* *bool* *]* *]*) – Словарь с ключами:
- “container_id” (int): Идентификатор контейнера (1 или 2).
- “container_x” (int): Новая координата X.
- “container_y” (int): Новая координата Y.
- “isOpen” (bool): Новое состояние контейнера (открыт/закрыт).
* **translations** – Объект переводов для текущего языка.
* **Returns:**
Словарь с ключами:
: - ”success” (bool): Успешность операции.
- ”message” (str): Сообщение об успешном обновлении.
* **Return type:**
dict
* **Raises:**
**HTTPException** – Если отсутствуют обязательные поля (status_code=400) или
типы данных неверны.