Modelli flusso valutazione Eurotax
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
from datetime import datetime, timezone
|
||||
from decimal import Decimal
|
||||
from sqlalchemy import (
|
||||
String, DateTime, DECIMAL, Integer, Text,
|
||||
ForeignKey, JSON
|
||||
)
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
from app.core.database import Base
|
||||
|
||||
|
||||
class MotornetValuation(Base):
|
||||
__tablename__ = "motornet_valuations"
|
||||
|
||||
id: Mapped[int] = mapped_column(Integer, primary_key=True)
|
||||
valuation_id: Mapped[int] = mapped_column(Integer, ForeignKey("valuations.id"), nullable=False, index=True)
|
||||
plate: Mapped[str] = mapped_column(String(10), nullable=False, index=True)
|
||||
motornet_code: Mapped[str | None] = mapped_column(String(20))
|
||||
fetched_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True), default=lambda: datetime.now(timezone.utc)
|
||||
)
|
||||
|
||||
registration_year: Mapped[int | None] = mapped_column(Integer)
|
||||
registration_month: Mapped[int | None] = mapped_column(Integer)
|
||||
mileage: Mapped[int | None] = mapped_column(Integer)
|
||||
|
||||
motornet_id: Mapped[int | None] = mapped_column(Integer)
|
||||
ediz_dati: Mapped[str | None] = mapped_column(String(20))
|
||||
brand_name: Mapped[str | None] = mapped_column(String(100))
|
||||
model_description: Mapped[str | None] = mapped_column(String(200))
|
||||
allestimento: Mapped[str | None] = mapped_column(String(255))
|
||||
alimentazione: Mapped[str | None] = mapped_column(String(100))
|
||||
immagine_url: Mapped[str | None] = mapped_column(String(500))
|
||||
xml_url: Mapped[str | None] = mapped_column(String(500))
|
||||
percorrenza_media_km: Mapped[int | None] = mapped_column(Integer)
|
||||
|
||||
quotazione_blu: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
quotazione_blu_km: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
quotazione_giallo: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
quotazione_giallo_km: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
quotazione_blu_totale: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
quotazione_giallo_totale: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
variazione_km: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
|
||||
prezzo_listino: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
prezzo_accessori: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
totale_riparazioni_carrozzeria: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
totale_riparazioni_meccanica: Mapped[Decimal | None] = mapped_column(DECIMAL(12, 2))
|
||||
|
||||
raw_response: Mapped[dict | None] = mapped_column(JSON)
|
||||
|
||||
valuation: Mapped["Valuation"] = relationship("Valuation", back_populates="motornet_valuations")
|
||||
Reference in New Issue
Block a user