lms-api 1.3.8 → 1.3.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5236b0a6130e6f84c8a22dcd1f581c195d13b125
4
- data.tar.gz: 028c45f9221a13b9f93902964e820bf65b7b723c
3
+ metadata.gz: 8bcc332cb4cda076bfe13fc899470cc3e99e4f00
4
+ data.tar.gz: 44da6747fc06e7c389819a48bb32cda04f972281
5
5
  SHA512:
6
- metadata.gz: d3acfdbe4a2baa395f98d2b92079bfa9bd8d5683021cb519dcd70270c41891c730b266245f0e4d7b2a89c7e41c967838436a3c87f16051d1b1362af8c3bba06a
7
- data.tar.gz: 50b2ff4e30acc1d87d4d990b2c81c9a2f4fc91dba3c15ba508ecdba7fa2bfcf4c7814c1424700ddb6265a4586151cde595c55122fd45de9a0cc45e15c732d763
6
+ metadata.gz: 6351b00423a2f38b8432191e189fb92cf9e3497e69b47ccff2ccc0ac88520b44f6f47d1521b8586dffd59beb55f0ec19a8385aec1a09aae3c74eeaf4d6b145e7
7
+ data.tar.gz: decf933d7fac55a7aaa4d6fa104b8bccf7fafab93a6947c822c75f0ba684d359d90240418fd86df95d52aae2e21f37e8118eec5d8eceb24bd09e83bde70ebc6d
@@ -5,9 +5,11 @@ module CanvasApi
5
5
  class Builder
6
6
 
7
7
  #
8
- # project_root: This is the directory where the canvas_urls.rb file will be written. This file contains all urls and functions for access to the Canvas API from this gem (lms_api).
8
+ # project_root: This is the directory where the canvas_urls.rb file will be written.
9
+ # This file contains all urls and functions for access to the Canvas API from this gem (lms_api).
9
10
  # client_app_path: This where all client side Javascript for accessing the Canvas API will be written.
10
- # server_app_path: This is where all server side Javascript for accessing the Canvas API will be written. Currently, this is generating GraphQL for Javascript
11
+ # server_app_path: This is where all server side Javascript for accessing the Canvas API will be written.
12
+ # Currently, this is generating GraphQL for Javascript
11
13
  #
12
14
  def self.build(project_root, client_app_path, server_app_path, elixir_app_path)
13
15
  endpoint = "https://canvas.instructure.com/doc/api"
@@ -16,6 +18,7 @@ module CanvasApi
16
18
  lms_urls_rb = []
17
19
  lms_urls_js = []
18
20
  lms_urls_ex = []
21
+ course_ids_required_rb = []
19
22
  models = []
20
23
  queries = []
21
24
  mutations = []
@@ -30,7 +33,12 @@ module CanvasApi
30
33
  lms_urls_rb << CanvasApi::Render.new("./templates/rb_url.erb", api, resource, resource_api, operation, parameters, nil, nil).render
31
34
  lms_urls_js << CanvasApi::Render.new("./templates/js_url.erb", api, resource, resource_api, operation, parameters, nil, nil).render
32
35
  lms_urls_ex << CanvasApi::Render.new("./templates/ex_url.erb", api, resource, resource_api, operation, parameters, nil, nil).render
33
- if "GET" == operation["method"].upcase
36
+
37
+ if parameters.detect{ |param| param["name"] == "course_id" && param["paramType"] == "path" }
38
+ course_ids_required_rb << CanvasApi::Render.new("./templates/course_id_required.erb", api, resource, resource_api, operation, parameters, nil, nil).render
39
+ end
40
+
41
+ if operation["method"].casecmp("GET")
34
42
  queries << CanvasApi::Render.new("./templates/graphql_query.erb", api, resource, resource_api, operation, parameters, nil, nil).render
35
43
  else
36
44
  mutations << CanvasApi::Render.new("./templates/graphql_mutation.erb", api, resource, resource_api, operation, parameters, nil, nil).render
@@ -50,6 +58,7 @@ module CanvasApi
50
58
  CanvasApi::Render.new("./templates/rb_urls.erb", nil, nil, nil, nil, nil, lms_urls_rb, nil).save("#{project_root}/lib/lms/canvas_urls.rb")
