""" Category Schemas - ServiceManagerWeb Pydantic schemas para gestión de categorías de tickets. """ from pydantic import BaseModel, ConfigDict from typing import Optional from datetime import datetime import uuid class CategoryCreate(BaseModel): """Schema para crear categoría. tenant_id opcional para ADMIN global.""" name: str description: Optional[str] = None color: Optional[str] = None sla_response_hours: int = 24 sla_resolution_hours: int = 72 auto_assign_to: Optional[uuid.UUID] = None tenant_id: Optional[uuid.UUID] = None class CategoryUpdate(BaseModel): """Schema para actualizar categoría.""" name: Optional[str] = None description: Optional[str] = None color: Optional[str] = None sla_response_hours: Optional[int] = None sla_resolution_hours: Optional[int] = None auto_assign_to: Optional[uuid.UUID] = None is_active: Optional[bool] = None class CategoryResponse(BaseModel): """Schema de respuesta con todos los campos públicos de la categoría.""" id: uuid.UUID tenant_id: uuid.UUID name: str description: Optional[str] = None color: Optional[str] = None sla_response_hours: int sla_resolution_hours: int auto_assign_to: Optional[uuid.UUID] = None is_active: bool created_at: datetime updated_at: datetime model_config = ConfigDict(from_attributes=True)