Beispiel #1
0
        public PermissionServiceInterceptor(PermissionValidator permissionValidator, UserValidator userValidator)
        {
            _permissionValidator = permissionValidator;
            _userValidator       = userValidator;

            BuildUp(new Dictionary <string, Action <IInvocation> >
            {
                {
                    nameof(GetPermissionsForUserAsync),
                    x => GetPermissionsForUserAsync((int)x.Arguments[0])
                },
                {
                    nameof(GetSingleClaimAsync),
                    x => GetSingleClaimAsync((int)x.Arguments[0], (int)x.Arguments[1])
                },
                {
                    nameof(CreateClaimForUserAsync),
                    x => CreateClaimForUserAsync((int)x.Arguments[0], (UserClaim)x.Arguments[1])
                },
                {
                    nameof(DeleteClaimForUserAsync),
                    x => DeleteClaimForUserAsync((int)x.Arguments[0], (int)x.Arguments[1])
                }
            });
        }
Beispiel #2
0
        public Task <UserClaim> CreateClaimForUserAsync(int userId, UserClaim claim)
        {
            _userValidator.ValidateUserExists(userId);
            PermissionValidator.ValidateClaim(claim);
            _permissionValidator.ValidateClaimDoesntAlreadyExist(userId, claim);
            _permissionValidator.ValidateUpdatePermissions();

            return(null);
        }