51
59
  CanvasApi::Render.new("./templates/js_urls.erb", nil, nil, nil, nil, nil, lms_urls_js, nil).save("#{server_app_path}/lib/canvas/urls.js")
52
60
  CanvasApi::Render.new("./templates/ex_urls.erb", nil, nil, nil, nil, nil, lms_urls_ex, nil).save("#{elixir_app_path}/lib/canvas/actions.ex")
61
+ 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")
53
62
 
54
63
  # GraphQL - still not complete
55
64
  CanvasApi::Render.new("./templates/graphql_types.erb", nil, nil, nil, nil, nil, models.compact, nil).save("#{server_app_path}/lib/canvas/graphql_types.js")
@@ -0,0 +1 @@
1
+ "<%=@nickname.upcase%>"
@@ -0,0 +1,5 @@
1
+ module LMS
2
+ COURSE_REQUIRED_ENDPOINTS = [
3
+ <%=@content.join(",\n ")%>
4
+ ].freeze
5
+ end
@@ -188,7 +188,7 @@ module LMS
188
188
  return result if [200, 201].include?(code)
189
189
 
190
190
  if code == 401 && result.headers["www-authenticate"] == 'Bearer realm="canvas-lms"'
191
- raise LMS::Canvas::RefreshTokenRequired
191
+ raise LMS::Canvas::RefreshTokenRequired.new("", nil, @authentication)
192
192
  end
193
193
 
194
194
  raise LMS::Canvas::InvalidAPIRequestException.new(api_error(result), code)
@@ -197,7 +197,7 @@ module LMS
197
197
  def api_error(result)
198
198
  error = "Status: #{result.headers['status']} \n"
199
199
  error << "Http Response: #{result.response.code} \n"
200
- error << "Error: #{result['errors'] || result.response.message} \n"
200
+ error << "Error: #{result.response.message} \n #{result.body} \n"
201
201
  end
202
202
 
203
203
  def get_next_url(link)
@@ -373,12 +373,18 @@ module LMS
373
373
  class CanvasException < RuntimeError
374
374
  attr_reader :status
375
375
 
376
- def initialize(msg="", status=nil)
376
+ def initialize(msg = "", status = nil)
377
377
  @status = status
378
378
  end
379
379
  end
380
380
 
381
381
  class RefreshTokenRequired < CanvasException
382
+ attr_reader :auth
383
+
384
+ def initialize(msg = "", status = nil, auth = nil)
385
+ super(msg, status)
386
+ @auth = auth
387
+ end
382
388
  end
383
389
 
384
390
  class InvalidRefreshOptionsException < CanvasException
