mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-06-11 01:45:58 +00:00
Align IM connections with local channels
This commit is contained in:
@@ -5,7 +5,6 @@ from deerflow.persistence.channel_connections.model import (
|
||||
ChannelConversationRow,
|
||||
ChannelCredentialRow,
|
||||
ChannelOAuthStateRow,
|
||||
ChannelWebhookDeliveryRow,
|
||||
)
|
||||
from deerflow.persistence.channel_connections.sql import (
|
||||
ChannelConnectionRepository,
|
||||
@@ -19,5 +18,4 @@ __all__ = [
|
||||
"ChannelCredentialCipher",
|
||||
"ChannelCredentialRow",
|
||||
"ChannelOAuthStateRow",
|
||||
"ChannelWebhookDeliveryRow",
|
||||
]
|
||||
|
||||
@@ -109,13 +109,3 @@ class ChannelConversationRow(Base):
|
||||
name="uq_channel_conversation_connection_external",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
class ChannelWebhookDeliveryRow(Base):
|
||||
__tablename__ = "channel_webhook_deliveries"
|
||||
|
||||
provider: Mapped[str] = mapped_column(String(32), primary_key=True)
|
||||
delivery_id: Mapped[str] = mapped_column(String(128), primary_key=True)
|
||||
payload_sha256: Mapped[str] = mapped_column(String(64), nullable=False)
|
||||
event_type: Mapped[str | None] = mapped_column(String(64), nullable=True)
|
||||
processed_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), nullable=False, default=_utc_now)
|
||||
|
||||
@@ -18,7 +18,6 @@ from deerflow.persistence.channel_connections.model import (
|
||||
ChannelConversationRow,
|
||||
ChannelCredentialRow,
|
||||
ChannelOAuthStateRow,
|
||||
ChannelWebhookDeliveryRow,
|
||||
)
|
||||
from deerflow.utils.time import coerce_iso
|
||||
|
||||
@@ -345,30 +344,3 @@ class ChannelConnectionRepository:
|
||||
ChannelConversationRow.external_topic_id == (external_topic_id or ""),
|
||||
)
|
||||
return (await session.execute(stmt)).scalar_one_or_none()
|
||||
|
||||
async def record_webhook_delivery(
|
||||
self,
|
||||
*,
|
||||
provider: str,
|
||||
delivery_id: str,
|
||||
payload_sha256: str,
|
||||
event_type: str | None = None,
|
||||
) -> bool:
|
||||
async with self.session_factory() as session:
|
||||
existing = await session.get(
|
||||
ChannelWebhookDeliveryRow,
|
||||
{"provider": provider, "delivery_id": delivery_id},
|
||||
)
|
||||
if existing is not None:
|
||||
return False
|
||||
|
||||
session.add(
|
||||
ChannelWebhookDeliveryRow(
|
||||
provider=provider,
|
||||
delivery_id=delivery_id,
|
||||
payload_sha256=payload_sha256,
|
||||
event_type=event_type,
|
||||
)
|
||||
)
|
||||
await session.commit()
|
||||
return True
|
||||
|
||||
@@ -19,7 +19,6 @@ from deerflow.persistence.channel_connections.model import (
|
||||
ChannelConversationRow,
|
||||
ChannelCredentialRow,
|
||||
ChannelOAuthStateRow,
|
||||
ChannelWebhookDeliveryRow,
|
||||
)
|
||||
from deerflow.persistence.feedback.model import FeedbackRow
|
||||
from deerflow.persistence.models.run_event import RunEventRow
|
||||
@@ -32,7 +31,6 @@ __all__ = [
|
||||
"ChannelConversationRow",
|
||||
"ChannelCredentialRow",
|
||||
"ChannelOAuthStateRow",
|
||||
"ChannelWebhookDeliveryRow",
|
||||
"FeedbackRow",
|
||||
"RunEventRow",
|
||||
"RunRow",
|
||||
|
||||
Reference in New Issue
Block a user