Add per-section TG classifications
All checks were successful
CI / go (push) Successful in 16s
CI / python (push) Successful in 2s
Build and Deploy / build-and-deploy (push) Successful in 46s

This commit is contained in:
Grendgi
2026-06-11 17:06:00 +03:00
parent f66ca4b6d4
commit fc696c9e13
4 changed files with 144 additions and 26 deletions

View File

@@ -119,6 +119,24 @@ class Message(Base):
channel: Mapped[Channel] = relationship(back_populates="messages")
class MessageClassification(Base):
__tablename__ = "message_classifications"
__table_args__ = (
UniqueConstraint("message_id", "section_id", name="uq_message_classification_section"),
Index("ix_message_classifications_message", "message_id"),
Index("ix_message_classifications_section", "section_id"),
)
id: Mapped[int] = mapped_column(primary_key=True)
message_id: Mapped[int] = mapped_column(ForeignKey("messages.id", ondelete="CASCADE"))
section_id: Mapped[int] = mapped_column(ForeignKey("sections.id", ondelete="CASCADE"))
vertical: Mapped[str] = mapped_column(String(32))
verdict: Mapped[dict] = mapped_column(JSONB)
updated_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), server_default=func.now()
)
class AppSetting(Base):
"""Runtime-editable settings, edited from the UI without a restart."""