from sqlalchemy import Float, String, Text from sqlalchemy.orm import Mapped, mapped_column from app.db.base import Base, UUIDMixin, TenantMixin, TimestampMixin class Invoice(Base, UUIDMixin, TenantMixin, TimestampMixin): __tablename__ = "invoices" order_id: Mapped[str | None] = mapped_column(String(36), index=True) client_id: Mapped[str | None] = mapped_column(String(36)) tip_document: Mapped[str | None] = mapped_column(String(20), default="FACTURA", server_default="FACTURA") nr_factura: Mapped[str | None] = mapped_column(String(50)) serie_factura: Mapped[str | None] = mapped_column(String(20)) data_factura: Mapped[str | None] = mapped_column(Text) modalitate_plata: Mapped[str | None] = mapped_column(String(50)) client_nume: Mapped[str | None] = mapped_column(String(200)) client_cod_fiscal: Mapped[str | None] = mapped_column(String(20)) nr_auto: Mapped[str | None] = mapped_column(String(20)) total_fara_tva: Mapped[float] = mapped_column(Float, default=0, server_default="0") tva: Mapped[float] = mapped_column(Float, default=0, server_default="0") total_general: Mapped[float] = mapped_column(Float, default=0, server_default="0") # Legacy field kept for REST API service compatibility total: Mapped[float] = mapped_column(Float, default=0, server_default="0") status: Mapped[str] = mapped_column(String(20), default="EMISA", server_default="EMISA")