diff --git a/backend/app/main.py b/backend/app/main.py index 8312082..6dc929e 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -581,16 +581,13 @@ async def trigger_imap_poll(auth: dict = Depends(require_admin_auth)): } -# API endpoint to check status of IMAP polling -@app.get("/api/v1/admin/poll-status") -async def get_poll_status(auth: dict = Depends(require_admin_auth)): +# API endpoint to check status of IMAP polling (public, read-only) +@app.get("/api/v1/poll-status") +async def get_poll_status(): """ - Get the status of IMAP polling (admin only - requires authentication) - - Security: Requires either X-API-Key header or Bearer token + Get the status of IMAP polling (read-only, no authentication required). """ return { "is_running": background_task is not None and not background_task.done(), "last_check": last_check_time.isoformat() if last_check_time else None, - "authenticated_by": auth.get("auth_type"), } diff --git a/backend/app/templates/index.html b/backend/app/templates/index.html index aca43e3..badb426 100644 --- a/backend/app/templates/index.html +++ b/backend/app/templates/index.html @@ -199,7 +199,11 @@ function dashboardApp() { async getImapStatus() { try { - const response = await fetch('/api/v1/admin/poll-status'); + const response = await fetch('/api/v1/poll-status'); + if (!response.ok) { + console.error('Error checking IMAP status:', response.status); + return; + } const data = await response.json(); const statusIcon = document.getElementById('imap-status-icon');