protected virtual async Task CheckGetExtraPropertiesPolicyAsync(GetResourceUserExtraPropertiesInput input)
        {
            await AuthorizationService.CheckAsync(SharedResourcesPermissions.ResourceUsers.GetExtraProperties);

            if (input.UserId.HasValue && input.UserId != CurrentUser.GetId())
            {
                await AuthorizationService.CheckAsync(SharedResourcesPermissions.ResourceUsers.GlobalManage);
            }
        }
        public virtual async Task <GetResourceUserExtraPropertiesOutput> GetExtraPropertiesAsync(
            GetResourceUserExtraPropertiesInput input)
        {
            await CheckGetExtraPropertiesPolicyAsync(input);

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

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

            var result = new GetResourceUserExtraPropertiesOutput();

            resourceUser.MapExtraPropertiesTo(result, MappingPropertyDefinitionChecks.None);

            return(result);
        }
Пример #3
0
 public Task <GetResourceUserExtraPropertiesOutput> GetExtraPropertiesAsync(
     GetResourceUserExtraPropertiesInput input)
 {
     return(_service.GetExtraPropertiesAsync(input));
 }