"""Модель GuestAccess — гость, представившийся при входе в конференцию (ADR-001, п.6).""" import uuid from datetime import datetime from sqlalchemy import DateTime, ForeignKey, String, func, text from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import Mapped, mapped_column from models.base import Base class GuestAccess(Base): """Запись о госте: имя обязательно, email — факультативен (для рассылки саммари).""" __tablename__ = "guest_access" id: Mapped[uuid.UUID] = mapped_column( UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()") ) conference_id: Mapped[uuid.UUID] = mapped_column( UUID(as_uuid=True), ForeignKey("conferences.id", ondelete="CASCADE"), nullable=False ) display_name: Mapped[str] = mapped_column(String(255), nullable=False) email: Mapped[str | None] = mapped_column(String(320), nullable=True) created_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), nullable=False, server_default=func.now() )