lms-api 1.12.0 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/canvas_api/builder.rb +9 -1
- data/lib/canvas_api/templates/ex_action.erb +1 -0
- data/lib/canvas_api/templates/ex_default_action.erb +1 -0
- data/lib/canvas_api/templates/ex_urls.erb +0 -1
- data/lib/lms/canvas.rb +8 -1
- data/lib/lms/canvas_urls.rb +1 -0
- data/lib/lms/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4537b1779fc89ca3db4a4e29367b58643ff0a8da
|
4
|
+
data.tar.gz: ac3abcb34b218882b427add8e15fc25ee821e404
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ae7e8f29bf07b6055926fec2d61eafcb3e6a42e474e876c58b98167336ce0f1ee42bfe0a9b30bbefad8c3c1c1a160f99592ce3d55c91ee92561c3fe4bab21c4
|
7
|
+
data.tar.gz: 742ff6135ad77aeb2dcc391ee095bbbffa23afdf80ffec8d79fe09b966b781725810fdb78ebc8b7f910af8fc0350dd62658bbb1286ad44bf4813f02f15b7f824
|
data/lib/canvas_api/builder.rb
CHANGED
@@ -28,6 +28,10 @@ module CanvasApi
|
|
28
28
|
rb_forward_declarations = []
|
29
29
|
|
30
30
|
nicknames = []
|
31
|
+
|
32
|
+
# Elixir has a default action that raises
|
33
|
+
lms_urls_ex << CanvasApi::Render.new("./templates/ex_default_action.erb", nil, nil, nil, nil, nil, nil, nil).render
|
34
|
+
|
31
35
|
directory["apis"].each do |api|
|
32
36
|
puts "Generating #{api['description']}"
|
33
37
|
resource = HTTParty.get("#{endpoint}#{api['path']}")
|
@@ -48,6 +52,7 @@ module CanvasApi
|
|
48
52
|
lms_urls_rb << CanvasApi::Render.new("./templates/rb_url.erb", api, resource, resource_api, operation, parameters, nil, nil).render
|
49
53
|
lms_urls_js << CanvasApi::Render.new("./templates/js_url.erb", api, resource, resource_api, operation, parameters, nil, nil).render
|
50
54
|
lms_urls_ex << CanvasApi::Render.new("./templates/ex_url.erb", api, resource, resource_api, operation, parameters, nil, nil).render
|
55
|
+
lms_urls_ex << CanvasApi::Render.new("./templates/ex_action.erb", api, resource, resource_api, operation, parameters, nil, nil).render
|
51
56
|
|
52
57
|
if parameters.detect{ |param| param["name"] == "course_id" && param["paramType"] == "path" }
|
53
58
|
course_ids_required_rb << CanvasApi::Render.new("./templates/course_id_required.erb", api, resource, resource_api, operation, parameters, nil, nil).render
|
@@ -94,7 +99,10 @@ module CanvasApi
|
|
94
99
|
|
95
100
|
CanvasApi::Render.new("./templates/rb_urls.erb", nil, nil, nil, nil, nil, lms_urls_rb, nil).save("#{project_root}/lib/lms/canvas_urls.rb")
|
96
101
|
CanvasApi::Render.new("./templates/js_urls.erb", nil, nil, nil, nil, nil, lms_urls_js, nil).save("#{server_app_path}/lib/canvas/urls.js")
|
97
|
-
|
102
|
+
|
103
|
+
# The elixir urls are sorted, to prevent linter errors
|
104
|
+
CanvasApi::Render.new("./templates/ex_urls.erb", nil, nil, nil, nil, nil, lms_urls_ex.sort, nil).save("#{elixir_app_path}/lib/canvas/actions.ex")
|
105
|
+
|
98
106
|
CanvasApi::Render.new("./templates/course_ids_required.erb", nil, nil, nil, nil, nil, course_ids_required_rb, nil).save("#{project_root}/lib/lms/course_ids_required.rb")
|
99
107
|
|
100
108
|
# GraphQL Javascript - still not complete
|
@@ -0,0 +1 @@
|
|
1
|
+
def <%=@nickname.downcase%>, do: "<%=@nickname.upcase%>"
|
@@ -0,0 +1 @@
|
|
1
|
+
def action(type), do: raise InvalidCanvasActionException, message: "Invalid Canvas API Action: #{type}}"
|
data/lib/lms/canvas.rb
CHANGED
@@ -176,7 +176,11 @@ module LMS
|
|
176
176
|
url = full_url("login/oauth2/token", false)
|
177
177
|
result = HTTParty.post(url, headers: headers, body: payload)
|
178
178
|
code = result.response.code.to_i
|
179
|
-
|
179
|
+
if code >= 500
|
180
|
+
raise LMS::Canvas::RefreshToken500Exception.new(api_error(result), code, result, @authentication)
|
181
|
+
end
|
182
|
+
|
183
|
+
if code > 201
|
180
184
|
raise LMS::Canvas::RefreshTokenFailedException.new(api_error(result), code, result, @authentication)
|
181
185
|
end
|
182
186
|
result["access_token"]
|
@@ -402,6 +406,9 @@ module LMS
|
|
402
406
|
class RefreshTokenFailedException < TokenException
|
403
407
|
end
|
404
408
|
|
409
|
+
class RefreshToken500Exception < RefreshTokenFailedException
|
410
|
+
end
|
411
|
+
|
405
412
|
class InvalidRefreshOptionsException < CanvasException
|
406
413
|
end
|
407
414
|
|
data/lib/lms/canvas_urls.rb
CHANGED
@@ -178,6 +178,7 @@ module LMS
|
|
178
178
|
"GET_CURRENT_SETTINGS_FOR_ACCOUNT_OR_COURSE_ACCOUNTS" => { uri: ->(account_id:) { "accounts/#{account_id}/csp_settings" }, method: "GET", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}] },
|
179
179
|
"ENABLE_DISABLE_OR_CLEAR_EXPLICIT_CSP_SETTING_COURSES" => { uri: ->(course_id:) { "courses/#{course_id}/csp_settings" }, method: "PUT", parameters: [{"paramType"=>"path", "name"=>"course_id", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}, {"paramType"=>"form", "name"=>"status", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false, "enum"=>["enabled", "disabled", "inherited"]}] },
|
180
180
|
"ENABLE_DISABLE_OR_CLEAR_EXPLICIT_CSP_SETTING_ACCOUNTS" => { uri: ->(account_id:) { "accounts/#{account_id}/csp_settings" }, method: "PUT", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}, {"paramType"=>"form", "name"=>"status", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false, "enum"=>["enabled", "disabled", "inherited"]}] },
|
181
|
+
"LOCK_OR_UNLOCK_CURRENT_CSP_SETTINGS_FOR_SUB_ACCOUNTS_AND_COURSES" => { uri: ->(account_id:) { "accounts/#{account_id}/csp_settings/lock" }, method: "PUT", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}, {"paramType"=>"form", "name"=>"settings_locked", "type"=>"boolean", "format"=>nil, "required"=>true, "deprecated"=>false}] },
|
181
182
|
"ADD_DOMAIN_TO_ACCOUNT_WHITELIST" => { uri: ->(account_id:) { "accounts/#{account_id}/csp_settings/domains" }, method: "POST", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}, {"paramType"=>"form", "name"=>"domain", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}] },
|
182
183
|
"ADD_MULTIPLE_DOMAINS_TO_ACCOUNT_WHITELIST" => { uri: ->(account_id:) { "accounts/#{account_id}/csp_settings/domains/batch_create" }, method: "POST", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}, {"paramType"=>"form", "name"=>"domains", "type"=>"Array", "format"=>nil, "required"=>true, "deprecated"=>false}] },
|
183
184
|
"REMOVE_DOMAIN_FROM_ACCOUNT_WHITELIST" => { uri: ->(account_id:) { "accounts/#{account_id}/csp_settings/domains" }, method: "DELETE", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}, {"paramType"=>"query", "name"=>"domain", "type"=>"string", "format"=>nil, "required"=>true, "deprecated"=>false}] },
|
data/lib/lms/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lms-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.12.
|
4
|
+
version: 1.12.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Atomic Jolt
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-10-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -118,6 +118,8 @@ files:
|
|
118
118
|
- lib/canvas_api/templates/constants.erb
|
119
119
|
- lib/canvas_api/templates/course_id_required.erb
|
120
120
|
- lib/canvas_api/templates/course_ids_required.erb
|
121
|
+
- lib/canvas_api/templates/ex_action.erb
|
122
|
+
- lib/canvas_api/templates/ex_default_action.erb
|
121
123
|
- lib/canvas_api/templates/ex_url.erb
|
122
124
|
- lib/canvas_api/templates/ex_urls.erb
|
123
125
|
- lib/canvas_api/templates/js_graphql_model.erb
|
@@ -167,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
169
|
version: '0'
|
168
170
|
requirements: []
|
169
171
|
rubyforge_project:
|
170
|
-
rubygems_version: 2.6.
|
172
|
+
rubygems_version: 2.6.14.4
|
171
173
|
signing_key:
|
172
174
|
specification_version: 4
|
173
175
|
summary: Wrapper for the Instructure Canvas API
|