Files
plantillas-proyectos/backend/api/v1/modules/a76/pedmientos/dtos/pedimento_incrementables.py
acazares b68c4316ff Refactor backend and frontend code for improved structure and functionality
- Rearranged imports in multiple files for consistency and clarity.
- Updated logging middleware to exclude specific paths from logging.
- Enhanced security module by cleaning up token handling and improving tenant validation.
- Added tenant and company scoped mixins for better database model management.
- Implemented generic CRUD routes for tenant-scoped resources.
- Improved error handling and response management in API routes.
- Cleaned up login and logout processes to ensure proper session management.
- Introduced mechanisms to clear local storage and cookies on tenant change.
- Enhanced company store to detect tenant changes and clear data accordingly.
- Added new DTO mixins for currency and value affect flags.
2025-11-11 17:20:47 -06:00

57 lines
2.0 KiB
Python

from datetime import datetime
from decimal import Decimal
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field
class PedimentoIncrementablesBase(BaseModel):
"""Base schema for Pedimento Incrementables"""
pedimento_id: int = Field(..., description="Pedimento ID")
tenant_id: int = Field(..., description="Tenant ID")
insured_value: Optional[Decimal] = Field(None, description="Insured value")
freight: Optional[Decimal] = Field(None, description="Freight")
insurance: Optional[Decimal] = Field(None, description="Insurance")
packaging: Optional[Decimal] = Field(None, description="Packaging")
others: Optional[Decimal] = Field(None, description="Others")
deductibles: Optional[Decimal] = Field(None, description="Deductibles")
currency: Optional[str] = Field(None, max_length=3, description="Currency")
currency_factor: Optional[Decimal] = Field(None, description="Currency factor")
not_affect_usd_value: Optional[int] = Field(
None, description="Not affect USD value"
)
not_affect_customs_value: Optional[int] = Field(
None, description="Not affect customs value"
)
class PedimentoIncrementablesCreate(PedimentoIncrementablesBase):
"""Schema for creating a new Pedimento Incrementables"""
pass
class PedimentoIncrementablesUpdate(BaseModel):
"""Schema for updating a Pedimento Incrementables"""
insured_value: Optional[Decimal] = None
freight: Optional[Decimal] = None
insurance: Optional[Decimal] = None
packaging: Optional[Decimal] = None
others: Optional[Decimal] = None
deductibles: Optional[Decimal] = None
currency: Optional[str] = Field(None, max_length=3)
currency_factor: Optional[Decimal] = None
not_affect_usd_value: Optional[int] = None
not_affect_customs_value: Optional[int] = None
class PedimentoIncrementablesResponse(PedimentoIncrementablesBase):
"""Schema for Pedimento Incrementables response"""
id: int
created_at: datetime
model_config = ConfigDict(from_attributes=True)