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