auth via DB
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import html
|
||||
from pathlib import Path
|
||||
|
||||
from fastapi import APIRouter, Form
|
||||
from fastapi import APIRouter, Depends, Form, Request
|
||||
from fastapi.responses import HTMLResponse, RedirectResponse
|
||||
|
||||
from ..auth import require_user
|
||||
from ..backups import is_backup_path, list_backups
|
||||
from ..config import BACKUP_SCRIPT
|
||||
from ..shell import run_command
|
||||
@@ -13,7 +14,7 @@ router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/backups", response_class=HTMLResponse)
|
||||
def backups_page():
|
||||
def backups_page(request: Request, user=Depends(require_user)):
|
||||
rows = ""
|
||||
|
||||
for path in list_backups():
|
||||
@@ -86,11 +87,12 @@ def backups_page():
|
||||
</table>
|
||||
</div>
|
||||
""",
|
||||
user=user,
|
||||
)
|
||||
|
||||
|
||||
@router.post("/backups/create", response_class=HTMLResponse)
|
||||
def create_backup():
|
||||
def create_backup(user=Depends(require_user)):
|
||||
result = run_command([BACKUP_SCRIPT])
|
||||
status = "OK" if result.returncode == 0 else "FAILED"
|
||||
|
||||
@@ -98,11 +100,12 @@ def create_backup():
|
||||
title=f"Vytvoření zálohy: {status}",
|
||||
back_url="/portal/backups",
|
||||
sections=[("Výstup", result.stdout), ("Chyba", result.stderr)],
|
||||
user=user,
|
||||
)
|
||||
|
||||
|
||||
@router.post("/backups/delete")
|
||||
def delete_backup(backup_path: str = Form(...)):
|
||||
def delete_backup(backup_path: str = Form(...), user=Depends(require_user)):
|
||||
target = Path(backup_path)
|
||||
|
||||
if not is_backup_path(target):
|
||||
|
||||
Reference in New Issue
Block a user