35 lines
724 B
Python
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)
|