Method: GoodData::ProjectLogFormatter#log_updated_users

Defined in:
lib/gooddata/models/project_log_formatter.rb

#log_updated_users(updated_users, changed_users, role_list) ⇒ Object

Log updated users

Parameters:

  • updated_users (Array<Hash>)

    collection of updated user result, e.g: [ { type => :successful || :failed, user => '/gdc/account/profile/[email protected]', message => error_message, reason: error_message }, ... ]

  • changed_users (Array<Hash>)

    collection of changed users to be updated [ { old_obj: { :login => '/gdc/account/profile/[email protected]', :role => '/gdc/projects/clp4z1qw60o0t048tov909b1xi4qztay/roles/5' }, new_obj: { :role_title => 'Editor' || 'Admin' || ... } }, ... ]

  • role_list (Array<ProjectRole>)

    project roles

Returns:

  • nil



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/gooddata/models/project_log_formatter.rb', line 71

def log_updated_users(updated_users, changed_users, role_list)
  updated_users.each do |updated_user|
     = (updated_user[:user])
    if updated_user[:type] == :successful
      changed_user = changed_users.find { |user| user[:old_obj][:login] ==  }
      old_user_data = changed_user[:old_obj]
      old_role_uris = old_user_data[:role] || old_user_data[:roles]
      old_role_titles = old_role_uris.map do |old_role_uri|
        old_role = @project.get_role(old_role_uri, role_list)
        old_role && old_role.title
      end
      new_role_titles = changed_user[:new_obj][:role_title]
      GoodData.logger.info("Update user=#{} from old_roles=#{old_role_titles} to new_roles=#{new_role_titles} in project=#{@project.pid}.")
    elsif updated_user[:type] == :failed
      error_message = updated_user[:message] || updated_user[:reason]
      GoodData.logger.error("Failed to update user=#{} to project=#{@project.pid}. Error: #{error_message}")
    end
  end
end