from fansifter_common.adapters.db.types import ChoiceType from sqlalchemy.orm import Mapped, mapped_column from dmp.adapters.db import ReportingModel from dmp.artists.enums import VirtualParticipantType class VirtualParticipant(ReportingModel, kw_only=True): __tablename__ = "virtual_participant" id: Mapped[str] = mapped_column(primary_key=True) name: Mapped[str] = mapped_column(primary_key=True) type: Mapped[VirtualParticipantType] = mapped_column( ChoiceType(VirtualParticipantType), default=VirtualParticipantType.PENDING_ARTIST, ) spotify_id: Mapped[str | None] = mapped_column(default=None) crm_mailing_list_id: Mapped[str | None] = mapped_column(default=None)