api.v1.settings

api.v1.settings.clear_all_data(translations: Translations = Depends(translations_dependency))[source]

Очищает данные узлов подсети и точек доступа Wi-Fi в обоих файлах.

Удаляет все записи из devices.json и wifi.json.

Args:

translations: Объект переводов для текущего языка.

Returns:

dict: Словарь с сообщением об успешной очистке.

Raises:

HTTPException: Если произошла ошибка очистки (status_code=500).

api.v1.settings.clear_subnet(subnet: str | None = None, translations: Translations = Depends(translations_dependency))[source]

Очищает данные узлов подсети, сохранённые в devices.json.

Удаляет все записи об узлах подсети, оставляя файл пустым.

Args:
subnet (Optional[str]): Подсеть в формате CIDR (например, “10.1.1.0/24”).

Если None, очищает все подсети.

translations: Объект переводов для текущего языка.

Returns:

dict: Словарь с сообщением об успешной очистке.

Raises:

HTTPException: Если произошла ошибка очистки (status_code=500).

api.v1.settings.clear_wifi(translations: Translations = Depends(translations_dependency))[source]

Очищает данные точек доступа Wi-Fi, сохранённые в wifi.json.

Удаляет все записи о точках доступа, оставляя файл пустым.

Args:

translations: Объект переводов для текущего языка.

Returns:

dict: Словарь с сообщением об успешной очистке.

Raises:

HTTPException: Если произошла ошибка очистки (status_code=500).

async api.v1.settings.export_devices(request: SubnetScanRequest = Body(PydanticUndefined), translations: Translations = Depends(translations_dependency))[source]

Экспортирует файл с данными устройств в формате JSON для указанной подсети.

Args:

request (SubnetScanRequest): Объект с полем subnet в формате CIDR. translations: Объект переводов для текущего языка.

Returns:

FileResponse: Файл <subnet>.json для скачивания.

Raises:

HTTPException: Если файл не найден (status_code=404).

async api.v1.settings.export_wifi(translations: Translations = Depends(translations_dependency))[source]

Экспортирует файл с данными устройств в формате JSON.

Args:

translations: Объект переводов для текущего языка.

Returns:

FileResponse: Файл wifi.json для скачивания.

Raises:

HTTPException: Если файл не найден (status_code=404).

async api.v1.settings.get_system_language(request: Request, translations: Translations = Depends(translations_dependency))[source]

Выводит текущий язык, установленный в системе на основе locale.

Выполняет команду ‘locale’ в системе и извлекает параметры LANG

Args:

request (Request): Объект запроса для доступа к параметрам. translations: Объект переводов текущего языка.

Returns:

dict: Словарь с текущим языком системы.

Raises:

HTTPException: Если не удалось извлечь системный язык (status_code=500).

api.v1.settings.set_language(locale: str, response: Response, translations: Translations = Depends(translations_dependency))[source]

Устанавливает куку locale для смены языка пользователя.

Args:

locale (str): Используемый язык. response (Response): Запрос. translations: Объект переводов текущего языка.

Returns:

dict: Сообщение об успешной установке языка.