""" Tenant Schemas - ServiceManagerWeb Pydantic schemas para gestión de tenants (organizaciones cliente). """ from pydantic import BaseModel, ConfigDict, EmailStr from typing import Optional import uuid from app.models.tenant import TenantStatus class TenantBase(BaseModel): """Campos base compartidos entre Create y Response.""" name: str slug: str domain: Optional[str] = None contact_email: Optional[EmailStr] = None contact_phone: Optional[str] = None class TenantCreate(TenantBase): """Schema para crear un nuevo tenant.""" pass class TenantUpdate(BaseModel): """Schema para actualizar un tenant existente.""" name: Optional[str] = None slug: Optional[str] = None domain: Optional[str] = None contact_email: Optional[EmailStr] = None contact_phone: Optional[str] = None status: Optional[TenantStatus] = None class TenantResponse(TenantBase): """Schema de respuesta con todos los campos públicos del tenant.""" id: uuid.UUID status: TenantStatus model_config = ConfigDict(from_attributes=True)