"""Report Contract Model.""" from decimal import Decimal from sqlalchemy import Numeric from sqlalchemy.orm import Mapped, mapped_column from collaborator.connectors import mysql class ReportContract(mysql.BaseModel): """Represents a collaborator report contract in the collaborator database.""" __tablename__ = "report_contract" report_contract_id: Mapped[int] = mapped_column("id", primary_key=True) report_id: Mapped[int] contract_id: Mapped[int] amount: Mapped[Decimal] = mapped_column(Numeric(18, 6)) currency: Mapped[str] def to_dict(self): """Report contract data dictionary.""" return { "id": self.report_contract_id, "report_id": self.report_id, "contract_id": self.contract_id, "amount": float(self.amount), "currency": self.currency, }