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
account_id = canvas_auth&.canvas_root_account_id
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, account_id, token, refresh_token, canvas_key, canvas_secret)
end
|