MCPcopy Create free account
hub / github.com/TheSmallHanCat/flow2api / get_logs

Function get_logs

src/api/admin.py:1476–1505  ·  view source on GitHub ↗

Get lightweight request logs for list view

(
    limit: int = 100,
    token: str = Depends(verify_admin_token)
)

Source from the content-addressed store, hash-verified

1474
1475@router.get("/api/logs")
1476async def get_logs(
1477 limit: int = 100,
1478 token: str = Depends(verify_admin_token)
1479):
1480 """Get lightweight request logs for list view"""
1481 limit = max(1, min(limit, 100))
1482 logs = await db.get_logs(limit=limit, include_payload=False)
1483
1484 result = []
1485 for log in logs:
1486 raw_status_code = log.get("status_code")
1487 try:
1488 status_code = int(raw_status_code) if raw_status_code is not None else None
1489 except (TypeError, ValueError):
1490 status_code = None
1491 result.append({
1492 "id": log.get("id"),
1493 "token_id": log.get("token_id"),
1494 "token_email": log.get("token_email"),
1495 "token_username": log.get("token_username"),
1496 "operation": log.get("operation"),
1497 "status_code": status_code if status_code is not None else raw_status_code,
1498 "duration": log.get("duration"),
1499 "status_text": log.get("status_text") or "",
1500 "progress": log.get("progress") or 0,
1501 "created_at": log.get("created_at"),
1502 "updated_at": log.get("updated_at"),
1503 "error_summary": _extract_error_summary(log.get("response_body_excerpt")) if status_code is not None and status_code >= 400 else "",
1504 })
1505 return result
1506
1507
1508@router.get("/api/logs/{log_id}")

Callers

nothing calls this directly

Calls 2

_extract_error_summaryFunction · 0.85
get_logsMethod · 0.80

Tested by

no test coverage detected