Files
marquiz-metrics/app/api/v1/schemas/counter.py

23 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from pydantic import BaseModel, Field, HttpUrl
from typing import List, Optional
class Counter(BaseModel):
"""Схема для одного счетчика Яндекс.Метрики."""
id: int = Field(..., description="ID счетчика")
name: str = Field(..., description="Имя счетчика (название сайта)")
site: str = Field(..., description="URL сайта, привязанного к счетчику")
class CounterListResponse(BaseModel):
"""Схема для ответа со списком счетчиков."""
counters: List[Counter]
class CounterCreateRequest(BaseModel):
"""Схема запроса на создание нового счетчика."""
# Используем HttpUrl для автоматической валидации, что это валидный URL
site_url: HttpUrl = Field(..., description="URL сайта для нового счетчика, например 'https://my-quiz.ru'")
class CounterCreateResponse(BaseModel):
"""Схема ответа после создания счетчика."""
id: int
name: str
code_status: str = Field(..., description="Статус установки кода счетчика, например 'CS_NOT_FOUND'")