fixed, scheduler, added search to log, added advanced search

This commit is contained in:
2026-04-05 18:55:09 +02:00
parent 076733fb53
commit 66b32ded36
4 changed files with 124 additions and 3 deletions
+31
View File
@@ -11,6 +11,13 @@ router = APIRouter(prefix="/api/logs", tags=["logs"])
def get_logs(
account_id: int | None = None,
level: str | None = None,
search: str | None = None,
search_subject: str | None = None,
search_from: str | None = None,
search_rule: str | None = None,
search_message: str | None = None,
search_details: str | None = None,
search_folder: str | None = None,
limit: int = Query(default=100, le=500),
offset: int = 0,
db: Session = Depends(get_db),
@@ -20,6 +27,30 @@ def get_logs(
query = query.filter(FilterLog.account_id == account_id)
if level:
query = query.filter(FilterLog.level == level)
# Einfache Suche (ODER über alle Felder)
if search:
term = f"%{search}%"
query = query.filter(
FilterLog.message.ilike(term)
| FilterLog.mail_subject.ilike(term)
| FilterLog.mail_from.ilike(term)
| FilterLog.rule_name.ilike(term)
| FilterLog.details.ilike(term)
| FilterLog.folder.ilike(term)
)
# Erweiterte Suche (UND pro Feld)
if search_subject:
query = query.filter(FilterLog.mail_subject.ilike(f"%{search_subject}%"))
if search_from:
query = query.filter(FilterLog.mail_from.ilike(f"%{search_from}%"))
if search_rule:
query = query.filter(FilterLog.rule_name.ilike(f"%{search_rule}%"))
if search_message:
query = query.filter(FilterLog.message.ilike(f"%{search_message}%"))
if search_details:
query = query.filter(FilterLog.details.ilike(f"%{search_details}%"))
if search_folder:
query = query.filter(FilterLog.folder.ilike(f"%{search_folder}%"))
total = query.count()
logs = query.offset(offset).limit(limit).all()
return {