webmentai / models /reports_model.py
subhandev1
Deploy FastAPI backend with Brevo email, contact form, and SEO reports
f5e7f79
Raw
History Blame Contribute Delete
857 Bytes
from pydantic import BaseModel, HttpUrl
from typing import List, Optional
from datetime import datetime
class PageDetail(BaseModel):
page_url: HttpUrl
load_time_ms: Optional[float] = None
schemas: Optional[bool] = None
issues_found: Optional[List[str]] = []
class IssueDetail(BaseModel):
page_url: Optional[HttpUrl] = None
duplicate_with: Optional[List[HttpUrl]] = None
snippet: Optional[str] = None
count: Optional[int] = None
class Issue(BaseModel):
type: str
description: str
details: Optional[IssueDetail] = None
class ReportCreate(BaseModel):
user_id: str
website: HttpUrl
pages: Optional[List[PageDetail]] = []
issues: List[Issue] = []
recommendations: List[str] = []
class ReportResponse(ReportCreate):
id: str
audit_date: datetime
status: str = "completed"