qalam_oauth_engine 3.0.6 → 3.0.7

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
  SHA256:
3
- metadata.gz: fedb8888333b8e5593967fd75d34041dabd73bd19af4cc017b77f3ee4125d6b9
4
- data.tar.gz: 6bc18fbcb7d0cae6641da7418dad7835bf5890dcc28502b06a42e9737bb35c68
3
+ metadata.gz: 9ce5f3ea19a895f5964a450249d587a9a9e847064071bb260f42f078d3a5ed58
4
+ data.tar.gz: d2621e2449cb88ec7dfcaea89219c4e825a981e4ed82eaaf2dd9af40beb554a2
5
5
  SHA512:
6
- metadata.gz: 8cc4173cba1f1fefd30015c358b0e123ab34f329fad944559996a88c14f9d5ca0e36ce4077d7de064a80989c0c9bd7a2893fff621f9644e73168b3670dcb86a0
7
- data.tar.gz: 16dd53a5746b3cb1d2166057874a77faeccb53a7fa154dec30cd1804be8db76443d8cf5139ad0f864aeb1f9b5d6a5ec0ebd746b4ed84d35c43ee08e9f808df0f
6
+ metadata.gz: 68a55695a6a6b196a6cb7cc3402d314b987473ed58a1b78dd538b35f80903b0035beff1dd00acb714c1a2f521348f9baf978f941584098c742e182f2be003a0b
7
+ data.tar.gz: df1b190fb6e62609f9867ca96c6365786137681c2c5bc3f0b14fef895308912fce6d1956d40385e1a06d233c7e2437fd0bf5ebf3f2c98372d2ec0ea9cc62743c
@@ -6,7 +6,6 @@ module CanvasOauth
6
6
  if verify_oauth2_state(params[:state]) && params[:code]
7
7
  if token = canvas.get_access_token(params[:code])
8
8
  set_root_account
9
- puts @root_account_id.inspect.green
10
9
  refresh_token = canvas.refresh_token
11
10
  if CanvasOauth::Authorization.cache_token(token, refresh_token, user_id, @root_account_id, tool_consumer_instance_guid)
12
11
  redirect_to main_app.root_path
@@ -104,18 +104,23 @@ module CanvasOauth
104
104
  authenticated_request(:put, *params)
105
105
  end
106
106
 
107
- def paginated_get(url, params = {})
107
+ def paginated_get(url, params={})
108
108
  params[:query] ||= {}
109
- params[:query][:per_page] = PER_PAGE
110
-
109
+ params[:query][:per_page] ||= PER_PAGE
110
+ params[:query][:page] ||= 1
111
111
  all_pages = []
112
112
 
113
- while url && current_page = authenticated_get(url, params) do
114
- all_pages.concat(current_page) if valid_page?(current_page)
113
+ if params[:all_pages]
114
+ while url && current_page = authenticated_get(url, params) do
115
+ all_pages.concat(current_page) if valid_page?(current_page)
115
116
 
116
- links = LinkHeader.parse(current_page.headers['link'])
117
- url = links.find_link(["rel", "next"]).try(:href)
118
- params[:query] = nil if params[:query]
117
+ links = LinkHeader.parse(current_page.headers['link'])
118
+ url = links.find_link(["rel", "next"]).try(:href)
119
+ params[:query] = nil if params[:query]
120
+ end
121
+ else
122
+ current_page = authenticated_get(url, params)
123
+ all_pages.concat(current_page) if valid_page?(current_page)
119
124
  end
120
125
 
121
126
  all_pages
@@ -195,7 +200,7 @@ module CanvasOauth
195
200
  # root_account_id
196
201
  # course_root_account_id
197
202
 
198
- def get_report(account_id, report_type, params)
203
+ def get_report(account_id, report_type, params={})
199
204
  report = authenticated_post("/api/v1/accounts/#{account_id}/reports/#{report_type}", { body: params })
