return _.reduce(getChangedValues(), function (result, propertyName) { return result && ( _.isObject(managedObjectConfig.schema.properties[propertyName]) && managedObjectConfig.schema.properties[propertyName].userEditable === true ) || _.indexOf(exceptions, propertyName) > -1; }, true);
if (_.any(getChangedValues(), function (attribute) { return _.indexOf(context.security.authorization.protectedAttributeList, attribute) !== -1; })) {
return _.reduce(patchOps, function (result, patchOp) { // removes leading slashses from jsonpointer field specifications, // and only considers the first path item in the jsonpointer path var simpleField = patchOp.field.replace(/^\//, '').split("/")[0]; return result && (_.indexOf(allowedFields, simpleField) !== -1); }, true);