module BridgeAPI::Client::User
Public Instance Methods
Source
# File lib/bridge_api/client/user.rb, line 6 def add_user(params = {}) post("#{API_PATH}#{ADMIN_PATH}#{USER_PATH}", params) end
Source
# File lib/bridge_api/client/user.rb, line 42 def add_user_to_role_batch(user_id, params = {}) put("#{API_PATH}#{ADMIN_PATH}#{USER_PATH}/#{user_id}#{ROLE_PATH}#{BATCH_PATH}", params) end
Source
# File lib/bridge_api/client/user.rb, line 14 def delete_user(user_id, params = {}) delete("#{API_PATH}#{ADMIN_PATH}#{USER_PATH}/#{user_id}", params) end
Source
# File lib/bridge_api/client/user.rb, line 38 def get_all_users(params = {}) get("#{API_PATH}#{AUTHOR_PATH}#{USER_PATH}", params) end
Source
# File lib/bridge_api/client/user.rb, line 10 def get_user(user_id, params = {}) get("#{API_PATH}#{AUTHOR_PATH}#{USER_PATH}/#{user_id}", params) end
Source
# File lib/bridge_api/client/user.rb, line 46 def new_temporary_users(params = {}) get("#{API_PATH}#{ADMIN_PATH}#{NEW_TEMPORARY_USERS}", params) end
Source
# File lib/bridge_api/client/user.rb, line 22 def restore_deleted_user(user_id, params = {}) post("#{API_PATH}#{AUTHOR_PATH}#{USER_PATH}/#{user_id}#{RESTORE_PATH}", params) end
Source
# File lib/bridge_api/client/user.rb, line 18 def update_user(user_id, params = {}) put("#{API_PATH}#{AUTHOR_PATH}#{USER_PATH}/#{user_id}", params) end
Source
# File lib/bridge_api/client/user.rb, line 31 def update_user_with_custom_values(user_id, custom_params, params = {}) params ||= {} params['user'] ||= {} params['user']['custom_field_values'] = build_custom_values_payload(user_id, custom_params) update_user(user_id, params) end
Used for easier handling of updating custom params. This method will handle the lookup of existing custom_field_value ids and insert them as needed. user_id
Bridge user ID custom_params
See build_custom_values_payload
method for formatting. params
any bridge allowed params to be updated on the user
Private Instance Methods
Source
# File lib/bridge_api/client/user.rb, line 58 def build_custom_values_payload(user_id, custom_field_values) users = get_user(user_id, 'includes[]' => 'custom_fields') payload = [] return payload if users.members.empty? existing_values = users.linked['custom_field_values'] custom_field_values.each do |field_id, value| field_value_id = begin existing_values.find do |v| v['links']['custom_field']['id'] == field_id.to_s rescue StandardError false end['id'] rescue StandardError nil end payload << { 'id' => field_value_id, 'custom_field_id' => field_id, 'value' => value } end payload end
user_id
Bridge user ID custom_field_values
Hash of custom field id with associated value
{ '1': 'My Custom Value To Be Updated', '2': 'Another Custom Value' }