From f0717edacbe9024175a3ed1fe82914a0619323fc Mon Sep 17 00:00:00 2001 From: Giorgio Ravera Date: Tue, 17 Mar 2026 21:00:02 +0100 Subject: [PATCH] Improved json for backup and moved to post --- backend/backup.py | 1 - backend/routes/backup.py | 52 ++++++++++++---------------------------- backend/security.py | 8 +++---- 3 files changed, 19 insertions(+), 42 deletions(-) diff --git a/backend/backup.py b/backend/backup.py index c7bab93..8cfcfec 100644 --- a/backend/backup.py +++ b/backend/backup.py @@ -236,4 +236,3 @@ def restore(cleanup: bool = True) -> Dict[str, Any]: # GRGR -> reset db in caso di errori return result - diff --git a/backend/routes/backup.py b/backend/routes/backup.py index 8847089..8c4acc8 100644 --- a/backend/routes/backup.py +++ b/backend/routes/backup.py @@ -23,7 +23,7 @@ router = APIRouter() # --------------------------------------------------------- # API ENDPOINTS # --------------------------------------------------------- -@router.get( +@router.post( "/api/backup", status_code=status.HTTP_200_OK, responses={ @@ -40,26 +40,15 @@ async def api_backup(request: Request): # Backup DB result = backup() errors = result.get("errors") or [] - took_ms = (time.monotonic_ns() - start_ns) / 1_000_000 - if errors: - logger.warning("Backup executed with %d error(s)", len(errors)) - return { - "code": "BACKUP_ERROR", - "status": "failure", - "message": "Some operations failed", - "took_ms": took_ms, - "results": result, - } - return { - "code": "BACKUP_OK", - "status": "success", - "message": "BACKUP executed successfully", - "took_ms": took_ms, - "results": result, - } + "code": "BACKUP_OK" if not errors else "BACKUP_ERROR", + "status": "success" if not errors else "failure", + "message": "BACKUP executed successfully" if not errors else "Some operations failed", + "took_ms": took_ms, + "results": result, + } except HTTPException: raise @@ -80,7 +69,7 @@ async def api_backup(request: Request): # --------------------------------------------------------- # API: Restore from backup # --------------------------------------------------------- -@router.get( +@router.post( "/api/restore", status_code=status.HTTP_200_OK, responses={ @@ -92,28 +81,18 @@ async def api_restore(request: Request): start_ns = time.monotonic_ns() try: - # Restore hosts DB + # Restore DB result = restore() errors = (result.get("errors") or []) - took_ms = (time.monotonic_ns() - start_ns) / 1_000_000 - if errors: - return { - "code": "RESTORE_ERROR", - "status": "failure", - "message": "Some operation failed", - "took_ms": took_ms, - "results": result, - } - return { - "code": "RESTORE_OK", - "status": "success", - "message": "RESTORE executed successfully", - "took_ms": took_ms, - "results": result, - } + "code": "RESTORE_OK" if not errors else "RESTORE_ERROR", + "status": "success" if not errors else "failure", + "message": "RESTORE executed successfully" if not errors else "Some operations failed", + "took_ms": took_ms, + "results": result, + } except HTTPException: raise @@ -130,4 +109,3 @@ async def api_restore(request: Request): "took_ms": took_ms, }, ) - diff --git a/backend/security.py b/backend/security.py index 99f8db6..cd6f570 100644 --- a/backend/security.py +++ b/backend/security.py @@ -36,7 +36,7 @@ def verify_login(username, password): logger.error("Login Failed - password wrong for user %s", username) return False - logger.info("Login successful - user %s", username) + logger.debug("Login successful - user %s", username) return True # ---------------------------- @@ -47,11 +47,11 @@ def apply_session(response, username: str | None = None, token: str | None = Non # First Login if username is not None and token is None: token = signer.sign(username).decode() - logger.info("Session created - %s", username) + logger.debug("Session created - %s", username) if username is None: username = signer.unsign(token, max_age=86400).decode() - logger.info("Session updated - %s", username) + logger.debug("Session updated - %s", username) if username is None or token is None: logger.error("Session Error - missing username or token") @@ -91,4 +91,4 @@ def close_session(response): path="/" ) - logger.info("Session closed") + logger.debug("Session closed") -- 2.47.3