Some checks failed
Migrates scanning pipeline from marketing-.lu-domains app into Orion module. Supports digital (domain scan) and offline (manual capture) lead channels with enrichment, scoring, campaign management, and interaction tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
1.0 KiB
Python
34 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
|
|
|
|
|
|
class PerformanceProfileResponse(BaseModel):
|
|
"""Schema for performance profile response."""
|
|
|
|
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
|
|
|
|
class Config:
|
|
from_attributes = True
|