using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; namespace FrameworkDAL.DTO.MessageHub.MessageHubGenerator { public class WebhookDTO { public PostmanEventDTO? PostmanEvent { get; set; } public List? Results { get; set; } // Raw JSON fallback for any unknown fields [JsonExtensionData] public Dictionary AdditionalData { get; set; } = new(); } public class PostmanEventDTO { public string? Payload { get; set; } public string? User { get; set; } [JsonExtensionData] public Dictionary AdditionalData { get; set; } = new(); } public class ResultDTO { public int? TemplateId { get; set; } public string? Channel { get; set; } public string? Recipient { get; set; } public bool? Success { get; set; } public string? ErrorMessage { get; set; } public MessageDTO? Message { get; set; } [JsonExtensionData] public Dictionary AdditionalData { get; set; } = new(); } public class MessageDTO { public string? Mode { get; set; } public string? Recipient { get; set; } public string? Message { get; set; } public string? SentBy { get; set; } public int? ClientId { get; set; } public int? UserId { get; set; } public DateTime? Time { get; set; } public List? Buttons { get; set; } [JsonExtensionData] public Dictionary AdditionalData { get; set; } = new(); } public class ButtonDTO { public string? Id { get; set; } public string? Title { get; set; } [JsonExtensionData] public Dictionary AdditionalData { get; set; } = new(); } }