using Azaion.Common.Entities; using FluentValidation; namespace Azaion.Common.Requests; public class GetResourceRequest { public string Password { get; set; } = null!; public string HardwareId { get; set; } = null!; public ResourceEnum ResourceEnum { get; set; } } public class GetResourceRequestValidator : AbstractValidator { public GetResourceRequestValidator() { RuleFor(r => r.Password) .MinimumLength(8) .WithErrorCode(ExceptionEnum.PasswordLengthIncorrect.ToString()) .WithMessage(_ => BusinessException.GetMessage(ExceptionEnum.PasswordLengthIncorrect)); RuleFor(r => r.HardwareId) .MinimumLength(8) .WithErrorCode(ExceptionEnum.HardwareIdLength.ToString()) .WithMessage(_ => BusinessException.GetMessage(ExceptionEnum.HardwareIdLength)); RuleFor(r => r.ResourceEnum) .NotEqual(ResourceEnum.None) .WithErrorCode(ExceptionEnum.WrongResourceType.ToString()) .WithMessage(_ => BusinessException.GetMessage(ExceptionEnum.WrongResourceType)); } }