feat: init commint

This commit is contained in:
2026-09-18 15:26:19 +08:00
parent 3b61a767a0
commit 9f47dbb5cc
95 changed files with 7712 additions and 1137 deletions

View File

@@ -1,4 +1,3 @@
from django.db import transaction
from ninja import Router
from ninja.errors import HttpError
@@ -18,6 +17,7 @@ from apps.channels.services import (
ingest_inbound_message,
queue_outbound_message,
record_channel_receipt,
retry_outbound_message,
verify_webhook_signature,
)
from apps.modelhub.crypto import encrypt_secret
@@ -182,18 +182,10 @@ def retry_channel_message(request, public_id: str):
)
if message is None:
raise HttpError(404, "出站消息不存在")
if message.status != "failed":
raise HttpError(409, "仅失败消息可以重试")
message.status = "queued"
message.error_message = ""
message.save(update_fields=["status", "error_message", "updated_at"])
def enqueue_delivery():
from apps.channels.tasks import deliver_channel_message_task
deliver_channel_message_task.delay(message.id)
transaction.on_commit(enqueue_delivery)
try:
message = retry_outbound_message(message, actor=request.user)
except ChannelError as error:
raise HttpError(409, str(error)) from error
return serialize_message(message)