refactor: Extract models, config, and main app setup
Local Docker Build (Dev) / build-dev (push) Successful in 33s

- Create modular directory structure
  - Extract Pydantic models to api/models.py
  - Move configuration to config/settings.py
  - Create clean main.py with FastAPI app setup

  WIP: Routes and processor classes still need extraction
This commit is contained in:
2025-09-25 15:32:51 -04:00
parent a4c333aa85
commit 5adc596077
8 changed files with 218 additions and 0 deletions
View File
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/env python3
"""
Pydantic models for NFOGuard API requests and responses
"""
from pydantic import BaseModel
from typing import Optional, Dict, Any, List
class SonarrWebhook(BaseModel):
eventType: str
series: Optional[Dict[str, Any]] = None
episodes: Optional[list] = []
episodeFile: Optional[Dict[str, Any]] = None
isUpgrade: Optional[bool] = False
class Config:
extra = "allow"
class RadarrWebhook(BaseModel):
eventType: str
movie: Optional[Dict[str, Any]] = None
movieFile: Optional[Dict[str, Any]] = None
isUpgrade: Optional[bool] = False
deletedFiles: Optional[list] = []
remoteMovie: Optional[Dict[str, Any]] = None
renamedMovieFiles: Optional[List[Dict[str, Any]]] = None
class Config:
extra = "allow"
class HealthResponse(BaseModel):
status: str
version: str
uptime: str
database_status: str
radarr_database: Optional[Dict[str, Any]] = None
class TVSeasonRequest(BaseModel):
series_path: str
season_name: str
class TVEpisodeRequest(BaseModel):
series_path: str
season_name: str
episode_name: str