public CreatePermissionSetValidator(IPermissionSetRules rules) { RuleFor(c => c.Name) .NotEmpty().WithMessage("Permission set name is required.") .Length(1, 50).WithMessage("Permission set name must be at least 1 and at max 50 characters long.") .MustAsync((c, p, cancellation) => rules.IsNameUniqueAsync(c.SiteId, p)) .WithMessage(c => $"A permission set with name {c.Name} already exists."); }
public PermissionSetsController(IContextService contextService, IPermissionSetService permissionSetService, IPermissionSetRules permissionSetRules, IPermissionSetModelBuilder modelBuilder) { _contextService = contextService; _permissionSetService = permissionSetService; _permissionSetRules = permissionSetRules; _modelBuilder = modelBuilder; }
public CreateCategoryValidator(ICategoryRules rules, IPermissionSetRules permissionSetRules) { RuleFor(c => c.Name) .NotEmpty().WithMessage("Category name is required.") .Length(1, 50).WithMessage("Category name must be at least 1 and at max 50 characters long.") .MustAsync((c, p, cancellation) => rules.IsNameUniqueAsync(c.SiteId, p)) .WithMessage(c => $"A category with name {c.Name} already exists."); RuleFor(c => c.PermissionSetId) .MustAsync((c, p, cancellation) => permissionSetRules.IsValidAsync(c.SiteId, p)) .WithMessage(c => $"Permission set with id {c.PermissionSetId} does not exist."); }
public UpdateForumValidator(IForumRules rules, IPermissionSetRules permissionSetRules) { RuleFor(c => c.Name) .NotEmpty().WithMessage("Forum name is required.") .Length(1, 50).WithMessage("Forum name must be at least 1 and at max 50 characters long.") .MustAsync((c, p, cancellation) => rules.IsNameUniqueAsync(c.SiteId, c.CategoryId, p, c.Id)) .WithMessage(c => $"A forum with name {c.Name} already exists."); RuleFor(c => c.Slug) .NotEmpty().WithMessage("Forum slug is required.") .Length(1, 50).WithMessage("Forum slug must be at least 1 and at max 50 characters long.") .MustAsync((c, p, cancellation) => rules.IsSlugUniqueAsync(c.SiteId, p, c.Id)) .WithMessage(c => $"A forum with slug {c.Slug} already exists."); RuleFor(c => c.Description) .Length(1, 200).WithMessage("Forum description length must be between 1 and 200 characters.") .When(c => !string.IsNullOrWhiteSpace(c.Description)); RuleFor(c => c.PermissionSetId) .MustAsync((c, p, cancellation) => permissionSetRules.IsValidAsync(c.SiteId, p.Value)) .WithMessage(c => $"Permission set with id {c.PermissionSetId} does not exist.") .When(c => c.PermissionSetId != null); }