コード例 #1
0
 public EfAddCommentVoteCommand(FotobloggerContext context, IApplicationActor actor, AddCommentVoteValidator validator, IMapper mapper)
 {
     _context   = context;
     _actor     = actor;
     _validator = validator;
     _mapper    = mapper;
 }
コード例 #2
0
 public EfRemovePhotoScoreCommand(FotobloggerContext context, ScorePhotoValidator validator, IApplicationActor actor, IMapper mapper)
 {
     _context   = context;
     _validator = validator;
     _actor     = actor;
     _mapper    = mapper;
 }
コード例 #3
0
        public CreatePostValidator(FotobloggerContext context)
        {
            RuleFor(p => p.Title)
            .NotEmpty()
            .MinimumLength(3)
            .MaximumLength(100);

            RuleFor(p => p.Text)
            .MaximumLength(10000);

            RuleFor(u => u.PhotoCaption)
            .NotEmpty()
            .MinimumLength(3)
            .MaximumLength(100);

            RuleFor(p => p.Photo)
            .NotEmpty();

            When(p => p.Photo != null, () =>
                 RuleFor(p => p.Photo.ContentType)
                 .Must(x => x.Equals("image/jpeg") ||
                       x.Equals("image/jpg") ||
                       x.Equals("image/png") ||
                       x.Equals("image/gif") ||
                       x.Equals("image/tiff"))
                 .WithMessage("File format is not allowed. Allowed formats are: jpg, jpeg, png, gif, tiff.")
                 );
        }
コード例 #4
0
        public CreatePostCommentValidator(FotobloggerContext context)
        {
            RuleFor(c => c.PostId)
            .NotEmpty();

            When(c => c.PostId != 0, () =>
            {
                RuleFor(c => c.PostId)
                .Must(postId => context.Posts.Any(p => p.Id == postId))
                .WithMessage($"Post you are trying to add comment on doesn't exist.");
            });

            RuleFor(c => c.Title)
            .NotEmpty()
            .MinimumLength(3)
            .MaximumLength(100);

            RuleFor(c => c.Text)
            .NotEmpty()
            .MinimumLength(2)
            .MaximumLength(10000);

            When(c => c.ParentId != null && c.ParentId != 0, () =>
            {
                RuleFor(c => c.ParentId)
                .Must(parentCommentId => context.Comments.Any(p => p.Id == parentCommentId))
                .WithMessage($"Comment you are trying to reply to doesn't exist.");
            }
                 );
        }
コード例 #5
0
 public EfEditUserCommand(FotobloggerContext context, EditUserValidator validator, IMapper mapper, IApplicationActor actor)
 {
     _context   = context;
     _validator = validator;
     _mapper    = mapper;
     _actor     = actor;
 }
コード例 #6
0
 public EfCreateRoleCommand(FotobloggerContext context, CreateRoleValidator validator, IApplicationActor actor, IMapper mapper)
 {
     _context   = context;
     _validator = validator;
     _actor     = actor;
     _mapper    = mapper;
 }
コード例 #7
0
 public EfChangeUserUseCasesCommand(FotobloggerContext context, ChangeUserUseCasesValidator validator, IApplicationActor actor, IMapper mapper)
 {
     _context   = context;
     _validator = validator;
     _actor     = actor;
     _mapper    = mapper;
 }
コード例 #8
0
        public ScorePhotoValidator(FotobloggerContext context)
        {
            RuleFor(p => p.Score)
            .NotEmpty()
            .Must(score => score >= 1 && score <= 5)
            .WithMessage("Score must be a number between 1-5.");

            RuleFor(p => p.PhotoId)
            .NotEmpty();
        }
コード例 #9
0
        public ChangeUserRoleValidator(FotobloggerContext context)
        {
            RuleFor(r => r.UserId)
            .NotEmpty();

            RuleFor(r => r.RoleId)
            .NotEmpty()
            .Must(roleId => context.Roles.Any(r => r.Id == roleId))
            .WithMessage("Role doesn't exist.");
        }
