Очистка полученных сетеевых данных. Узлы. Точки доступа. Всё сразу.

This commit is contained in:
parent 37f9e3abfb
commit f4aae4f3c4
6 changed files with 151 additions and 41 deletions

View file

@ -1,5 +1,5 @@
from fastapi import APIRouter
from .v1 import ufw, websocket, ip, network, auth, subnet
from .v1 import ufw, websocket, ip, network, auth, subnet, settings
router = APIRouter()
@ -10,3 +10,5 @@ router.include_router(network.router, prefix="/network", tags=["Network"])
router.include_router(auth.router, prefix="/auth", tags=["Auth"])
router.include_router(subnet.router, prefix="/subnet", tags=["Subnet"])
router.include_router(settings.router, prefix="/settings", tags=["Settings"])

62
SRV/api/v1/settings.py Normal file
View file

@ -0,0 +1,62 @@
from fastapi import APIRouter, HTTPException
from services.settings_service import SettingsService
router = APIRouter()
settings_service = SettingsService()
@router.post("/clear_subnet")
def clear_subnet():
"""Очищает данные узлов подсети, сохранённые в devices.json.
Удаляет все записи об узлах подсети, оставляя файл пустым.
Returns:
dict: Словарь с сообщением об успешной очистке.
Raises:
HTTPException: Если произошла ошибка очистки (status_code=500).
"""
try:
success = settings_service.clear_subnet()
if success:
return {"message": "Данные узлов подсети успешно очищены"}
except Exception as e:
raise HTTPException(status_code=500, detail=f"Ошибка очистки: {str(e)}")
@router.post("/clear_wifi")
def clear_wifi():
"""Очищает данные точек доступа Wi-Fi, сохранённые в wifi.json.
Удаляет все записи о точках доступа, оставляя файл пустым.
Returns:
dict: Словарь с сообщением об успешной очистке.
Raises:
HTTPException: Если произошла ошибка очистки (status_code=500).
"""
try:
success = settings_service.clear_wifi()
if success:
return {"message": "Данные точек доступа Wi-Fi успешно очищены"}
except Exception as e:
raise HTTPException(status_code=500, detail=f"Ошибка очистки: {str(e)}")
@router.post("/clear_all_data")
def clear_all_data():
"""Очищает данные узлов подсети и точек доступа Wi-Fi в обоих файлах.
Удаляет все записи из devices.json и wifi.json.
Returns:
dict: Словарь с сообщением об успешной очистке.
Raises:
HTTPException: Если произошла ошибка очистки (status_code=500).
"""
try:
success = settings_service.clear_all_data()
if success:
return {"message": "Все сетевые данные успешно очищены"}
except Exception as e:
raise HTTPException(status_code=500, detail=f"Ошибка очистки: {str(e)}")