Экспорт точек доступа и узлов подсети

This commit is contained in:
parent e896a13f3c
commit 486d46c467
2 changed files with 39 additions and 6 deletions

View file

@ -72,14 +72,47 @@ def clear_all_data():
except Exception as e:
raise HTTPException(status_code=500, detail=f"Ошибка очистки: {str(e)}")
DEVICE_PATH = "/home/merelden/main/projects/all/gonets/SRV/storage/devices/devices.json"
DEVICE_PATH = "storage/devices/devices.json"
WIFI_PATH = "storage/wifi/wifi.json"
@router.get("/export", response_class=FileResponse)
@router.get("/export_devices", response_class=FileResponse)
async def export_devices():
"""
Экспортирует файл с данными устройств в формате JSON.
Returns:
FileResponse: Файл devices.json для скачивания.
Raises:
HTTPException: Если файл не найден (status_code=404).
"""
if not os.path.exists(DEVICE_PATH):
return {"error": "Файл не найден"}
logger.warning(f"Файл для экспорта не найден: {DEVICE_PATH}")
raise HTTPException(status_code=404, detail="Файл не найден")
logger.info(f"Экспорт файла: {DEVICE_PATH}")
return FileResponse(
path=DEVICE_PATH,
filename="device.json",
filename="devices.json",
media_type="application/json"
)
@router.get("/export_wifi", response_class=FileResponse)
async def export_wifi():
"""
Экспортирует файл с данными устройств в формате JSON.
Returns:
FileResponse: Файл devices.json для скачивания.
Raises:
HTTPException: Если файл не найден (status_code=404).
"""
if not os.path.exists(WIFI_PATH):
logger.warning(f"Файл для экспорта не найден: {WIFI_PATH}")
raise HTTPException(status_code=404, detail="Файл не найден")
logger.info(f"Экспорт файла: {WIFI_PATH}")
return FileResponse(
path=WIFI_PATH,
filename="wifi.json",
media_type="application/json"
)

View file

@ -18,5 +18,5 @@ app.include_router(router)
network_service = NetworkService()
if __name__ == "__main__":
#uvicorn.run("main:app", host='0.0.0.0', port=8001, reload=True, ssl_keyfile="/etc/gonets/certs/gonets.key", ssl_certfile="/etc/gonets/certs/gonets.crt")
uvicorn.run("main:app", host="0.0.0.0", port=8001, reload=True)
uvicorn.run("main:app", host='0.0.0.0', port=8001, reload=True, ssl_keyfile="/etc/gonets/certs/gonets.key", ssl_certfile="/etc/gonets/certs/gonets.crt")
#uvicorn.run("main:app", host="0.0.0.0", port=8001, reload=True)