Initial clean commit of the project

This commit is contained in:
2025-08-23 21:47:21 +01:00
commit 0ef448008a
31 changed files with 1455 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
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'")