200
205
  report = authenticated_get "/api/v1/accounts/#{account_id}/reports/#{report_type}/#{report['id']}"
201
206
  while (report['status'] == 'created' || report['status'] == 'running')
@@ -212,108 +217,108 @@ module CanvasOauth
212
217
  end
213
218
  end
214
219
 
215
- def get_file(file_id)
220
+ def get_file(file_id, params={})
216
221
  authenticated_get "/api/v1/files/#{file_id}"
217
222
  end
218
223
 
219
- def get_accounts_provisioning_report(account_id)
224
+ def get_accounts_provisioning_report(account_id, params={})
220
225
  get_report(account_id, :provisioning_csv, 'parameters[accounts]' => true)
221
226
  end
222
227
 
223
- def get_courses
228
+ def get_courses(params={})
224
229
  paginated_get "/api/v1/courses"
225
230
  end
226
231
 
227
- def get_account(account_id)
232
+ def get_account(account_id, params={})
228
233
  authenticated_get "/api/v1/accounts/#{account_id}"
229
234
  end
230
235
 
231
- def get_account_sub_accounts(account_id)
236
+ def get_account_sub_accounts(account_id, params={})
232
237
  paginated_get "/api/v1/accounts/#{account_id}/sub_accounts", { query: { :recursive => true } }
233
238
  end
234
239
 
235
- def get_account_courses(account_id)
240
+ def get_account_courses(account_id, params={})
236
241
  paginated_get "/api/v1/accounts/#{account_id}/courses"
237
242
  end
238
243
 
239
- def get_account_users(account_id)
244
+ def get_account_users(account_id, params={})
240
245
  paginated_get "/api/v1/accounts/#{account_id}/users"
241
246
  end
242
247
 
243
- def get_course(course_id)
248
+ def get_course(course_id, params={})
244
249
  authenticated_get "/api/v1/courses/#{course_id}"
245
250
  end
246
251
 
247
- def get_section_enrollments(section_id)
252
+ def get_section_enrollments(section_id, params={})
248
253
  paginated_get "/api/v1/sections/#{section_id}/enrollments"
249
254
  end
250
255
 
251
- def get_user_enrollments(user_id)
256
+ def get_user_enrollments(user_id, params={})
252
257
  paginated_get "/api/v1/users/#{user_id}/enrollments"
253
258
  end
254
259
 
255
- def get_course_users(course_id)
260
+ def get_course_users(course_id, params={})
256
261
  paginated_get "/api/v1/courses/#{course_id}/users"
257
262
  end
258
263
 
259
- def get_all_course_users(course_id)
264
+ def get_all_course_users(course_id, params={})
260
265
  paginated_get "/api/v1/courses/#{course_id}/users", { query: {enrollment_state: ["active","invited","rejected","completed","inactive"] } }
261
266
  end
262
267
 
263
- def get_course_teachers_and_tas(course_id)
268
+ def get_course_teachers_and_tas(course_id, params={})
264
269
  paginated_get "/api/v1/courses/#{course_id}/users", { query: { enrollment_type: ['teacher', 'ta'] } }
265
270
  end
266
271
 
267
- def get_course_students(course_id)
272
+ def get_course_students(course_id, params={})
268
273
  paginated_get "/api/v1/courses/#{course_id}/students"
269
274
  end
270
275
 
271
- def get_course_active_students(course_id)
276
+ def get_course_active_students(course_id, params={})
272
277
  paginated_get "/api/v1/courses/#{course_id}/active_users"
273
278
  end
274
279
 
275
- def get_section(section_id)
280
+ def get_section(section_id, params={})
276
281
  authenticated_get "/api/v1/sections/#{section_id}"
277
282
  end
278
283
 
279
- def get_sections(course_id)
284
+ def get_sections(course_id, params={})
280
285
  paginated_get "/api/v1/courses/#{course_id}/sections", { query: { :include => ['students', 'avatar_url', 'enrollments'] } }
281
286
  end
