forked from cardosofelipe/fast-next-template
- Add /projects/{project_id}/events/stream SSE endpoint
- Add event_bus dependency injection
- Add project access authorization (placeholder)
- Add test event endpoint for development
- Add keepalive comments every 30 seconds
- Add reconnection support via Last-Event-ID header
- Add rate limiting (10/minute per IP)
- Mount events router in API
- Add sse-starlette dependency
- Add 19 comprehensive tests for SSE functionality
Implements #34
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
28 lines
893 B
Python
28 lines
893 B
Python
from fastapi import APIRouter
|
|
|
|
from app.api.routes import (
|
|
admin,
|
|
auth,
|
|
events,
|
|
oauth,
|
|
oauth_provider,
|
|
organizations,
|
|
sessions,
|
|
users,
|
|
)
|
|
|
|
api_router = APIRouter()
|
|
api_router.include_router(auth.router, prefix="/auth", tags=["Authentication"])
|
|
api_router.include_router(oauth.router, prefix="/oauth", tags=["OAuth"])
|
|
api_router.include_router(
|
|
oauth_provider.router, prefix="/oauth", tags=["OAuth Provider"]
|
|
)
|
|
api_router.include_router(users.router, prefix="/users", tags=["Users"])
|
|
api_router.include_router(sessions.router, prefix="/sessions", tags=["Sessions"])
|
|
api_router.include_router(admin.router, prefix="/admin", tags=["Admin"])
|
|
api_router.include_router(
|
|
organizations.router, prefix="/organizations", tags=["Organizations"]
|
|
)
|
|
# SSE events router - no prefix, routes define full paths
|
|
api_router.include_router(events.router, tags=["Events"])
|