public async Task <OperationResultResponse <bool> > ExecuteAsync(UpdateRoleRightsRequest request)
        {
            if (!await _accessValidator.IsAdminAsync())
            {
                return(_responseCreator.CreateFailureResponse <bool>(HttpStatusCode.Forbidden));
            }

            ValidationResult validationResult = await _requestValidator.ValidateAsync(request);

            if (!validationResult.IsValid)
            {
                return(_responseCreator.CreateFailureResponse <bool>(
                           HttpStatusCode.BadRequest,
                           validationResult.Errors.Select(validationFailure => validationFailure.ErrorMessage).ToList()));
            }

            OperationResultResponse <bool> response = new();

            response.Body = await _roleRepository.EditRoleRightsAsync(
                request.RoleId,
                _dbRoleRightMapper.Map(request.RoleId, request.Rights));

            await UpdateCacheAsync(request.Rights, request.RoleId);

            return(response);
        }
Exemple #2
0
 public async Task <OperationResultResponse <bool> > EditRoleRightsAsync(
     [FromServices] IUpdateRoleRightsCommand command,
     [FromBody] UpdateRoleRightsRequest request)
 {
     return(await command.ExecuteAsync(request));
 }