282
287
 
283
- def get_assignments(course_id)
288
+ def get_assignments(course_id, params={})
284
289
  paginated_get "/api/v1/courses/#{course_id}/assignments"
285
290
  end
286
291
 
287
- def get_assignment(course_id, assignment_id)
292
+ def get_assignment(course_id, assignment_id, params={})
288
293
  authenticated_get "/api/v1/courses/#{course_id}/assignments/#{assignment_id}"
289
294
  end
290
295
 
291
- def get_user_profile(user_id)
296
+ def get_user_profile(user_id, params={})
292
297
  authenticated_get "/api/v1/users/#{user_id}/profile"
293
298
  end
294
299
 
295
- def create_assignment(course_id, params)
300
+ def create_assignment(course_id, params={})
296
301
  authenticated_post "/api/v1/courses/#{course_id}/assignments", { body: { assignment: params } }
297
302
  end
298
303
 
299
- def update_assignment(course_id, assignment_id, params)
304
+ def update_assignment(course_id, assignment_id, params={})
300
305
  authenticated_put "/api/v1/courses/#{course_id}/assignments/#{assignment_id}", { body: { assignment: params } }
301
306
  end
302
307
 
303
- def grade_assignment(course_id, assignment_id, user_id, params)
308
+ def grade_assignment(course_id, assignment_id, user_id, params={})
304
309
  authenticated_put "/api/v1/courses/#{course_id}/assignments/#{assignment_id}/submissions/#{user_id}", { body: params }
305
310
  end
306
311
 
307
- def get_submission(course_id, assignment_id, user_id)
312
+ def get_submission(course_id, assignment_id, user_id, params={})
308
313
  authenticated_get "/api/v1/courses/#{course_id}/assignments/#{assignment_id}/submissions/#{user_id}"
309
314
  end
310
315
 
311
- def course_account_id(course_id)
316
+ def course_account_id(course_id, params={})
312
317
  course = get_course(course_id)
313
318
  course['account_id'] if course
314
319
  end
315
320
 
316
- def root_account_id(account_id)
321
+ def root_account_id(account_id, params={})
317
322
  if account_id && account = get_account(account_id)
318
323
  root_id = account['root_account_id']
319
324
  end
@@ -321,7 +326,7 @@ module CanvasOauth
321
326
  root_id || account_id
322
327
  end
323
328
 
324
- def course_root_account_id(course_id)
329
+ def course_root_account_id(course_id, params={})
325
330
  root_account_id(course_account_id(course_id))
326
331
  end
327
332
  ### END CANVAS API ###
@@ -329,44 +334,66 @@ module CanvasOauth
329
334
  ### QALAM API ENDPOINTS ###
330
335
  # get_canvas_user_profile
331
336
  # get_course_active_pages
332
- # course_external_tool_update
333
- # account_external_tool_update
337
+ # update_external_tool_nav
334
338
  # get_school_details
335
- # get_grade_students
336
- # get_classroom_students
339
+ # get_school_grades
340
+ # get_school_class_rooms
341
+ # get_school_subjects
342
+ # get_students_by_grade
343
+ # get_students_by_class_room
337
344
 
338
- def get_canvas_user_profile
345
+ def get_canvas_user_profile(params={})
339
346
  authenticated_get "/api/v1/users/#{canvas_user_id}/profile"
340
347
  end
341
348
 
342
- def get_course_active_pages(course_id, publish=nil)
349
+ def get_course_active_pages(course_id, publish=nil, params={})
343
350
  unless publish.nil?
344
- paginated_get "/api/v1/courses/#{course_id}/pages?published=#{publish}&sort=created_at&order=desc"
351
+ paginated_get "/api/v1/courses/#{course_id}/pages?published=#{publish}&sort=created_at&order=desc", params
345
352
  else
