from pydantic import BaseModel, Field
from typing import List, Optional, Union
from enum import Enum

class StatusesRepairCARequest(BaseModel):
    ids: Optional[List[str]] = Field(
        None,
        description="Массив ID ОГ для фильтрации (например, ['SNPZ', 'KNPZ'])",
        example=["SNPZ", "KNPZ", "ANHK"]
    )
    keys: Optional[List[List[str]]] = Field(
        None,
        description="Массив ключей для извлечения данных (например, [['Дата начала ремонта'], ['Готовность к КР', 'Факт']])",
        example=[
            ["Дата начала ремонта"],
            ["Отставание / опережение подготовки к КР", "Отставание / опережение"],
            ["Отставание / опережение подготовки к КР", "Динамика за прошедшую неделю"],
            ["Готовность к КР", "Факт"],
            ["Заключение договоров на СМР", "Договор", "%"],
            ["Поставка МТР", "На складе, позиций", "%"]
        ]
    )

    class Config:
        json_schema_extra = {
            "example": {
                "ids": ["SNPZ", "KNPZ", "ANHK"],
                "keys": [
                    ["Дата начала ремонта"],
                    ["Готовность к КР", "Факт"],
                    ["Заключение договоров на СМР", "Договор", "%"]
                ]
            }
        }