public QueryValidator(IDocumentSecurity documentSecurity) { RuleFor(m => m.MaxResults) .InclusiveBetween(Constants.SearchResultsPageSize, Constants.SearchResultsMaxPageSize); RuleFor(m => m.LibraryIds) .HasLibraryPermission(documentSecurity, PermissionTypes.Read); }
public CommandHandler(ApplicationDbContext db, IDocumentSecurity documentSecurity, IUserContext userContext, IMapper mapper) { _db = db ?? throw new ArgumentNullException(nameof(db)); _documentSecurity = documentSecurity ?? throw new ArgumentNullException(nameof(documentSecurity)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); _userContext = userContext ?? throw new ArgumentNullException(nameof(userContext)); }
public QueryHandler(ApplicationDbContext db, IConfigurationProvider config, IDocumentSecurity documentSecurity, IFileSearcher fileSearcher) { _db = db; _config = config; _documentSecurity = documentSecurity; _fileSearcher = fileSearcher; }
public CommandValidator(IDocumentSecurity documentSecurity) { RuleFor(m => m.Id) .NotNull() .HasDocumentPermission(documentSecurity, PermissionTypes.Modify); RuleFor(m => m.Abstract) .Length(0, 512); //RuleFor(m => m.LibraryIds) // .NotEmpty().WithName("Libraries") // .HasLibraryPermission(documentSecurity, PermissionTypes.Modify); RuleFor(m => m.Title) .NotNull() .Length(1, 60); }
/// <summary> /// Ensures the requesting user has access to the requested library. Validation will fail if the user requests a /// library that they do not have the requested permission on. /// </summary> /// <typeparam name="T">The object being validated</typeparam> /// <typeparam name="TElement">The data type of the property being validated</typeparam> /// <param name="ruleBuilder"></param> /// <param name="documentSecurity">Document security helper</param> /// <param name="permission">The permission to check for</param> /// <returns></returns> public static IRuleBuilderOptions <T, TElement> HasLibraryPermission <T, TElement>( this IRuleBuilder <T, TElement> ruleBuilder, IDocumentSecurity documentSecurity, PermissionTypes permission) { return(ruleBuilder.SetValidator(new LibraryAcessValidator <TElement>(documentSecurity, permission))); }
public LibraryAcessValidator(IDocumentSecurity documentSecurity, PermissionTypes permission) : base("Unauthorized library access.") { _documentSecurity = documentSecurity; _permission = permission; }
public QueryValidator(IDocumentSecurity documentSecurity) { RuleFor(m => m.Id) .NotEmpty() .HasDocumentPermission(documentSecurity, PermissionTypes.Read); }
public CommandValidator(IDocumentSecurity documentSecurity) { RuleFor(m => m.Id) .NotNull() .HasDocumentPermission(documentSecurity, PermissionTypes.Delete); }
public QueryValidator(IDocumentSecurity documentSecurity) { _documentSecurity = documentSecurity; }