From 61c526d3ee9f6bfbf25bd58b2f469ebe9b0ac476 Mon Sep 17 00:00:00 2001 From: "s.galanskiy" Date: Fri, 4 Jul 2025 15:09:14 +0500 Subject: [PATCH] =?UTF-8?q?=D0=AD=D1=81=D0=BA=D0=BF=D0=BE=D1=80=D1=82=20?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D1=82=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SRV/api/v1/settings.py | 27 +++++++++++++++++++++++++-- SRV/main.py | 4 ++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/SRV/api/v1/settings.py b/SRV/api/v1/settings.py index ea370bf..4331550 100644 --- a/SRV/api/v1/settings.py +++ b/SRV/api/v1/settings.py @@ -1,5 +1,16 @@ -from fastapi import APIRouter, HTTPException +# api/v1/settings.py +import os +import json +import logging +import tempfile +from fastapi import APIRouter, HTTPException, Body +from starlette.responses import FileResponse from services.settings_service import SettingsService +import shutil + +# Настройка логирования +logging.basicConfig(level=logging.DEBUG) # Уровень DEBUG для детализации +logger = logging.getLogger(__name__) router = APIRouter() settings_service = SettingsService() @@ -59,4 +70,16 @@ def clear_all_data(): if success: return {"message": "Все сетевые данные успешно очищены"} except Exception as e: - raise HTTPException(status_code=500, detail=f"Ошибка очистки: {str(e)}") \ No newline at end of file + raise HTTPException(status_code=500, detail=f"Ошибка очистки: {str(e)}") + +DEVICE_PATH = "/home/merelden/main/projects/all/gonets/SRV/storage/devices/devices.json" + +@router.get("/export", response_class=FileResponse) +async def export_devices(): + if not os.path.exists(DEVICE_PATH): + return {"error": "Файл не найден"} + return FileResponse( + path=DEVICE_PATH, + filename="device.json", + media_type="application/json" + ) \ No newline at end of file diff --git a/SRV/main.py b/SRV/main.py index 3511099..1f01b6b 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)