コード例 #10
0
 public SetUserProfilePhotoValidator(FotobloggerContext context)
 {
     When(u => u.ProfilePhoto != null, () =>
          RuleFor(u => u.ProfilePhoto.ContentType)
          .Must(x => x.Equals("image/jpeg") ||
                x.Equals("image/jpg") ||
                x.Equals("image/png") ||
                x.Equals("image/gif") ||
                x.Equals("image/tiff"))
          .WithMessage("File format is not allowed. Allowed formats are: jpg, jpeg, png, gif, tiff.")
          );
 }
コード例 #11
0
        public EditPostCommentValidator(FotobloggerContext context)
        {
            RuleFor(c => c.Title)
            .NotEmpty()
            .MinimumLength(3)
            .MaximumLength(100);

            RuleFor(c => c.Text)
            .NotEmpty()
            .MinimumLength(2)
            .MaximumLength(10000);
        }
コード例 #12
0
        public ChangeUserUseCasesValidator(FotobloggerContext context)
        {
            RuleFor(u => u.UserId)
            .NotEmpty();

            var useCaseIdsInDB = context.UseCases.Select(uc => uc.Id).ToList();

            When(r => r.AllowedUseCases != null && r.AllowedUseCases.Any(), () =>
                 RuleFor(r => r.AllowedUseCases)
                 .Must(AllowedUseCases => AllowedUseCases.ToList().TrueForAll(id => useCaseIdsInDB.Contains(id)))
                 .WithMessage($"Some use case(s) you are tring to assign to a role don't exist in database.")
                 );
        }
コード例 #13
0
        public EditPostValidator(FotobloggerContext context)
        {
            RuleFor(p => p.Title)
            .NotEmpty()
            .MinimumLength(3)
            .MaximumLength(100);

            RuleFor(p => p.Text)
            .MaximumLength(10000);

            RuleFor(u => u.PhotoCaption)
            .NotEmpty()
            .MinimumLength(3)
            .MaximumLength(100);
        }
コード例 #14
0
        public AddCommentVoteValidator(FotobloggerContext context, IApplicationActor _actor)
        {
            RuleFor(x => x.UserId)
            .NotEmpty()
            .Must(id => Exists(context.Users.FirstOrDefault(u => !u.IsDeleted && u.IsActive && u.Id == id), id));

            RuleFor(v => v.CommentId)
            .NotEmpty()
            .Must(id => Exists(context.Comments.FirstOrDefault(u => !u.IsDeleted && u.Id == id), id));

            When(x => x.UserId != 0 && x.CommentId != 0, () =>
            {
                RuleFor(x => x.UserId)
                .Must((dto, id) => !IsADuplicate(context.Users.Include(u => u.UserCommentVotes).FirstOrDefault(u => u.Id == id)
                                                 .UserCommentVotes.Any(ucv => ucv.CommentId == dto.CommentId), _actor));
            });

            RuleFor(v => v.CommentVote)
            .NotNull()
            .IsInEnum();
        }
コード例 #15
0
        public EditUserValidator(FotobloggerContext context)
        {
            RuleFor(u => u.FirstName)
            .NotEmpty()
            .MaximumLength(30);

            RuleFor(u => u.LastName)
            .NotEmpty()
            .MaximumLength(50);

            RuleFor(u => u.Password)
            .NotEmpty()
            .MinimumLength(6)
            .MaximumLength(50);

            RuleFor(u => u.Email)
            .NotEmpty()
            .EmailAddress()
            .Must((dto, email) => !context.Users.Any(u => !u.IsDeleted && u.Email == email && u.Id != dto.Id))
            .WithMessage("A user with this e-mail already exists. E-mail must be unique per user.");
        }
