namespace ROLAC.API.DTOs.Notifications; /// Top-level Line webhook payload (deserialized case-insensitively). public sealed class LineWebhookPayload { public List? Events { get; set; } } public sealed class LineWebhookEvent { public string? Type { get; set; } // follow | message | join | leave | ... public string? ReplyToken { get; set; } public LineWebhookSource? Source { get; set; } public LineWebhookMessage? Message { get; set; } } public sealed class LineWebhookSource { public string? Type { get; set; } // user | group | room public string? UserId { get; set; } public string? GroupId { get; set; } } public sealed class LineWebhookMessage { public string? Type { get; set; } // text | image | ... public string? Text { get; set; } }