# ---------------------------------------------------------
# API ENDPOINTS
# ---------------------------------------------------------
-@router.get(
+@router.post(
"/api/backup",
status_code=status.HTTP_200_OK,
responses={
# 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
# ---------------------------------------------------------
# API: Restore from backup
# ---------------------------------------------------------
-@router.get(
+@router.post(
"/api/restore",
status_code=status.HTTP_200_OK,
responses={
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
"took_ms": took_ms,
},
)
-
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
# ----------------------------
# 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")
path="/"
)
- logger.info("Session closed")
+ logger.debug("Session closed")