from sqlalchemy import Float, String, Text from sqlalchemy.orm import Mapped, mapped_column from app.db.base import Base, UUIDMixin, TenantMixin, TimestampMixin class CatalogMarca(Base, UUIDMixin, TenantMixin, TimestampMixin): __tablename__ = "catalog_marci" nume: Mapped[str] = mapped_column(String(100)) class CatalogModel(Base, UUIDMixin, TimestampMixin): __tablename__ = "catalog_modele" marca_id: Mapped[str] = mapped_column(String(36), index=True) nume: Mapped[str] = mapped_column(String(100)) class CatalogAnsamblu(Base, UUIDMixin, TenantMixin, TimestampMixin): __tablename__ = "catalog_ansamble" nume: Mapped[str] = mapped_column(String(100)) class CatalogNorma(Base, UUIDMixin, TenantMixin, TimestampMixin): __tablename__ = "catalog_norme" ansamblu_id: Mapped[str] = mapped_column(String(36), index=True) descriere: Mapped[str] = mapped_column(Text) ore: Mapped[float] = mapped_column(Float, default=0) class CatalogPret(Base, UUIDMixin, TenantMixin, TimestampMixin): __tablename__ = "catalog_preturi" denumire: Mapped[str] = mapped_column(String(200)) pret: Mapped[float] = mapped_column(Float, default=0) um: Mapped[str] = mapped_column(String(10)) class CatalogTipDeviz(Base, UUIDMixin, TenantMixin, TimestampMixin): __tablename__ = "catalog_tipuri_deviz" nume: Mapped[str] = mapped_column(String(100)) class CatalogTipMotor(Base, UUIDMixin, TenantMixin, TimestampMixin): __tablename__ = "catalog_tipuri_motoare" nume: Mapped[str] = mapped_column(String(50))