Class: CanvasOauth::CanvasApiExtensions

Inherits:
Object
  • Object
show all
Defined in:
lib/canvas_oauth/canvas_api_extensions.rb

Class Method Summary collapse

Class Method Details

.build(user_id, tool_consumer_instance_guid, canvas_url) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/canvas_oauth/canvas_api_extensions.rb', line 3

def self.build(user_id, tool_consumer_instance_guid, canvas_url)
  canvas_auth = CanvasOauth::Authorization.fetch_canvas_auth(user_id, tool_consumer_instance_guid, canvas_url)

  id = canvas_auth&.id
   = canvas_auth&.
  token = canvas_auth&.token
  refresh_token = canvas_auth&.refresh_token

  if canvas_url && CanvasLtiKey.table_exists?
    canvas_lti_key = CanvasLtiKey.where('lower(canvas_url) LIKE :q', q: "%#{canvas_url.downcase}%").first
    canvas_key = canvas_lti_key&.key or CanvasConfig.key      
    canvas_secret = canvas_lti_key&.secret or CanvasConfig.secret
  else
    canvas_key = CanvasConfig.key
    canvas_secret = CanvasConfig.secret
  end
  CanvasApi.new(id, canvas_url, user_id, , token, refresh_token, canvas_key, canvas_secret)
end