コード例 #16
0
        public RegisterUserValidator(FotobloggerContext context)
        {
            RuleFor(u => u.FirstName)
            .NotEmpty()
            .MaximumLength(30);

            RuleFor(u => u.LastName)
            .NotEmpty()
            .MaximumLength(50);

            RuleFor(u => u.Password)
            .NotEmpty()
            .MinimumLength(6)
            .MaximumLength(50);

            RuleFor(u => u.Username)
            .NotEmpty()
            .MinimumLength(4)
            .MaximumLength(30);

            RuleFor(u => u.Username)
            .Must(username => !context.Users.Any(u => !u.IsDeleted && u.Username == username))
            .WithMessage("Username is already taken.");

            RuleFor(u => u.Email)
            .NotEmpty()
            .EmailAddress()
            .Must(email => !context.Users.Any(u => !u.IsDeleted && u.Email == email))
            .WithMessage("A user with this e-mail already exists. E-mail must be unique per user.");

            When(u => u.ProfilePhoto != null, () =>
                 RuleFor(u => u.ProfilePhoto.ContentType)
                 .Must(x => x.Equals("image/jpeg") ||
                       x.Equals("image/jpg") ||
                       x.Equals("image/png") ||
                       x.Equals("image/gif") ||
                       x.Equals("image/tiff"))
                 .WithMessage("File format is not allowed. Allowed formats are: jpg, jpeg, png, gif, tiff.")
                 );
        }
コード例 #17
0
        public CreateRoleValidator(FotobloggerContext context)
        {
            RuleFor(r => r.Name)
            .NotEmpty()
            .MaximumLength(50)
            .Must(Name => !context.Roles.Any(r => r.Name == Name))
            .WithMessage("Role with that name already exists.");

            RuleFor(r => r.AllowedUseCases)
            .NotEmpty();

            RuleFor(r => r.RoleType)
            .NotEmpty()
            .IsInEnum();

            var useCaseIdsInDB = context.UseCases.Select(uc => uc.Id).ToList();

            When(r => r.AllowedUseCases != null && r.AllowedUseCases.Any(), () =>
                 RuleFor(r => r.AllowedUseCases)
                 .Must(AllowedUseCases => AllowedUseCases.ToList().TrueForAll(id => useCaseIdsInDB.Contains(id)))
                 .WithMessage($"Some use case(s) you are tring to assign to a role don't exist in database.")
                 );
        }
コード例 #18
0
 public EfDeactivateUserCommand(FotobloggerContext context, IApplicationActor actor)
 {
     _context = context;
     _actor   = actor;
 }
コード例 #19
0
 public EfGetUseCaseLogsQuery(FotobloggerContext context, IMapper mapper, IApplicationActor actor)
 {
     _context = context;
     _mapper  = mapper;
     _actor   = actor;
 }
コード例 #20
0
 public EfRemoveCommentVoteCommand(FotobloggerContext context, IApplicationActor actor, ActivateUserValidator validator)
 {
     _context   = context;
     _actor     = actor;
     _validator = validator;
 }
コード例 #21
0
 public EfDeleteRoleCommand(FotobloggerContext context, IApplicationActor actor)
 {
     _context = context;
     _actor   = actor;
 }
コード例 #22
0
 public EfGetUserPermissionsQuery(FotobloggerContext context, IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
コード例 #23
0
 public EfSetUserProfilePhotoCommand(FotobloggerContext context, SetUserProfilePhotoValidator validator, IApplicationActor actor)
 {
     _context   = context;
     _validator = validator;
     _actor     = actor;
 }
コード例 #24
0
 public DatabaseUseCaseLogger(FotobloggerContext context) => _context = context;
コード例 #25
0
 public EfGetPostsQuery(FotobloggerContext context, IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
コード例 #26
0
 public EfGetPostCommentRepliesQuery(FotobloggerContext context, IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
コード例 #27
0
 public ActivateUserValidator(FotobloggerContext context)
 {
     RuleFor(u => u.Password)
     .NotEmpty();
 }
コード例 #28
0
 public JwtManager(FotobloggerContext context, string issuer, string secretKey)
 {
     _context   = context;
     _issuer    = issuer;
     _secretKey = secretKey;
 }
コード例 #29
0
 public EfRegisterUserCommand(FotobloggerContext context, RegisterUserValidator validator, IEmailSender sender)
 {
     _context   = context;
     _validator = validator;
     _sender    = sender;
 }
コード例 #30
0
 public EfRemoveUserProfilePhotoCommand(FotobloggerContext context, IApplicationActor actor)
 {
     _context = context;
     _actor   = actor;
 }