namespace HrynCo.NotificationService.Worker; using HrynCo.NotificationService.Contracts.Messages; using HrynCo.NotificationService.Worker.Services.EmailProcessing; using Hrynco.RabbitMq; internal static class SendEmailDeliveryValidator { public static string? GetValidationError( SendEmailMessage message, RabbitMqMessageContext context, string supportedMessageType) { if (string.IsNullOrWhiteSpace(context.MessageId)) return "AMQP MessageId is required."; if (!string.Equals(context.MessageType, supportedMessageType, StringComparison.Ordinal)) return $"Unsupported AMQP message type '{context.MessageType ?? ""}'."; try { SendEmailMessageValidator.Validate(message); return null; } catch (InvalidDataException exception) { return exception.Message; } } }