from typing import Any, Dict, Optional from pydantic import BaseModel, ConfigDict from enum import Enum class OperationType(str, Enum): IMP = "imp" # Importación EXP = "exp" # Exportación SM_IN = "sm_in" # Entrada SM SM_OUT = "sm_out" # Salida SM CTM_SEND = "ctm_send" # Envío CTM CTM_RECEIVE = "ctm_receive" # Recibo CTM class InvoiceSettingsBase(BaseModel): invoice_type: str operation_type: OperationType settings: Dict[str, Any] class InvoiceSettingsRequest(InvoiceSettingsBase): """Schema for creating or updating invoice settings""" pass class InvoiceSettingsResponse(InvoiceSettingsBase): """Schema for returning invoice settings""" id: int tenant_id: int company_id: int model_config = ConfigDict(from_attributes=True)