feat: add api and mcp

This commit is contained in:
h
2026-05-30 01:32:35 +02:00
parent 6a5cde6ae4
commit c40e720163
30 changed files with 2354 additions and 31 deletions
+66
View File
@@ -410,3 +410,69 @@ class Link(SQLModel, table=True):
raw: dict[str, Any] = Field(
default_factory=dict, sa_column=Column(JSONB, nullable=False)
)
class Annotation(SQLModel, table=True):
__tablename__ = "annotations"
id: int | None = Field(default=None, primary_key=True)
account_id: int
chat_id: int = Field(sa_column=Column(BigInteger, nullable=False, index=True))
message_id: int = Field(sa_column=Column(BigInteger, nullable=False))
text: str
created_at: datetime = Field(
sa_column=Column(
DateTime(timezone=True), nullable=False, server_default=func.now()
)
)
updated_at: datetime = Field(
sa_column=Column(
DateTime(timezone=True),
nullable=False,
server_default=func.now(),
onupdate=func.now(),
)
)
class Watch(SQLModel, table=True):
__tablename__ = "watches"
id: int | None = Field(default=None, primary_key=True)
account_id: int
kind: str
params: dict[str, Any] = Field(
default_factory=dict, sa_column=Column(JSONB, nullable=False)
)
enabled: bool = True
created_at: datetime = Field(
sa_column=Column(
DateTime(timezone=True), nullable=False, server_default=func.now()
)
)
updated_at: datetime = Field(
sa_column=Column(
DateTime(timezone=True),
nullable=False,
server_default=func.now(),
onupdate=func.now(),
)
)
class Alert(SQLModel, table=True):
__tablename__ = "alerts"
id: int | None = Field(default=None, primary_key=True)
account_id: int
watch_id: int = Field(foreign_key="watches.id")
ts: datetime = Field(sa_column=Column(DateTime(timezone=True), nullable=False))
payload: dict[str, Any] = Field(
default_factory=dict, sa_column=Column(JSONB, nullable=False)
)
seen: bool = False
created_at: datetime = Field(
sa_column=Column(
DateTime(timezone=True), nullable=False, server_default=func.now()
)
)