feat: add jetstream config validation models
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
using NATS.Server.JetStream.Models;
|
||||
|
||||
namespace NATS.Server.JetStream.Validation;
|
||||
|
||||
public static class JetStreamConfigValidator
|
||||
{
|
||||
public static ValidationResult Validate(StreamConfig config)
|
||||
=> string.IsNullOrWhiteSpace(config.Name) || config.Subjects.Count == 0
|
||||
? ValidationResult.Invalid("name/subjects required")
|
||||
: ValidationResult.Valid();
|
||||
}
|
||||
|
||||
public sealed class ValidationResult
|
||||
{
|
||||
public bool IsValid { get; }
|
||||
public string Message { get; }
|
||||
|
||||
private ValidationResult(bool isValid, string message)
|
||||
{
|
||||
IsValid = isValid;
|
||||
Message = message;
|
||||
}
|
||||
|
||||
public static ValidationResult Valid() => new(true, string.Empty);
|
||||
public static ValidationResult Invalid(string message) => new(false, message);
|
||||
}
|
||||
Reference in New Issue
Block a user