346
- paginated_get "/api/v1/courses/#{course_id}/pages?sort=created_at&order=desc"
353
+ paginated_get "/api/v1/courses/#{course_id}/pages?sort=created_at&order=desc", params
354
+ end
355
+ end
356
+
357
+ def update_external_tool_nav(external_tool_url, tool_id, publish, type, account_id=@canvas_root_account_id, params={})
358
+ account_id ||= @canvas_root_account_id
359
+ if type == 'account'
360
+ body = {"account_navigation"=>{"enabled"=>"#{publish}"},
361
+ "tool_id"=>tool_id, "external_tool_url"=>external_tool_url}
362
+ elsif type == 'course'
363
+ body = {"course_navigation"=>{"enabled"=>"#{publish}"},
364
+ "tool_id"=>tool_id, "external_tool_url"=>external_tool_url}
347
365
  end
366
+ authenticated_put "/api/v1/accounts/#{account_id}/external_tools_url", { body: body } if body
367
+ end
368
+
369
+ def get_school_details(account_id=@canvas_root_account_id, params={})
370
+ account_id ||= @canvas_root_account_id
371
+ authenticated_get "/api/v1/accounts/#{account_id}/school_details"
348
372
  end
349
373
 
350
- def course_external_tool_update(external_tool_url, tool_id, account_id, publish)
351
- authenticated_put "/api/v1/accounts/#{account_id}/external_tools_url", { body: {"course_navigation"=>{"enabled"=>"#{publish}"},
352
- "tool_id"=>tool_id, "external_tool_url"=>external_tool_url} }
374
+ def get_school_grades(account_id=@canvas_root_account_id, params={})
375
+ account_id ||= @canvas_root_account_id
376
+ paginated_get "/api/v1/accounts/#{account_id}/school_grades", params
353
377
  end
354
378
 
355
- def account_external_tool_update(external_tool_url, tool_id, account_id, publish)
356
- authenticated_put "/api/v1/accounts/#{account_id}/external_tools_url", { body: {"account_navigation"=>{"enabled"=>"#{publish}"},
357
- "tool_id"=>tool_id, "external_tool_url"=>external_tool_url} }
379
+ def get_school_subjects(account_id=@canvas_root_account_id, params={})
380
+ account_id ||= @canvas_root_account_id
381
+ paginated_get "/api/v1/accounts/#{account_id}/school_subjects", params
358
382
  end
359
383
 
360
- def get_school_details(account_id)
361
- authenticated_get "/api/v1/accounts/#{account_id}/school_details"
384
+ def get_school_class_rooms(account_id=@canvas_root_account_id, params={})
385
+ account_id ||= @canvas_root_account_id
386
+ paginated_get "/api/v1/accounts/#{account_id}/school_class_rooms", params
362
387
  end
363
388
 
364
- def get_grade_students(account_id, grade_id)
365
- paginated_get "/api/v1/accounts/#{account_id}/grade_students/#{grade_id}"
389
+ def get_students_by_grade(grade_id, account_id=@canvas_root_account_id, params={})
390
+ account_id ||= @canvas_root_account_id
391
+ paginated_get "/api/v1/accounts/#{account_id}/grade_students/#{grade_id}", params
366
392
  end
367
393
 
368
- def get_classroom_students(account_id, class_id)
369
- paginated_get "/api/v1/accounts/#{account_id}/classroom_students/#{class_id}"
394
+ def get_students_by_class_room(class_room_id, account_id=@canvas_root_account_id, params={})
395
+ account_id ||= @canvas_root_account_id
396
+ paginated_get "/api/v1/accounts/#{account_id}/class_room_students/#{class_room_id}", params
370
397
  end
371
398
  ### END QALAM API ###
372
399
  end
@@ -1,3 +1,3 @@
1
1
  module CanvasOauth
2
- VERSION = "3.0.6"
2
+ VERSION = "3.0.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qalam_oauth_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.6
4
+ version: 3.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Donahue
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2021-08-23 00:00:00.000000000 Z
14
+ date: 2021-08-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: httparty