using FluentValidation; namespace Azaion.Common.Requests; public class GetResourceRequest { public string Password { get; set; } = null!; public string Hardware { get; set; } = null!; public string FileName { get; set; } = null!; } public class GetResourceRequestValidator : AbstractValidator { public GetResourceRequestValidator() { RuleFor(r => r.Password) .MinimumLength(8) .WithErrorCode(ExceptionEnum.PasswordLengthIncorrect.ToString()) .WithMessage(_ => BusinessException.GetMessage(ExceptionEnum.PasswordLengthIncorrect)); RuleFor(r => r.Hardware) .NotEmpty() .WithMessage(_ => BusinessException.GetMessage(ExceptionEnum.BadHardware)); RuleFor(r => r.FileName) .NotEmpty() .WithErrorCode(ExceptionEnum.WrongResourceName.ToString()) .WithMessage(_ => BusinessException.GetMessage(ExceptionEnum.WrongResourceName)); } }