38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
using FluentValidation;
|
|
using Tnsu.ApprovalRoute.Domain.Enums;
|
|
|
|
namespace Tnsu.ApprovalRoute.Application.TemplateRoutes;
|
|
|
|
public sealed class CreateTemplateRouteRequestValidator : AbstractValidator<CreateTemplateRouteRequest>
|
|
{
|
|
public CreateTemplateRouteRequestValidator()
|
|
{
|
|
RuleFor(x => x.CompanyId).NotEqual(Guid.Empty).WithMessage("Компания обязательна.");
|
|
}
|
|
}
|
|
|
|
public sealed class UpdateTemplateRouteRequestValidator : AbstractValidator<UpdateTemplateRouteRequest>
|
|
{
|
|
public UpdateTemplateRouteRequestValidator()
|
|
{
|
|
RuleFor(x => x.CompanyId).NotEqual(Guid.Empty).WithMessage("Компания обязательна.");
|
|
}
|
|
}
|
|
|
|
public sealed class PatchTemplateRouteRequestValidator : AbstractValidator<PatchTemplateRouteRequest>
|
|
{
|
|
public PatchTemplateRouteRequestValidator()
|
|
{
|
|
When(x => x.CompanyId is not null, () =>
|
|
RuleFor(x => x.CompanyId!.Value).NotEqual(Guid.Empty).WithMessage("Компания обязательна."));
|
|
}
|
|
}
|
|
|
|
public sealed class ResolveTemplateRouteRequestValidator : AbstractValidator<ResolveTemplateRouteRequest>
|
|
{
|
|
public ResolveTemplateRouteRequestValidator()
|
|
{
|
|
RuleFor(x => x.Status).NotEqual(RouteStepStatus.None).WithMessage("Статус обязателен: Approval или Execution.");
|
|
}
|
|
}
|