GonetsDocs/Документация/Техническая-документация-api/api/endpoints/network.md
2025-10-14 16:14:11 +05:00

4.7 KiB
Raw Blame History

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) или типы данных неверны.