From d02207a33534aca7105667212a5a4c5f2704acd5 Mon Sep 17 00:00:00 2001 From: Mateusz Skoczek Date: Wed, 25 Sep 2024 22:24:15 +0200 Subject: [PATCH] photo validators fixed --- .../Media/MediaPhotoRequestValidator.cs | 6 +++--- .../Photos/PhotoBackgroundDataRequestValidator.cs | 12 ++++++++++++ .../Photos/PhotoBackgroundDataValidator.cs | 13 +++++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataRequestValidator.cs create mode 100644 WatchIt.WebAPI/WatchIt.WebAPI.Validators/Photos/PhotoBackgroundDataValidator.cs 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