diff --git a/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Media/MediaPhotoRequestValidator.cs b/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Media/MediaPhotoRequestValidator.cs index 20c2e4f..4561c75 100644 --- a/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Media/MediaPhotoRequestValidator.cs +++ b/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Media/MediaPhotoRequestValidator.cs @@ -2,19 +2,19 @@ using Microsoft.EntityFrameworkCore.Scaffolding.Metadata; using WatchIt.Common.Model.Media; using WatchIt.Database; +using WatchIt.WebAPI.Validators.Photos; namespace WatchIt.WebAPI.Validators.Media; public class MediaPhotoRequestValidator : AbstractValidator { - public MediaPhotoRequestValidator(DatabaseContext database) + public MediaPhotoRequestValidator() { RuleFor(x => x.Image).NotEmpty(); RuleFor(x => x.MimeType).Matches(@"\w+/.+").WithMessage("Incorrect mimetype"); When(x => x.Background is not null, () => { - RuleFor(x => x.Background!.FirstGradientColor).Must(x => x.Length == 3).WithMessage("First gradient color has to be 3 byte long"); - RuleFor(x => x.Background!.SecondGradientColor).Must(x => x.Length == 3).WithMessage("Second gradient color has to be 3 byte long"); + RuleFor(x => x.Background!).SetValidator(new PhotoBackgroundDataValidator()); }); } } \ No newline at end of file diff --git a/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataRequestValidator.cs b/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataRequestValidator.cs new file mode 100644 index 0000000..bbf414e --- /dev/null +++ b/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataRequestValidator.cs @@ -0,0 +1,12 @@ +using FluentValidation; +using WatchIt.Common.Model.Photos; + +namespace WatchIt.WebAPI.Validators.Photos; + +public class PhotoBackgroundDataRequestValidator : AbstractValidator +{ + public PhotoBackgroundDataRequestValidator() + { + RuleFor(x => x).SetValidator(new PhotoBackgroundDataValidator()); + } +} \ No newline at end of file diff --git a/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataValidator.cs b/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataValidator.cs new file mode 100644 index 0000000..58f0d8a --- /dev/null +++ b/WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataValidator.cs @@ -0,0 +1,13 @@ +using FluentValidation; +using WatchIt.Common.Model.Photos; + +namespace WatchIt.WebAPI.Validators.Photos; + +public class PhotoBackgroundDataValidator : AbstractValidator +{ + public PhotoBackgroundDataValidator() + { + RuleFor(x => x.FirstGradientColor).Must(x => x.Length == 3).WithMessage("First gradient color has to be 3 byte long"); + RuleFor(x => x.SecondGradientColor).Must(x => x.Length == 3).WithMessage("Second gradient color has to be 3 byte long"); + } +} \ No newline at end of file