4.7 KiB
4.7 KiB
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 – Объект переводов для текущего языка.
- data (Dict *[*str , Union *[*int , bool ] ]) – Словарь с ключами:
-
- Returns:
- Словарь с ключами:
- ”success” (bool): Успешность операции.
- ”message” (str): Сообщение об успешном обновлении.
- Return type: dict
- Raises: HTTPException – Если отсутствуют обязательные поля (status_code=400) или типы данных неверны.