from pydantic import BaseModel, Field
from typing import Optional, List


class OperSpravkaTechPosRequest(BaseModel):
    """Запрос для получения данных операционной справки технологических позиций"""
    id: str = Field(..., description="ID ОГ (например, 'SNPZ', 'KNPZ')")
    
    class Config:
        json_schema_extra = {
            "example": {
                "id": "SNPZ"
            }
        }


class OperSpravkaTechPosResponse(BaseModel):
    """Ответ с данными операционной справки технологических позиций"""
    success: bool = Field(..., description="Статус успешности операции")
    data: Optional[List[dict]] = Field(None, description="Данные по технологическим позициям")
    message: Optional[str] = Field(None, description="Сообщение о результате операции")
    
    class Config:
        json_schema_extra = {
            "example": {
                "success": True,
                "data": [
                    {
                        "Процесс": "Первичная переработка",
                        "Установка": "ЭЛОУ-АВТ-6",
                        "План, т": 14855.0,
                        "Факт, т": 15149.647,
                        "id": "SNPZ.EAVT6"
                    }
                ],
                "message": "Данные успешно получены"
            }
        }