- Add auth routes: /auth/login, /auth/callback, /auth/logout - Add OAuth2 flow with Keycloak using HTTP-only cookies - Add web auth dependencies with role checking - Add profile page (read-only) at /web/profile - Update header with user menu (sign in/out, profile) - Filter posts based on user permissions (hide drafts from guests) - Conditionally show/hide create/edit/delete buttons - Add authorization rules documentation to AGENTS.md - Secure post editing/deletion endpoints with auth checks - Add can_edit, can_delete flags to templates
15 lines
535 B
Python
15 lines
535 B
Python
"""Web UI layer for blog application.
|
|
|
|
This package provides HTML endpoints and templates for the blog web interface,
|
|
separate from the JSON API layer. Uses Jinja2 templates with Gitea-inspired
|
|
theme support and comprehensive data-testid attributes for testing.
|
|
|
|
The web layer follows the same DDD principles as the API layer and will
|
|
be integrated with use cases in future iterations.
|
|
"""
|
|
|
|
from app.presentation.web.auth import router as auth_router
|
|
from app.presentation.web.routes import router
|
|
|
|
__all__ = ["router", "auth_router"]
|