diff --git a/SRV/api/v1/settings.py b/SRV/api/v1/settings.py index 4331550..bd491e8 100644 --- a/SRV/api/v1/settings.py +++ b/SRV/api/v1/settings.py @@ -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" ) \ No newline at end of file diff --git a/SRV/main.py b/SRV/main.py index 1f01b6b..3511099 100644 --- a/SRV/main.py +++ b/SRV/main.py @@ -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)