"""SQLAlchemy model for the product_contributors table.""" from datetime import datetime from sqlalchemy import DateTime, func from sqlalchemy.dialects.mysql import INTEGER from sqlalchemy.orm import Mapped, mapped_column from contributor.connectors.mysql import BaseModel class ProductContributor(BaseModel): """Product contributor model.""" __tablename__ = "product_contributors" id: Mapped[int] = mapped_column( INTEGER(unsigned=True), primary_key=True, autoincrement=True, ) product_id: Mapped[int] = mapped_column(INTEGER(unsigned=True), nullable=False) contributor_id: Mapped[int] = mapped_column(INTEGER(unsigned=True), nullable=False) contributor_role_id: Mapped[int] = mapped_column( INTEGER(unsigned=True), nullable=False ) sequence_number: Mapped[int] = mapped_column( INTEGER(unsigned=True), nullable=False, default=0 ) created_at: Mapped[datetime] = mapped_column( DateTime, nullable=False, default=func.now() ) updated_at: Mapped[datetime] = mapped_column( DateTime, nullable=False, default=func.now(), onupdate=func.now() )