@@ -527,6 +527,7 @@ module LMS
527
527
  "PEER_REVIEWS_CREATE_PEER_REVIEW_SECTIONS" => { uri: ->(section_id:, assignment_id:, submission_id:) { "sections/#{section_id}/assignments/#{assignment_id}/submissions/#{submission_id}/peer_reviews" }, method: "POST", parameters: [{"paramType"=>"path", "name"=>"section_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"assignment_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"submission_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"form", "name"=>"user_id", "type"=>"integer", "format"=>"int64", "required"=>true}] },
528
528
  "DELETE_PEER_REVIEW_COURSES" => { uri: ->(course_id:, assignment_id:, submission_id:) { "courses/#{course_id}/assignments/#{assignment_id}/submissions/#{submission_id}/peer_reviews" }, method: "DELETE", parameters: [{"paramType"=>"path", "name"=>"course_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"assignment_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"submission_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"query", "name"=>"user_id", "type"=>"integer", "format"=>"int64", "required"=>true}] },
529
529
  "DELETE_PEER_REVIEW_SECTIONS" => { uri: ->(section_id:, assignment_id:, submission_id:) { "sections/#{section_id}/assignments/#{assignment_id}/submissions/#{submission_id}/peer_reviews" }, method: "DELETE", parameters: [{"paramType"=>"path", "name"=>"section_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"assignment_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"submission_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"query", "name"=>"user_id", "type"=>"integer", "format"=>"int64", "required"=>true}] },
530
+ "GET_SINGLE_USER" => { uri: ->(id:) { "/lti/users/#{id}" }, method: "GET", parameters: [{"paramType"=>"path", "name"=>"id", "type"=>"string", "format"=>nil, "required"=>true}] },
530
531
  "LIST_PLANNER_NOTES" => { uri: ->() { "planner_notes" }, method: "GET", parameters: [] },
531
532
  "SHOW_PLANNERNOTE" => { uri: ->(id:) { "planner_notes/#{id}" }, method: "GET", parameters: [{"paramType"=>"path", "name"=>"id", "type"=>"string", "format"=>nil, "required"=>true}] },
532
533
  "UPDATE_PLANNERNOTE" => { uri: ->(id:) { "planner_notes/#{id}" }, method: "PUT", parameters: [{"paramType"=>"path", "name"=>"id", "type"=>"string", "format"=>nil, "required"=>true}] },
@@ -611,7 +612,7 @@ module LMS
611
612
  "GET_SINGLE_RUBRIC_ACCOUNTS" => { uri: ->(account_id:, id:) { "accounts/#{account_id}/rubrics/#{id}" }, method: "GET", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"query", "name"=>"include", "type"=>"string", "format"=>nil, "required"=>false, "enum"=>["assessments", "graded_assessments", "peer_assessments"]}, {"paramType"=>"query", "name"=>"style", "type"=>"string", "format"=>nil, "required"=>false, "enum"=>["full", "comments_only"]}] },
612
613
  "GET_SINGLE_RUBRIC_COURSES" => { uri: ->(course_id:, id:) { "courses/#{course_id}/rubrics/#{id}" }, method: "GET", parameters: [{"paramType"=>"path", "name"=>"course_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"query", "name"=>"include", "type"=>"string", "format"=>nil, "required"=>false, "enum"=>["assessments", "graded_assessments", "peer_assessments"]}, {"paramType"=>"query", "name"=>"style", "type"=>"string", "format"=>nil, "required"=>false, "enum"=>["full", "comments_only"]}] },
613
614
  "GET_SIS_IMPORT_LIST" => { uri: ->(account_id:) { "accounts/#{account_id}/sis_imports" }, method: "GET", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"query", "name"=>"created_since", "type"=>"DateTime", "format"=>nil, "required"=>false}] },
614
- "IMPORT_SIS_DATA" => { uri: ->(account_id:) { "accounts/#{account_id}/sis_imports" }, method: "POST", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"form", "name"=>"import_type", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"attachment", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"extension", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"batch_mode", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"batch_mode_term_id", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"multi_term_batch_mode", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"override_sis_stickiness", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"add_sis_stickiness", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"clear_sis_stickiness", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"diffing_data_set_identifier", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"diffing_remaster_data_set", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"change_threshold", "type"=>"integer", "format"=>"int64", "required"=>false}] },
615
+ "IMPORT_SIS_DATA" => { uri: ->(account_id:) { "accounts/#{account_id}/sis_imports" }, method: "POST", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"form", "name"=>"import_type", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"attachment", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"extension", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"batch_mode", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"batch_mode_term_id", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"multi_term_batch_mode", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"override_sis_stickiness", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"add_sis_stickiness", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"clear_sis_stickiness", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"diffing_data_set_identifier", "type"=>"string", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"diffing_remaster_data_set", "type"=>"boolean", "format"=>nil, "required"=>false}, {"paramType"=>"form", "name"=>"diffing_drop_status", "type"=>"string", "format"=>nil, "required"=>false, "enum"=>["deleted", "completed", "inactive"]}, {"paramType"=>"form", "name"=>"change_threshold", "type"=>"integer", "format"=>"int64", "required"=>false}] },
615
616
  "GET_SIS_IMPORT_STATUS" => { uri: ->(account_id:, id:) { "accounts/#{account_id}/sis_imports/#{id}" }, method: "GET", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"id", "type"=>"string", "format"=>nil, "required"=>true}] },
616
617
  "ABORT_SIS_IMPORT" => { uri: ->(account_id:, id:) { "accounts/#{account_id}/sis_imports/#{id}/abort" }, method: "PUT", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true}, {"paramType"=>"path", "name"=>"id", "type"=>"string", "format"=>nil, "required"=>true}] },
