using System.Text.Json; using System.Text.Json.Nodes; using Alchegos.Core.Services.RabbitMQ; namespace Alchegos.Gitea.Webhook.Handlers; public class IssueCommentEventHandler : IGiteaEventHandler { public async Task HandleAsync(JsonNode payload, IRabbitPublisher publisher) { if (payload["action"]?.ToString() != "created") return; var message = new Dictionary { {"repo_url", payload["repository"]?["url"]?.ToString()}, {"repo_owner", payload["repository"]?["owner"]?["login"]?.ToString()}, {"repo_name", payload["repository"]?["name"]?.ToString()}, {"issue_id", payload["issue"]?["id"]?.ToString()}, {"comment_id", payload["comment"]?["id"]?.ToString()}, }; await publisher.PublishAsync("alchegos", "issue_commented", JsonSerializer.Serialize(message)); } }