protected virtual async Task CheckUpdateExtraPropertiesPolicyAsync(UpdateResourceUserExtraPropertiesInput input)
        {
            await AuthorizationService.CheckAsync(SharedResourcesPermissions.ResourceUsers.UpdateExtraProperties);

            if (input.UserId.HasValue && input.UserId != CurrentUser.GetId())
            {
                await AuthorizationService.CheckAsync(SharedResourcesPermissions.ResourceUsers.GlobalManage);
            }
        }
        public virtual async Task <ResourceUserDto> UpdateExtraPropertiesAsync(UpdateResourceUserExtraPropertiesInput input)
        {
            await CheckUpdateExtraPropertiesPolicyAsync(input);

            var userId = input.UserId ?? CurrentUser.GetId();

            var resourceUser = await _repository.GetAsync(x => x.ResourceId == input.ResourceId && x.UserId == userId);

            input.MapExtraPropertiesTo(resourceUser);

            await _repository.UpdateAsync(resourceUser, true);

            return(await MapToGetOutputDtoAsync(resourceUser));
        }
Exemplo n.º 3
0
 public Task <ResourceUserDto> UpdateExtraPropertiesAsync(UpdateResourceUserExtraPropertiesInput input)
 {
     return(_service.UpdateExtraPropertiesAsync(input));
 }