617
618
  "ABORT_ALL_PENDING_SIS_IMPORTS" => { uri: ->(account_id:) { "accounts/#{account_id}/sis_imports/abort_all_pending" }, method: "PUT", parameters: [{"paramType"=>"path", "name"=>"account_id", "type"=>"string", "format"=>nil, "required"=>true}] },
@@ -0,0 +1,271 @@
1
+ module LMS
2
+ COURSE_REQUIRED_ENDPOINTS = [
3
+ "GET_COURSE_LEVEL_PARTICIPATION_DATA",
4
+ "GET_COURSE_LEVEL_ASSIGNMENT_DATA",
5
+ "GET_COURSE_LEVEL_STUDENT_SUMMARY_DATA",
6
+ "GET_USER_IN_A_COURSE_LEVEL_PARTICIPATION_DATA",
7
+ "GET_USER_IN_A_COURSE_LEVEL_ASSIGNMENT_DATA",
8
+ "GET_USER_IN_A_COURSE_LEVEL_MESSAGING_DATA",
9
+ "LIST_EXTERNAL_FEEDS_COURSES",
10
+ "CREATE_EXTERNAL_FEED_COURSES",
11
+ "DELETE_EXTERNAL_FEED_COURSES",
12
+ "LIST_ASSIGNMENT_GROUPS",
13
+ "GET_ASSIGNMENT_GROUP",
14
+ "CREATE_ASSIGNMENT_GROUP",
15
+ "EDIT_ASSIGNMENT_GROUP",
16
+ "DESTROY_ASSIGNMENT_GROUP",
17
+ "DELETE_ASSIGNMENT",
18
+ "LIST_ASSIGNMENTS",
19
+ "LIST_ASSIGNMENTS_FOR_USER",
20
+ "GET_SINGLE_ASSIGNMENT",
21
+ "CREATE_ASSIGNMENT",
22
+ "EDIT_ASSIGNMENT",
23
+ "LIST_ASSIGNMENT_OVERRIDES",
24
+ "GET_SINGLE_ASSIGNMENT_OVERRIDE",
25
+ "CREATE_ASSIGNMENT_OVERRIDE",
26
+ "UPDATE_ASSIGNMENT_OVERRIDE",
27
+ "DELETE_ASSIGNMENT_OVERRIDE",
28
+ "BATCH_RETRIEVE_OVERRIDES_IN_COURSE",
29
+ "BATCH_CREATE_OVERRIDES_IN_COURSE",
30
+ "BATCH_UPDATE_OVERRIDES_IN_COURSE",
31
+ "GET_BLUEPRINT_INFORMATION",
32
+ "GET_ASSOCIATED_COURSE_INFORMATION",
33
+ "UPDATE_ASSOCIATED_COURSES",
34
+ "BEGIN_MIGRATION_TO_PUSH_TO_ASSOCIATED_COURSES",
35
+ "SET_OR_REMOVE_RESTRICTIONS_ON_BLUEPRINT_COURSE_OBJECT",
36
+ "GET_UNSYNCED_CHANGES",
37
+ "LIST_BLUEPRINT_MIGRATIONS",
38
+ "SHOW_BLUEPRINT_MIGRATION",
39
+ "GET_MIGRATION_DETAILS",
40
+ "LIST_BLUEPRINT_IMPORTS",
41
+ "SHOW_BLUEPRINT_IMPORT",
42
+ "GET_IMPORT_DETAILS",
43
+ "SET_COURSE_TIMETABLE",
44
+ "GET_COURSE_TIMETABLE",
45
+ "CREATE_OR_UPDATE_EVENTS_DIRECTLY_FOR_COURSE_TIMETABLE",
46
+ "LIST_COLLABORATIONS_COURSES",
47
+ "LIST_POTENTIAL_MEMBERS_COURSES",
48
+ "LIST_CONFERENCES_COURSES",
49
+ "LIST_CONTENT_EXPORTS_COURSES",
50
+ "SHOW_CONTENT_EXPORT_COURSES",
51
+ "EXPORT_CONTENT_COURSES",
52
+ "LIST_MIGRATION_ISSUES_COURSES",
53
+ "GET_MIGRATION_ISSUE_COURSES",
54
+ "UPDATE_MIGRATION_ISSUE_COURSES",
55
+ "LIST_CONTENT_MIGRATIONS_COURSES",
56
+ "GET_CONTENT_MIGRATION_COURSES",
57
+ "CREATE_CONTENT_MIGRATION_COURSES",
58
+ "UPDATE_CONTENT_MIGRATION_COURSES",
59
+ "LIST_MIGRATION_SYSTEMS_COURSES",
60
+ "COURSE_AUDIT_LOG_QUERY_BY_COURSE",
61
+ "COURSE_QUIZ_EXTENSIONS_SET_EXTENSIONS_FOR_STUDENT_QUIZ_SUBMISSIONS",
62
+ "COURSES_UPLOAD_FILE",
63
+ "LIST_STUDENTS",
64
+ "LIST_USERS_IN_COURSE_USERS",
65
+ "LIST_USERS_IN_COURSE_SEARCH_USERS",
66
+ "LIST_RECENTLY_LOGGED_IN_STUDENTS",
67
+ "GET_SINGLE_USER",
68
+ "COURSES_PREVIEW_PROCESSED_HTML",
69
+ "COURSE_ACTIVITY_STREAM",
70
+ "COURSE_ACTIVITY_STREAM_SUMMARY",
71
+ "COURSE_TODO_ITEMS",
72
+ "GET_COURSE_SETTINGS",
73
+ "UPDATE_COURSE_SETTINGS",
74
+ "RESET_COURSE",
75
+ "GET_EFFECTIVE_DUE_DATES",
76
+ "PERMISSIONS",
77
+ "GET_COURSE_COPY_STATUS",
78
+ "COPY_COURSE_CONTENT",
79
+ "LIST_CUSTOM_GRADEBOOK_COLUMNS",
80
+ "CREATE_CUSTOM_GRADEBOOK_COLUMN",
81
+ "UPDATE_CUSTOM_GRADEBOOK_COLUMN",
82
+ "DELETE_CUSTOM_GRADEBOOK_COLUMN",
83
+ "REORDER_CUSTOM_COLUMNS",
84
+ "LIST_ENTRIES_FOR_COLUMN",
85
+ "UPDATE_COLUMN_DATA",
86
+ "LIST_DISCUSSION_TOPICS_COURSES",
87
+ "CREATE_NEW_DISCUSSION_TOPIC_COURSES",
88
+ "UPDATE_TOPIC_COURSES",
89
+ "DELETE_TOPIC_COURSES",
90
+ "REORDER_PINNED_TOPICS_COURSES",
91
+ "UPDATE_ENTRY_COURSES",
92
+ "DELETE_ENTRY_COURSES",
93
+ "GET_SINGLE_TOPIC_COURSES",
94
+ "GET_FULL_TOPIC_COURSES",
95
+ "POST_ENTRY_COURSES",
96
+ "LIST_TOPIC_ENTRIES_COURSES",
97
+ "POST_REPLY_COURSES",
98
+ "LIST_ENTRY_REPLIES_COURSES",
99
+ "LIST_ENTRIES_COURSES",
100
+ "MARK_TOPIC_AS_READ_COURSES",
101
+ "MARK_TOPIC_AS_UNREAD_COURSES",
102
+ "MARK_ALL_ENTRIES_AS_READ_COURSES",
103
+ "MARK_ALL_ENTRIES_AS_UNREAD_COURSES",
104
+ "MARK_ENTRY_AS_READ_COURSES",
105
+ "MARK_ENTRY_AS_UNREAD_COURSES",
106
+ "RATE_ENTRY_COURSES",
107
+ "SUBSCRIBE_TO_TOPIC_COURSES",
108
+ "UNSUBSCRIBE_FROM_TOPIC_COURSES",
109
+ "LIST_ENROLLMENTS_COURSES",
110
+ "ENROLL_USER_COURSES",
111
+ "CONCLUDE_DEACTIVATE_OR_DELETE_ENROLLMENT",
112
+ "RE_ACTIVATE_ENROLLMENT",
113
+ "LIST_EXTERNAL_TOOLS_COURSES",
114
+ "GET_SESSIONLESS_LAUNCH_URL_FOR_EXTERNAL_TOOL_COURSES",
115
+ "GET_SINGLE_EXTERNAL_TOOL_COURSES",
116
+ "CREATE_EXTERNAL_TOOL_COURSES",
117
+ "EDIT_EXTERNAL_TOOL_COURSES",
118
+ "DELETE_EXTERNAL_TOOL_COURSES",
119
+ "LIST_FEATURES_COURSES",
120
+ "LIST_ENABLED_FEATURES_COURSES",
121
+ "GET_FEATURE_FLAG_COURSES",
122
+ "SET_FEATURE_FLAG_COURSES",
123
+ "REMOVE_FEATURE_FLAG_COURSES",
124
+ "GET_QUOTA_INFORMATION_COURSES",
125
+ "LIST_FILES_COURSES",
126
+ "GET_FILE_COURSES",
127
+ "LIST_ALL_FOLDERS_COURSES",
128
+ "RESOLVE_PATH_COURSES_FULL_PATH",
129
+ "RESOLVE_PATH_COURSES",
130
+ "GET_FOLDER_COURSES",
131
+ "CREATE_FOLDER_COURSES",
132
+ "SET_USAGE_RIGHTS_COURSES",
133
+ "REMOVE_USAGE_RIGHTS_COURSES",
134
+ "LIST_LICENSES_COURSES",
135
+ "GRADE_CHANGE_LOG_QUERY_BY_COURSE",
136
+ "DAYS_IN_GRADEBOOK_HISTORY_FOR_THIS_COURSE",
137
+ "DETAILS_FOR_GIVEN_DATE_IN_GRADEBOOK_HISTORY_FOR_THIS_COURSE",
138
+ "LISTS_SUBMISSIONS",
139
+ "LIST_UNCOLLATED_SUBMISSION_VERSIONS",
140
+ "LIST_GRADING_PERIODS_COURSES",
141
+ "GET_SINGLE_GRADING_PERIOD",
142
+ "UPDATE_SINGLE_GRADING_PERIOD",
143
+ "DELETE_GRADING_PERIOD_COURSES",
144
+ "CREATE_NEW_GRADING_STANDARD_COURSES",
145
+ "LIST_GRADING_STANDARDS_AVAILABLE_IN_CONTEXT_COURSES",
146
+ "GET_SINGLE_GRADING_STANDARD_IN_CONTEXT_COURSES",
147
+ "LIST_GROUP_CATEGORIES_FOR_CONTEXT_COURSES",
148
+ "CREATE_GROUP_CATEGORY_COURSES",
149
+ "LIST_GROUPS_AVAILABLE_IN_CONTEXT_COURSES",
150
+ "CREATE_LIVE_ASSESSMENT_RESULTS",
151
+ "LIST_LIVE_ASSESSMENT_RESULTS",
152
+ "CREATE_OR_FIND_LIVE_ASSESSMENT",
153
+ "LIST_LIVE_ASSESSMENTS",
154
+ "LIST_STUDENTS_SELECTED_FOR_MODERATION",
155
+ "SELECT_STUDENTS_FOR_MODERATION",
156
+ "SHOW_PROVISIONAL_GRADE_STATUS_FOR_STUDENT",
157
+ "SELECT_PROVISIONAL_GRADE",
158
+ "COPY_PROVISIONAL_GRADE",
159
+ "PUBLISH_PROVISIONAL_GRADES_FOR_ASSIGNMENT",
160
+ "LIST_MODULES",
161
+ "SHOW_MODULE",
162
+ "CREATE_MODULE",
163
+ "UPDATE_MODULE",
164
+ "DELETE_MODULE",
165
+ "RE_LOCK_MODULE_PROGRESSIONS",
166
+ "LIST_MODULE_ITEMS",
167
+ "SHOW_MODULE_ITEM",
168
+ "CREATE_MODULE_ITEM",
169
+ "UPDATE_MODULE_ITEM",
170
+ "SELECT_MASTERY_PATH",
171
+ "DELETE_MODULE_ITEM",
172
+ "MARK_MODULE_ITEM_AS_DONE_NOT_DONE",
173
+ "GET_MODULE_ITEM_SEQUENCE",
174
+ "MARK_MODULE_ITEM_READ",
175
+ "REDIRECT_TO_ROOT_OUTCOME_GROUP_FOR_CONTEXT_COURSES",
176
+ "GET_ALL_OUTCOME_GROUPS_FOR_CONTEXT_COURSES",
177
+ "GET_ALL_OUTCOME_LINKS_FOR_CONTEXT_COURSES",
178
+ "SHOW_OUTCOME_GROUP_COURSES",
179
+ "UPDATE_OUTCOME_GROUP_COURSES",
180
+ "DELETE_OUTCOME_GROUP_COURSES",
181
+ "LIST_LINKED_OUTCOMES_COURSES",
182
+ "CREATE_LINK_OUTCOME_COURSES",
183
+ "CREATE_LINK_OUTCOME_COURSES_OUTCOME_ID",
184
+ "UNLINK_OUTCOME_COURSES",
185
+ "LIST_SUBGROUPS_COURSES",
186
+ "CREATE_SUBGROUP_COURSES",
187
+ "IMPORT_OUTCOME_GROUP_COURSES",
188
+ "GET_OUTCOME_RESULTS",
189
+ "GET_OUTCOME_RESULT_ROLLUPS",
190
+ "SHOW_FRONT_PAGE_COURSES",
191
+ "DUPLICATE_PAGE",
192
+ "UPDATE_CREATE_FRONT_PAGE_COURSES",
193
+ "LIST_PAGES_COURSES",
194
+ "CREATE_PAGE_COURSES",
195
+ "SHOW_PAGE_COURSES",
196
+ "UPDATE_CREATE_PAGE_COURSES",
197
+ "DELETE_PAGE_COURSES",
198
+ "LIST_REVISIONS_COURSES",
199
+ "SHOW_REVISION_COURSES_LATEST",
200
+ "SHOW_REVISION_COURSES_REVISION_ID",
201
+ "REVERT_TO_REVISION_COURSES",
202
+ "GET_ALL_PEER_REVIEWS_COURSES_PEER_REVIEWS",
203
+ "GET_ALL_PEER_REVIEWS_COURSES_SUBMISSIONS",
204
+ "PEER_REVIEWS_CREATE_PEER_REVIEW_COURSES",
205
+ "DELETE_PEER_REVIEW_COURSES",
206
+ "RETRIEVE_ASSIGNMENT_OVERRIDDEN_DATES_FOR_QUIZZES",
207
+ "QUIZ_EXTENSIONS_SET_EXTENSIONS_FOR_STUDENT_QUIZ_SUBMISSIONS",
208
+ "GET_AVAILABLE_QUIZ_IP_FILTERS",
209
+ "GET_SINGLE_QUIZ_GROUP",
210
+ "CREATE_QUESTION_GROUP",
211
+ "UPDATE_QUESTION_GROUP",
212
+ "DELETE_QUESTION_GROUP",
213
+ "REORDER_QUESTION_GROUPS",
214
+ "LIST_QUESTIONS_IN_QUIZ_OR_SUBMISSION",
215
+ "GET_SINGLE_QUIZ_QUESTION",
216
+ "CREATE_SINGLE_QUIZ_QUESTION",
217
+ "UPDATE_EXISTING_QUIZ_QUESTION",
218
+ "DELETE_QUIZ_QUESTION",
219
+ "RETRIEVE_ALL_QUIZ_REPORTS",
220
+ "CREATE_QUIZ_REPORT",
221
+ "GET_QUIZ_REPORT",
222
+ "ABORT_GENERATION_OF_REPORT_OR_REMOVE_PREVIOUSLY_GENERATED_ONE",
223
+ "FETCHING_LATEST_QUIZ_STATISTICS",
224
+ "SUBMIT_CAPTURED_EVENTS",
225
+ "RETRIEVE_CAPTURED_EVENTS",
226
+ "QUIZ_SUBMISSION_FILES_UPLOAD_FILE",
227
+ "SEND_MESSAGE_TO_UNSUBMITTED_OR_SUBMITTED_USERS_FOR_QUIZ",
228
+ "GET_ALL_QUIZ_SUBMISSIONS",
229
+ "GET_QUIZ_SUBMISSION",
230
+ "GET_SINGLE_QUIZ_SUBMISSION",
231
+ "CREATE_QUIZ_SUBMISSION_START_QUIZ_TAKING_SESSION",
232
+ "UPDATE_STUDENT_QUESTION_SCORES_AND_COMMENTS",
233
+ "COMPLETE_QUIZ_SUBMISSION_TURN_IT_IN",
234
+ "GET_CURRENT_QUIZ_SUBMISSION_TIMES",
235
+ "LIST_QUIZZES_IN_COURSE",
236
+ "GET_SINGLE_QUIZ",
237
+ "CREATE_QUIZ",
238
+ "EDIT_QUIZ",
239
+ "DELETE_QUIZ",
240
+ "REORDER_QUIZ_ITEMS",
241
+ "VALIDATE_QUIZ_ACCESS_CODE",
242
+ "LIST_RUBRICS_COURSES",
243
+ "GET_SINGLE_RUBRIC_COURSES",
244
+ "RETRIEVE_ASSIGNMENTS_ENABLED_FOR_GRADE_EXPORT_TO_SIS_COURSES",
245
+ "DISABLE_ASSIGNMENTS_CURRENTLY_ENABLED_FOR_GRADE_EXPORT_TO_SIS",
246
+ "LIST_COURSE_SECTIONS",
247
+ "CREATE_COURSE_SECTION",
248
+ "GET_SECTION_INFORMATION_COURSES",
249
+ "SUBMISSION_COMMENTS_UPLOAD_FILE",
250
+ "SUBMIT_ASSIGNMENT_COURSES",
251
+ "LIST_ASSIGNMENT_SUBMISSIONS_COURSES",
252
+ "LIST_SUBMISSIONS_FOR_MULTIPLE_ASSIGNMENTS_COURSES",
253
+ "GET_SINGLE_SUBMISSION_COURSES",
254
+ "UPLOAD_FILE_COURSES",
255
+ "GRADE_OR_COMMENT_ON_SUBMISSION_COURSES",
256
+ "LIST_GRADEABLE_STUDENTS",
257
+ "LIST_MULTIPLE_ASSIGNMENTS_GRADEABLE_STUDENTS",
258
+ "GRADE_OR_COMMENT_ON_MULTIPLE_SUBMISSIONS_COURSES_SUBMISSIONS",
259
+ "GRADE_OR_COMMENT_ON_MULTIPLE_SUBMISSIONS_COURSES_ASSIGNMENTS",
260
+ "MARK_SUBMISSION_AS_READ_COURSES",
261
+ "MARK_SUBMISSION_AS_UNREAD_COURSES",
262
+ "SUBMISSION_SUMMARY_COURSES",
263
+ "LIST_AVAILABLE_TABS_FOR_COURSE_OR_GROUP_COURSES",
264
+ "UPDATE_TAB_FOR_COURSE",
265
+ "GET_COURSE_NICKNAME",
266
+ "SET_COURSE_NICKNAME",
267
+ "REMOVE_COURSE_NICKNAME",
268
+ "CREATE_EPUB_EXPORT",
269
+ "SHOW_EPUB_EXPORT"
270
+ ].freeze
271
+ end
@@ -1,3 +1,3 @@
1
1
  module LMS
2
- VERSION = "1.3.8".freeze
2
+ VERSION = "1.3.9".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.3.8
4
+ version: 1.3.9
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: 2017-10-27 00:00:00.000000000 Z
13
+ date: 2017-11-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -115,6 +115,8 @@ files:
115
115
  - lib/canvas_api/ruby_helpers.rb
116
116
  - lib/canvas_api/templates/constant.erb
117
117
  - lib/canvas_api/templates/constants.erb
118
+ - lib/canvas_api/templates/course_id_required.erb
119
+ - lib/canvas_api/templates/course_ids_required.erb
118
120
  - lib/canvas_api/templates/ex_url.erb
119
121
  - lib/canvas_api/templates/ex_urls.erb
120
122
  - lib/canvas_api/templates/graphql_model.erb
@@ -129,6 +131,7 @@ files:
129
131
  - lib/canvas_api/templates/rb_urls.erb
130
132
  - lib/lms/canvas.rb
131
133
  - lib/lms/canvas_urls.rb
134
+ - lib/lms/course_ids_required.rb
132
135
  - lib/lms/helper_urls.rb
133
136
  - lib/lms/version.rb
134
137
  - lib/lms_api.rb