module Panoptes::Client::UserGroups

Public Instance Methods

create_user_group(name) click to toggle source

Creates a new user group and puts the current user in it as the initial member.

@see docs.panoptes.apiary.io/#reference/user-group/usergroup-collection/create-a-user-group @param name [String] The name of the user group. Must be unique for the entirity of Zooniverse. @return [Hash] The created user group.

# File lib/panoptes/client/user_groups.rb, line 11
def create_user_group(name)
  panoptes.post('/user_groups', user_groups: {
                  name: name
                })['user_groups'][0]
end
delete_user_group(user_group_id) click to toggle source
# File lib/panoptes/client/user_groups.rb, line 32
def delete_user_group(user_group_id)
  response = panoptes.connection.get("/api/user_groups/#{user_group_id}")
  etag = response.headers['ETag']

  panoptes.delete("/user_groups/#{user_group_id}", {}, etag: etag)
end
join_user_group(user_group_id, user_id, join_token:) click to toggle source
# File lib/panoptes/client/user_groups.rb, line 21
def join_user_group(user_group_id, user_id, join_token:)
  panoptes.post('/memberships', memberships: {
                  join_token: join_token,
                  links: { user: user_id, user_group: user_group_id }
                })['memberships'][0]
end
remove_user_from_user_group(user_group_id, user_id) click to toggle source
# File lib/panoptes/client/user_groups.rb, line 28
def remove_user_from_user_group(user_group_id, user_id)
  panoptes.delete("/user_groups/#{user_group_id}/links/users/#{user_id}")
end
user_groups() click to toggle source
# File lib/panoptes/client/user_groups.rb, line 17
def user_groups
  panoptes.get('/user_groups')['user_groups']
end