- 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.
57 lines
2.0 KiB
Python
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)
|