- Implemented service classes for PedimentoConfigParameters, PedimentoConfigSurcharges, PedimentoConfigUpdateRectification, PedimentoConfigUpdates, PedimentoCustomsOffices, PedimentoDates, PedimentoDecrementables, PedimentoIncrementables, PedimentoIndexes, PedimentoPayments, PedimentoRectificationDestination, PedimentoRectificationOrigin, PedimentoTransportMeans, and PedimentoValidation. - Each service class includes methods for CRUD operations: create, read, update, and delete. - Added a main router for the API v1, integrating various modules including authentication, tenants, licenses, and pedimentos. - Created models for PedimentoValidation with appropriate constraints and relationships.
46 lines
1.9 KiB
Python
46 lines
1.9 KiB
Python
from pydantic import BaseModel, Field, ConfigDict
|
|
from typing import Optional
|
|
from decimal import Decimal
|
|
from datetime import datetime
|
|
|
|
|
|
class PedimentoDecrementablesBase(BaseModel):
|
|
"""Base schema for Pedimento Decrementables"""
|
|
pedimento_id: int = Field(..., description="Pedimento ID")
|
|
tenant_id: int = Field(..., description="Tenant ID")
|
|
freight: Optional[Decimal] = Field(None, description="Freight")
|
|
insurance: Optional[Decimal] = Field(None, description="Insurance")
|
|
loading: Optional[Decimal] = Field(None, description="Loading")
|
|
unloading: Optional[Decimal] = Field(None, description="Unloading")
|
|
others: Optional[Decimal] = Field(None, description="Others")
|
|
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 PedimentoDecrementablesCreate(PedimentoDecrementablesBase):
|
|
"""Schema for creating a new Pedimento Decrementables"""
|
|
pass
|
|
|
|
|
|
class PedimentoDecrementablesUpdate(BaseModel):
|
|
"""Schema for updating a Pedimento Decrementables"""
|
|
freight: Optional[Decimal] = None
|
|
insurance: Optional[Decimal] = None
|
|
loading: Optional[Decimal] = None
|
|
unloading: Optional[Decimal] = None
|
|
others: 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 PedimentoDecrementablesResponse(PedimentoDecrementablesBase):
|
|
"""Schema for Pedimento Decrementables response"""
|
|
id: int
|
|
created_at: datetime
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|