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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5efdbf1795911d69e5efb110e65f23fdc4f580f
4
- data.tar.gz: 1c2198e6e1d0a15427683cfcec58791ac85e1d43
3
+ metadata.gz: 4537b1779fc89ca3db4a4e29367b58643ff0a8da
4
+ data.tar.gz: ac3abcb34b218882b427add8e15fc25ee821e404
5
5
  SHA512:
6
- metadata.gz: '0469a565d2d449198a711b46c5e0883aa0d8128d20c09a033b96f3fc7fdd66d3a6a35b6ff5929a58ae81d332730c5d744760ebdbaad147d6a4aab98bfc51b894'
7
- data.tar.gz: 89fb4f0ba9b0097326bae45ab8d9ba92edf87ddbcf35659a24f0e0cc195539d318d46e32346679ea8266762f7534e2471a845abfda9a0e84e88c1915c87c24a3
6
+ metadata.gz: 1ae7e8f29bf07b6055926fec2d61eafcb3e6a42e474e876c58b98167336ce0f1ee42bfe0a9b30bbefad8c3c1c1a160f99592ce3d55c91ee92561c3fe4bab21c4
7
+ data.tar.gz: 742ff6135ad77aeb2dcc391ee095bbbffa23afdf80ffec8d79fe09b966b781725810fdb78ebc8b7f910af8fc0350dd62658bbb1286ad44bf4813f02f15b7f824
@@ -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
- CanvasApi::Render.new("./templates/ex_urls.erb", nil, nil, nil, nil, nil, lms_urls_ex, nil).save("#{elixir_app_path}/lib/canvas/actions.ex")
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}}"
@@ -1,4 +1,3 @@
1
1
  defmodule Canvas.Actions do
2
2
  <%=@content.join("\n ")%>
3
- def action(type), do: raise InvalidCanvasActionException, message: "Invalid Canvas API Action: #{type}}"
4
3
  end
@@ -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
- unless [200, 201].include?(code)
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
 
@@ -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}] },
@@ -1,3 +1,3 @@
1
1
  module LMS
2
- VERSION = "1.12.0".freeze
2
+ VERSION = "1.12.1".freeze
3
3
  end
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.0
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-02-26 00:00:00.000000000 Z
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.11
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