- 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.
51 lines
2.2 KiB
Python
51 lines
2.2 KiB
Python
from pydantic import BaseModel, Field, ConfigDict
|
|
from typing import Optional
|
|
from datetime import datetime, time
|
|
|
|
|
|
class PedimentoDatesBase(BaseModel):
|
|
"""Base schema for Pedimento Dates"""
|
|
pedimento_id: int = Field(..., description="Pedimento ID")
|
|
tenant_id: int = Field(..., description="Tenant ID")
|
|
entry_date: Optional[datetime] = Field(None, description="Entry date")
|
|
pedimento_date: Optional[datetime] = Field(None, description="Pedimento date")
|
|
payment_date: Optional[datetime] = Field(None, description="Payment date")
|
|
rectification_payment_date: Optional[datetime] = Field(None, description="Rectification payment date")
|
|
extraction_date: Optional[datetime] = Field(None, description="Extraction date")
|
|
submission_date: Optional[datetime] = Field(None, description="Submission date")
|
|
eucan_date: Optional[datetime] = Field(None, description="EUCAN date")
|
|
original_date: Optional[datetime] = Field(None, description="Original date")
|
|
start_date: Optional[datetime] = Field(None, description="Start date")
|
|
end_date: Optional[datetime] = Field(None, description="End date")
|
|
capture_date: Optional[datetime] = Field(None, description="Capture date")
|
|
capture_time: Optional[time] = Field(None, description="Capture time")
|
|
|
|
|
|
class PedimentoDatesCreate(PedimentoDatesBase):
|
|
"""Schema for creating a new Pedimento Dates"""
|
|
pass
|
|
|
|
|
|
class PedimentoDatesUpdate(BaseModel):
|
|
"""Schema for updating a Pedimento Dates"""
|
|
entry_date: Optional[datetime] = None
|
|
pedimento_date: Optional[datetime] = None
|
|
payment_date: Optional[datetime] = None
|
|
rectification_payment_date: Optional[datetime] = None
|
|
extraction_date: Optional[datetime] = None
|
|
submission_date: Optional[datetime] = None
|
|
eucan_date: Optional[datetime] = None
|
|
original_date: Optional[datetime] = None
|
|
start_date: Optional[datetime] = None
|
|
end_date: Optional[datetime] = None
|
|
capture_date: Optional[datetime] = None
|
|
capture_time: Optional[time] = None
|
|
|
|
|
|
class PedimentoDatesResponse(PedimentoDatesBase):
|
|
"""Schema for Pedimento Dates response"""
|
|
id: int
|
|
created_at: datetime
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|