STABLE: Final schema sync, optimized gitignore
This commit is contained in:
@@ -1,35 +1,35 @@
|
||||
from pydantic import BaseModel, Field
|
||||
# /opt/docker/dev/service_finder/backend/app/schemas/asset_cost.py
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Optional, Dict, Any
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
from uuid import UUID
|
||||
|
||||
class AssetCostBase(BaseModel):
|
||||
"""Alap költség adatok (Frontendről érkező bevitel)."""
|
||||
cost_type: str = Field(..., description="fuel, service, fine, insurance, toll, etc.")
|
||||
amount_local: Decimal = Field(..., description="A fizetett bruttó összeg helyi devizában")
|
||||
currency_local: str = Field("HUF", min_length=3, max_length=3)
|
||||
date: datetime = Field(default_factory=datetime.now)
|
||||
mileage_at_cost: Optional[int] = Field(None, description="Kilométeróra állása a költség rögzítésekor")
|
||||
description: Optional[str] = None
|
||||
cost_type: str # fuel, service, tax, insurance
|
||||
amount_local: Decimal
|
||||
currency_local: str = "HUF"
|
||||
net_amount_local: Optional[Decimal] = None
|
||||
vat_rate: Optional[Decimal] = Field(27.0, description="ÁFA kulcs (pl. 27.0)")
|
||||
data: Optional[Dict[str, Any]] = Field(default_factory=dict, description="Extra adatok (pl. helyszín, számlaszám)")
|
||||
vat_rate: Optional[Decimal] = Field(default=27.0)
|
||||
|
||||
date: datetime = Field(default_factory=datetime.now)
|
||||
mileage_at_cost: Optional[int] = None
|
||||
description: Optional[str] = None
|
||||
data: Dict[str, Any] = Field(default_factory=dict) # nyugta adatai, GPS koordináták
|
||||
|
||||
class AssetCostCreate(AssetCostBase):
|
||||
"""Költség rögzítésekor használt séma."""
|
||||
asset_id: UUID
|
||||
organization_id: int
|
||||
|
||||
class AssetCostResponse(AssetCostBase):
|
||||
"""Visszatérő adat modell a frontend felé."""
|
||||
id: UUID
|
||||
asset_id: UUID
|
||||
organization_id: int
|
||||
driver_id: Optional[int]
|
||||
amount_eur: Decimal
|
||||
exchange_rate_used: Decimal
|
||||
created_at: Optional[datetime] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
driver_id: Optional[int] = None
|
||||
|
||||
# Pénzügyi dúsítás (Backend számolja)
|
||||
amount_eur: Optional[Decimal] = None
|
||||
exchange_rate_used: Optional[Decimal] = None
|
||||
created_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
Reference in New Issue
Block a user