module Panoptes::Client::ProjectPreferences

Public Instance Methods

project_preferences(id) click to toggle source
# File lib/panoptes/client/project_preferences.rb, line 6
def project_preferences(id)
  response = panoptes.get("project_preferences/#{id}")
  response.fetch('project_preferences').first
end
promote_user_to_workflow(user_id, project_id, workflow_id) click to toggle source
# File lib/panoptes/client/project_preferences.rb, line 18
def promote_user_to_workflow(user_id, project_id, workflow_id)
  project_pref = panoptes.get('project_preferences',
                    user_id: user_id,
                    project_id: project_id).fetch('project_preferences').first
  id = project_pref['id']
  workflow_id_current = project_pref['settings']['workflow_id']

  response = panoptes.connection.get("/api/project_preferences/#{id}")
  etag = response.headers['ETag']

  workflow_target = panoptes.get("/workflows/#{workflow_id}").fetch('workflows').first
  level_target = workflow_target['configuration']['level'].to_i

  workflow_current = panoptes.get("/workflows/#{workflow_id_current}").fetch('workflows').first
  level_current = workflow_current['configuration']['level'].to_i

  if level_target > level_current
    panoptes.put("project_preferences/#{id}", {
                   project_preferences: { settings: { workflow_id: workflow_id } }
                 }, etag: etag)
  end
end
set_user_workflow(user_id, project_id, workflow_id) click to toggle source
# File lib/panoptes/client/project_preferences.rb, line 41
def set_user_workflow(user_id, project_id, workflow_id)
  id = panoptes.get('project_preferences',
                    user_id: user_id,
                    project_id: project_id).fetch('project_preferences').first['id']

  response = panoptes.connection.get("/api/project_preferences/#{id}")
  etag = response.headers['ETag']

  panoptes.put("project_preferences/#{id}", {
                 project_preferences: { settings: { workflow_id: workflow_id } }
               }, etag: etag)
end
user_project_preferences(user_id, project_id) click to toggle source
# File lib/panoptes/client/project_preferences.rb, line 11
def user_project_preferences(user_id, project_id)
  response = panoptes.get('project_preferences',
                          user_id: user_id,
                          project_id: project_id)
  response.fetch('project_preferences').first
end