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