using FluentValidation;
using MiningService.API.Application.Commands;

namespace MiningService.API.Application.Validations;

/// <summary>
/// EN: Validator for ApplyReferralCodeCommand.
/// VI: Validator cho ApplyReferralCodeCommand.
/// </summary>
public class ApplyReferralCodeCommandValidator : AbstractValidator<ApplyReferralCodeCommand>
{
    public ApplyReferralCodeCommandValidator()
    {
        RuleFor(x => x.UserId)
            .NotEmpty().WithMessage("User ID is required / ID người dùng là bắt buộc");

        RuleFor(x => x.ReferralCode)
            .NotEmpty().WithMessage("Referral code is required / Mã giới thiệu là bắt buộc")
            .MaximumLength(50).WithMessage("Referral code max 50 chars / Mã giới thiệu tối đa 50 ký tự");
    }
}
