anchor.diff:      ok;
   log_action(Req, #base_state{resource_state = ResourceState,
                               resource_mod = ResourceMod} = State) when
  +        is_record(ResourceState, acl_state);
           is_record(ResourceState, association_state);
           is_record(ResourceState, client_state);
           is_record(ResourceState, cookbook_state);
  
positive.code: maybe_add_data(Msg, FullActionPayload) ->
      ej:set({<<"data">>}, Msg, FullActionPayload).
  
  %%TODO Put the right data into the state for the association related endpoints
  %% Currently #chef_user.username is populated for Accept, Dissociate and Invite
  %% #org_user_invite.user_name is populated for Reject
  
negative.code: get_corrected_name(Name, _NameKey, _FullActionPayload) ->
      Name.
  
  -spec parent_type(ParentType :: atom()) -> binary().
  parent_type(data_bag) ->
    <<"bag">>;
  parent_type(ParentType) ->
    list_to_binary(atom_to_list(ParentType)).
  
  -spec requestor_name(Requestor:: #chef_client{} | #chef_user{}) -> binary().
  requestor_name(#chef_client{name = Name}) ->
      Name;
  