File size: 828 Bytes
538360f c1b303d 538360f c1b303d 538360f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# app/seo/models.py
"""
Pydantic models for SEO requests and recommendations.
"""
from pydantic import BaseModel, Field
from typing import Any, Dict, List
class SEORequest(BaseModel):
"""Payload for incoming SEO data."""
seo_data: Dict[str, Any]
class PrioritySuggestions(BaseModel):
"""Categorized SEO suggestions by effort level."""
high: List[str] = Field(..., description="High-effort SEO suggestion strings.")
medium: List[str] = Field(..., description="Medium-effort SEO suggestion strings.")
low: List[str] = Field(..., description="Low-effort SEO suggestion strings.")
class Recommendation(BaseModel):
"""Wrapper for prioritized SEO suggestions."""
priority_suggestions: PrioritySuggestions = Field(
..., description="All SEO suggestions categorized by effort level."
)
|