geo/backend/app/schemas/health_score.py

35 lines
724 B
Python

from __future__ import annotations
from pydantic import BaseModel, Field
class HealthScoreDimension(BaseModel):
name: str
score: float
max_score: float
percentage: float
status: str
class HealthScoreRecommendation(BaseModel):
priority: str
dimension: str
title: str
description: str
class HealthScoreResponse(BaseModel):
brand_name: str
overall_score: float
health_level: str
health_level_label: str
dimensions: list[HealthScoreDimension]
recommendations: list[HealthScoreRecommendation]
is_full_report: bool = False
cached: bool = False
class HealthScoreRequest(BaseModel):
brand: str
competitors: list[str] = Field(default_factory=list)