private IEnumerable <string> GetDefaultAllowedFields(int nestedBy) { foreach (string fieldName in _fieldProvider.GetDefaultNames(nestedBy)) { var field = new NamedField <TItem>(fieldName, _fieldProvider); if (_authChecker.CanGetField(_item, field)) { yield return(fieldName); } } }
public virtual bool CanGetField(IDeferredItem <TItem> item, INamedField <TItem> field) { Func <IRestUser, bool> authorizePredicate = GetFieldAuthorizePredicate(field.Name); if (authorizePredicate != null) { return(authorizePredicate.Invoke(_stem.User)); // TODO: item } return(AllowAllChecker.CanGetField(item, field)); }