示例#1
0
 public QueryValidator(IDocumentSecurity documentSecurity)
 {
     RuleFor(m => m.MaxResults)
     .InclusiveBetween(Constants.SearchResultsPageSize, Constants.SearchResultsMaxPageSize);
     RuleFor(m => m.LibraryIds)
     .HasLibraryPermission(documentSecurity, PermissionTypes.Read);
 }
示例#2
0
文件: Edit.cs 项目: mallickhruday/DRS
 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));
 }
示例#3
0
 public QueryHandler(ApplicationDbContext db,
                     IConfigurationProvider config,
                     IDocumentSecurity documentSecurity,
                     IFileSearcher fileSearcher)
 {
     _db               = db;
     _config           = config;
     _documentSecurity = documentSecurity;
     _fileSearcher     = fileSearcher;
 }
示例#4
0
文件: Edit.cs 项目: mallickhruday/DRS
            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;
 }
示例#7
0
 public QueryValidator(IDocumentSecurity documentSecurity)
 {
     RuleFor(m => m.Id)
     .NotEmpty()
     .HasDocumentPermission(documentSecurity, PermissionTypes.Read);
 }
示例#8
0
 public CommandValidator(IDocumentSecurity documentSecurity)
 {
     RuleFor(m => m.Id)
     .NotNull()
     .HasDocumentPermission(documentSecurity, PermissionTypes.Delete);
 }
示例#9
0
 public QueryValidator(IDocumentSecurity documentSecurity)
 {
     _documentSecurity = documentSecurity;
 }