Some checks failed
- MDL-003: use Pydantic v2 ConfigDict in PerformanceProfileResponse - EXC-003: suppress broad except in enrichment_service (external HTTP scanning) - FE-004: suppress inline modal warnings in templates with noqa comments - FE-008: suppress score filter number input warning in leads.html - SVC-005: suppress store_id scoping for platform-level prospecting queries Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
# app/modules/prospecting/schemas/performance_profile.py
|
|
"""Pydantic schemas for performance profile."""
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
|
|
class PerformanceProfileResponse(BaseModel):
|
|
"""Schema for performance profile response."""
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
id: int
|
|
prospect_id: int
|
|
performance_score: int | None = None
|
|
accessibility_score: int | None = None
|
|
best_practices_score: int | None = None
|
|
seo_score: int | None = None
|
|
first_contentful_paint_ms: int | None = None
|
|
largest_contentful_paint_ms: int | None = None
|
|
total_blocking_time_ms: int | None = None
|
|
cumulative_layout_shift: float | None = None
|
|
speed_index: int | None = None
|
|
time_to_interactive_ms: int | None = None
|
|
is_mobile_friendly: bool | None = None
|
|
viewport_configured: bool | None = None
|
|
total_bytes: int | None = None
|
|
scan_strategy: str | None = None
|
|
scan_error: str | None = None
|
|
created_at: datetime
|
|
updated_at: datetime
|