fd24dcebcd
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m2s
- New entities: SitePageSettings + SitePageImage (4 fixed pages) - EF Migration: AddSitePageSettings (SitePageSettings + SitePageImages tables) - Proto: sitepagesettings.proto with 5 RPCs - CQRS: GetPageSettings, GetAllPageSettings, SavePageSettings, SavePageImage, DeletePageImage - gRPC Service: SitePageSettingsService (auto-registered) - Proto NuGet bumped to 0.0.180
31 lines
1.3 KiB
C#
31 lines
1.3 KiB
C#
using FluentValidation;
|
|
|
|
namespace CMSMicroservice.Application.SitePageSettingsCQ.Commands.SavePageSettings;
|
|
|
|
public class SavePageSettingsCommandValidator : AbstractValidator<SavePageSettingsCommand>
|
|
{
|
|
private static readonly string[] ValidPageKeys = { "landing", "about", "contact", "licenses" };
|
|
|
|
public SavePageSettingsCommandValidator()
|
|
{
|
|
RuleFor(x => x.PageKey)
|
|
.NotEmpty().WithMessage("کلید صفحه الزامی است")
|
|
.MaximumLength(50)
|
|
.Must(key => ValidPageKeys.Contains(key))
|
|
.WithMessage("کلید صفحه باید یکی از مقادیر landing, about, contact, licenses باشد");
|
|
|
|
RuleFor(x => x.Title)
|
|
.NotEmpty().WithMessage("عنوان صفحه الزامی است")
|
|
.MaximumLength(200).WithMessage("عنوان صفحه حداکثر ۲۰۰ کاراکتر");
|
|
|
|
RuleFor(x => x.MetaDescription)
|
|
.MaximumLength(300).WithMessage("توضیحات متا حداکثر ۳۰۰ کاراکتر");
|
|
|
|
RuleFor(x => x.HeroTitle)
|
|
.MaximumLength(200).WithMessage("عنوان هیرو حداکثر ۲۰۰ کاراکتر");
|
|
|
|
RuleFor(x => x.HeroSubtitle)
|
|
.MaximumLength(500).WithMessage("زیرعنوان هیرو حداکثر ۵۰۰ کاراکتر");
|
|
}
|
|
}
|