Add comprehensive Pydantic models and configure templates/static files

- Create detailed Pydantic models for anime requests and responses
- Add AnimeCreateRequest, AnimeUpdateRequest, PaginatedAnimeResponse, etc.
- Update route signatures to use proper response models
- Convert return values to use Pydantic models instead of raw dicts
- Configure Jinja2Templates in FastAPI application
- Mount StaticFiles for CSS, JS, images at /static endpoint
- Update anime search and list endpoints to use typed responses
- Mark completed Pydantic models and template configuration tasks in web_todo.md
This commit is contained in:
2025-10-05 23:10:11 +02:00
parent e15c0a21e0
commit 6e136e832b
3 changed files with 98 additions and 55 deletions

View File

@@ -27,6 +27,8 @@ from fastapi import FastAPI, HTTPException, Depends, Security, status, Request
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from pydantic import BaseModel, Field
from pydantic_settings import BaseSettings
import uvicorn
@@ -228,6 +230,12 @@ app = FastAPI(
lifespan=lifespan
)
# Configure templates
templates = Jinja2Templates(directory="src/server/web/templates")
# Mount static files
app.mount("/static", StaticFiles(directory="src/server/web/static"), name="static")
# Add CORS middleware
app.add_middleware(
CORSMiddleware,