29 lines
833 B
Python
29 lines
833 B
Python
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)
|