Establishes foundation for migrating baseball simulation from Discord bot to web application using service-oriented architecture pattern. Key components: - FastAPI application structure with dependency injection - Service layer foundation with base classes and container - Comprehensive directory documentation with README files - PostgreSQL containerization with Docker Compose - Testing structure for unit/integration/e2e tests - Migration planning documentation - Rotating log configuration per user requirements Architecture follows Model/Service/Controller pattern to improve testability, maintainability, and scalability over original monolithic Discord app. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
"""
|
|
Authentication routes for Discord OAuth and session management.
|
|
Uses AuthService following Model/Service Architecture.
|
|
"""
|
|
|
|
import logging
|
|
from fastapi import APIRouter, HTTPException, Depends
|
|
from app.services.service_container import AuthServiceDep
|
|
|
|
|
|
logger = logging.getLogger(f'{__name__}.auth_router')
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/login")
|
|
async def login_redirect():
|
|
"""Redirect to Discord OAuth login."""
|
|
# TODO: Implement Discord OAuth redirect
|
|
raise HTTPException(status_code=501, detail="Discord OAuth not yet implemented")
|
|
|
|
|
|
@router.get("/callback")
|
|
async def auth_callback(code: str, auth_service: AuthServiceDep):
|
|
"""Handle Discord OAuth callback."""
|
|
# TODO: Implement OAuth callback handling using AuthService
|
|
raise HTTPException(status_code=501, detail="OAuth callback not yet implemented")
|
|
|
|
|
|
@router.post("/logout")
|
|
async def logout():
|
|
"""Logout user and invalidate session."""
|
|
# TODO: Implement logout using AuthService
|
|
raise HTTPException(status_code=501, detail="Logout not yet implemented") |