lms-graphql-api 1.1.1 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. checksums.yaml +5 -5
  2. data/lib/lms_graphql/mutations/canvas/add_allowed_domain_to_account.rb +24 -0
  3. data/lib/lms_graphql/mutations/canvas/add_multiple_allowed_domains_to_account.rb +24 -0
  4. data/lib/lms_graphql/mutations/canvas/add_users_to_content_share.rb +26 -0
  5. data/lib/lms_graphql/mutations/canvas/begin_migration_to_push_to_associated_courses.rb +4 -2
  6. data/lib/lms_graphql/mutations/canvas/bulk_update_assignment_dates.rb +21 -0
  7. data/lib/lms_graphql/mutations/canvas/confirm_image_selection.rb +21 -0
  8. data/lib/lms_graphql/mutations/canvas/create_assignment.rb +13 -3
  9. data/lib/lms_graphql/mutations/canvas/create_content_migration_accounts.rb +16 -2
  10. data/lib/lms_graphql/mutations/canvas/create_content_migration_courses.rb +16 -2
  11. data/lib/lms_graphql/mutations/canvas/create_content_migration_groups.rb +16 -2
  12. data/lib/lms_graphql/mutations/canvas/create_content_migration_users.rb +16 -2
  13. data/lib/lms_graphql/mutations/canvas/create_content_share.rb +28 -0
  14. data/lib/lms_graphql/mutations/canvas/create_external_tool_accounts.rb +6 -2
  15. data/lib/lms_graphql/mutations/canvas/create_external_tool_courses.rb +6 -2
  16. data/lib/lms_graphql/mutations/canvas/create_line_item.rb +34 -0
  17. data/lib/lms_graphql/mutations/canvas/create_new_course.rb +3 -1
  18. data/lib/lms_graphql/mutations/canvas/create_observer_pairing_code.rb +21 -0
  19. data/lib/lms_graphql/mutations/canvas/create_originality_report.rb +6 -2
  20. data/lib/lms_graphql/mutations/canvas/create_rubricassociation.rb +38 -0
  21. data/lib/lms_graphql/mutations/canvas/create_score.rb +40 -0
  22. data/lib/lms_graphql/mutations/canvas/create_single_rubric_assessment.rb +32 -0
  23. data/lib/lms_graphql/mutations/canvas/create_user.rb +6 -2
  24. data/lib/lms_graphql/mutations/canvas/create_webhook_subscription.rb +3 -3
  25. data/lib/lms_graphql/mutations/canvas/delete_line_item.rb +23 -0
  26. data/lib/lms_graphql/mutations/canvas/delete_rubricassociation.rb +23 -0
  27. data/lib/lms_graphql/mutations/canvas/delete_single_rubric.rb +23 -0
  28. data/lib/lms_graphql/mutations/canvas/delete_single_rubric_assessment.rb +25 -0
  29. data/lib/lms_graphql/mutations/canvas/deprecated_self_register_user.rb +42 -0
  30. data/lib/lms_graphql/mutations/canvas/edit_assignment.rb +15 -3
  31. data/lib/lms_graphql/mutations/canvas/edit_originality_report_files.rb +4 -2
  32. data/lib/lms_graphql/mutations/canvas/edit_originality_report_submissions.rb +4 -2
  33. data/lib/lms_graphql/mutations/canvas/edit_user_login.rb +4 -2
  34. data/lib/lms_graphql/mutations/canvas/enroll_user_courses.rb +5 -1
  35. data/lib/lms_graphql/mutations/canvas/enroll_user_sections.rb +5 -1
  36. data/lib/lms_graphql/mutations/canvas/import_sis_data.rb +4 -2
  37. data/lib/lms_graphql/mutations/canvas/lock_or_unlock_current_csp_settings_for_sub_accounts_and_courses.rb +24 -0
  38. data/lib/lms_graphql/mutations/canvas/mutations.rb +27 -4
  39. data/lib/lms_graphql/mutations/canvas/remove_content_share.rb +23 -0
  40. data/lib/lms_graphql/mutations/canvas/remove_domain_from_account.rb +23 -0
  41. data/lib/lms_graphql/mutations/canvas/reset_link_verifier.rb +21 -0
  42. data/lib/lms_graphql/mutations/canvas/submit_assignment_courses.rb +6 -2
  43. data/lib/lms_graphql/mutations/canvas/submit_assignment_sections.rb +6 -2
  44. data/lib/lms_graphql/mutations/canvas/update_account.rb +5 -1
  45. data/lib/lms_graphql/mutations/canvas/update_content_share.rb +26 -0
  46. data/lib/lms_graphql/mutations/canvas/update_course.rb +5 -1
  47. data/lib/lms_graphql/mutations/canvas/update_course_settings.rb +10 -2
  48. data/lib/lms_graphql/mutations/canvas/update_line_item.rb +32 -0
  49. data/lib/lms_graphql/mutations/canvas/update_media_object.rb +24 -0
  50. data/lib/lms_graphql/mutations/canvas/update_media_tracks.rb +24 -0
  51. data/lib/lms_graphql/mutations/canvas/update_public_jwk.rb +21 -0
  52. data/lib/lms_graphql/mutations/canvas/update_rubricassociation.rb +40 -0
  53. data/lib/lms_graphql/mutations/canvas/update_single_rubric_assessment.rb +34 -0
  54. data/lib/lms_graphql/resolvers/canvas/course_audit_log_query_by_account.rb +27 -0
  55. data/lib/lms_graphql/resolvers/canvas/find_images.rb +22 -0
  56. data/lib/lms_graphql/resolvers/canvas/get_account.rb +22 -0
  57. data/lib/lms_graphql/resolvers/canvas/get_content_share.rb +24 -0
  58. data/lib/lms_graphql/resolvers/canvas/get_unread_shares_count.rb +22 -0
  59. data/lib/lms_graphql/resolvers/canvas/get_uploaded_media_folder_for_user_courses.rb +22 -0
  60. data/lib/lms_graphql/resolvers/canvas/get_uploaded_media_folder_for_user_groups.rb +22 -0
  61. data/lib/lms_graphql/resolvers/canvas/get_users_most_recently_graded_submissions.rb +29 -0
  62. data/lib/lms_graphql/resolvers/canvas/index_of_active_global_notification_for_user.rb +4 -2
  63. data/lib/lms_graphql/resolvers/canvas/list_active_courses_in_account.rb +6 -2
  64. data/lib/lms_graphql/resolvers/canvas/list_assignments_assignment_groups.rb +4 -2
  65. data/lib/lms_graphql/resolvers/canvas/list_assignments_assignments.rb +4 -2
  66. data/lib/lms_graphql/resolvers/canvas/list_available_tabs_for_course_or_group_accounts.rb +22 -0
  67. data/lib/lms_graphql/resolvers/canvas/list_available_tabs_for_course_or_group_courses.rb +2 -4
  68. data/lib/lms_graphql/resolvers/canvas/list_available_tabs_for_course_or_group_groups.rb +2 -4
  69. data/lib/lms_graphql/resolvers/canvas/list_available_tabs_for_course_or_group_users.rb +22 -0
  70. data/lib/lms_graphql/resolvers/canvas/list_calendar_events_for_user.rb +6 -2
  71. data/lib/lms_graphql/resolvers/canvas/list_conferences_for_current_user.rb +23 -0
  72. data/lib/lms_graphql/resolvers/canvas/list_content_shares_received.rb +23 -0
  73. data/lib/lms_graphql/resolvers/canvas/list_content_shares_sent.rb +23 -0
  74. data/lib/lms_graphql/resolvers/canvas/list_course_memberships.rb +28 -0
  75. data/lib/lms_graphql/resolvers/canvas/list_enrollment_terms.rb +2 -3
  76. data/lib/lms_graphql/resolvers/canvas/list_enrollments_courses.rb +4 -2
  77. data/lib/lms_graphql/resolvers/canvas/list_enrollments_sections.rb +4 -2
  78. data/lib/lms_graphql/resolvers/canvas/list_enrollments_users.rb +4 -2
  79. data/lib/lms_graphql/resolvers/canvas/list_files_courses.rb +3 -1
  80. data/lib/lms_graphql/resolvers/canvas/list_files_folders.rb +3 -1
  81. data/lib/lms_graphql/resolvers/canvas/list_files_groups.rb +3 -1
  82. data/lib/lms_graphql/resolvers/canvas/list_files_users.rb +3 -1
  83. data/lib/lms_graphql/resolvers/canvas/list_group_s_users.rb +4 -2
  84. data/lib/lms_graphql/resolvers/canvas/list_items_for_selective_import_accounts.rb +26 -0
  85. data/lib/lms_graphql/resolvers/canvas/list_items_for_selective_import_courses.rb +26 -0
  86. data/lib/lms_graphql/resolvers/canvas/list_items_for_selective_import_groups.rb +26 -0
  87. data/lib/lms_graphql/resolvers/canvas/list_items_for_selective_import_users.rb +26 -0
  88. data/lib/lms_graphql/resolvers/canvas/list_line_items.rb +30 -0
  89. data/lib/lms_graphql/resolvers/canvas/list_media_objects_courses.rb +29 -0
  90. data/lib/lms_graphql/resolvers/canvas/list_media_objects_media_objects.rb +27 -0
  91. data/lib/lms_graphql/resolvers/canvas/list_media_tracks_for_media_object.rb +25 -0
  92. data/lib/lms_graphql/resolvers/canvas/list_observers.rb +25 -0
  93. data/lib/lms_graphql/resolvers/canvas/list_planner_items_planner.rb +28 -0
  94. data/lib/lms_graphql/resolvers/canvas/list_planner_items_users.rb +30 -0
  95. data/lib/lms_graphql/resolvers/canvas/list_users_in_account.rb +3 -1
  96. data/lib/lms_graphql/resolvers/canvas/list_users_in_course_search_users.rb +3 -1
  97. data/lib/lms_graphql/resolvers/canvas/list_users_in_course_users.rb +3 -1
  98. data/lib/lms_graphql/resolvers/canvas/names_and_role_list_group_memberships.rb +28 -0
  99. data/lib/lms_graphql/resolvers/canvas/retrieve_assignment_overridden_dates_for_classic_quizzes.rb +24 -0
  100. data/lib/lms_graphql/resolvers/canvas/retrieve_assignment_overridden_dates_for_new_quizzes.rb +24 -0
  101. data/lib/lms_graphql/resolvers/canvas/retrieve_enrollment_term.rb +24 -0
  102. data/lib/lms_graphql/resolvers/canvas/retrieve_reported_csp_violations_for_account.rb +22 -0
  103. data/lib/lms_graphql/resolvers/canvas/return_test_student_for_course.rb +22 -0
  104. data/lib/lms_graphql/resolvers/canvas/search_for_content_share_users.rb +25 -0
  105. data/lib/lms_graphql/resolvers/canvas/show_collection_of_results.rb +24 -0
  106. data/lib/lms_graphql/resolvers/canvas/show_line_item.rb +24 -0
  107. data/lib/lms_graphql/resolvers/canvas/show_observer.rb +24 -0
  108. data/lib/lms_graphql/resolvers/canvas/show_result.rb +26 -0
  109. data/lib/lms_graphql/resolvers/canvas/show_user_details.rb +4 -2
  110. data/lib/lms_graphql/resolvers/canvas/update_user_settings.rb +4 -2
  111. data/lib/lms_graphql/types/canvas/account.rb +1 -9
  112. data/lib/lms_graphql/types/canvas/account_input.rb +1 -9
  113. data/lib/lms_graphql/types/canvas/assignment.rb +4 -3
  114. data/lib/lms_graphql/types/canvas/assignment_input.rb +4 -3
  115. data/lib/lms_graphql/types/canvas/assignment_override.rb +1 -1
  116. data/lib/lms_graphql/types/canvas/assignment_override_input.rb +1 -1
  117. data/lib/lms_graphql/types/canvas/blueprint_template.rb +1 -1
  118. data/lib/lms_graphql/types/canvas/blueprint_template_input.rb +1 -1
  119. data/lib/lms_graphql/types/canvas/calendar_event.rb +1 -0
  120. data/lib/lms_graphql/types/canvas/calendar_event_input.rb +1 -0
  121. data/lib/lms_graphql/types/canvas/conference.rb +2 -0
  122. data/lib/lms_graphql/types/canvas/conference_input.rb +2 -0
  123. data/lib/lms_graphql/types/canvas/content_share.rb +24 -0
  124. data/lib/lms_graphql/types/canvas/content_share_input.rb +24 -0
  125. data/lib/lms_graphql/types/canvas/course.rb +2 -1
  126. data/lib/lms_graphql/types/canvas/course_input.rb +2 -1
  127. data/lib/lms_graphql/types/canvas/developer_key.rb +34 -0
  128. data/lib/lms_graphql/types/canvas/developer_key_input.rb +34 -0
  129. data/lib/lms_graphql/types/canvas/enrollment_terms_list.rb +14 -0
  130. data/lib/lms_graphql/types/canvas/enrollment_terms_list_input.rb +14 -0
  131. data/lib/lms_graphql/types/canvas/feature.rb +1 -1
  132. data/lib/lms_graphql/types/canvas/feature_input.rb +1 -1
  133. data/lib/lms_graphql/types/canvas/grade.rb +2 -0
  134. data/lib/lms_graphql/types/canvas/grade_input.rb +2 -0
  135. data/lib/lms_graphql/types/canvas/help_link.rb +2 -2
  136. data/lib/lms_graphql/types/canvas/help_link_input.rb +2 -2
  137. data/lib/lms_graphql/types/canvas/line_item.rb +20 -0
  138. data/lib/lms_graphql/types/canvas/line_item_input.rb +20 -0
  139. data/lib/lms_graphql/types/canvas/media_object.rb +20 -0
  140. data/lib/lms_graphql/types/canvas/media_object_input.rb +20 -0
  141. data/lib/lms_graphql/types/canvas/media_track.rb +22 -0
  142. data/lib/lms_graphql/types/canvas/media_track_input.rb +22 -0
  143. data/lib/lms_graphql/types/canvas/names_and_role_context.rb +16 -0
  144. data/lib/lms_graphql/types/canvas/names_and_role_context_input.rb +16 -0
  145. data/lib/lms_graphql/types/canvas/names_and_role_membership.rb +17 -0
  146. data/lib/lms_graphql/types/canvas/names_and_role_membership_input.rb +17 -0
  147. data/lib/lms_graphql/types/canvas/names_and_role_message.rb +18 -0
  148. data/lib/lms_graphql/types/canvas/names_and_role_message_input.rb +18 -0
  149. data/lib/lms_graphql/types/canvas/originality_report.rb +4 -1
  150. data/lib/lms_graphql/types/canvas/originality_report_input.rb +4 -1
  151. data/lib/lms_graphql/types/canvas/outcome_alignment.rb +2 -1
  152. data/lib/lms_graphql/types/canvas/outcome_alignment_input.rb +2 -1
  153. data/lib/lms_graphql/types/canvas/pairing_code.rb +17 -0
  154. data/lib/lms_graphql/types/canvas/pairing_code_input.rb +17 -0
  155. data/lib/lms_graphql/types/canvas/query_type.rb +148 -12
  156. data/lib/lms_graphql/types/canvas/result.rb +8 -6
  157. data/lib/lms_graphql/types/canvas/result_input.rb +8 -6
  158. data/lib/lms_graphql/types/canvas/rubric.rb +4 -0
  159. data/lib/lms_graphql/types/canvas/rubric_association.rb +23 -0
  160. data/lib/lms_graphql/types/canvas/rubric_association_input.rb +23 -0
  161. data/lib/lms_graphql/types/canvas/rubric_criterion.rb +19 -0
  162. data/lib/lms_graphql/types/canvas/rubric_criterion_input.rb +19 -0
  163. data/lib/lms_graphql/types/canvas/rubric_input.rb +4 -0
  164. data/lib/lms_graphql/types/canvas/rubric_rating.rb +6 -5
  165. data/lib/lms_graphql/types/canvas/rubric_rating_input.rb +6 -5
  166. data/lib/lms_graphql/types/canvas/score.rb +20 -0
  167. data/lib/lms_graphql/types/canvas/score_input.rb +20 -0
  168. data/lib/lms_graphql/types/canvas/submission.rb +7 -3
  169. data/lib/lms_graphql/types/canvas/submission_input.rb +7 -3
  170. data/lib/lms_graphql/types/canvas_forward_declarations.rb +34 -0
  171. data/lib/lms_graphql/types/date_time_type.rb +8 -5
  172. data/lib/lms_graphql/version.rb +1 -1
  173. metadata +92 -4
@@ -0,0 +1,16 @@
1
+ require_relative "../canvas_base_input_type"
2
+
3
+
4
+ module LMSGraphQL
5
+ module Types
6
+ module Canvas
7
+ class CanvasNamesAndRoleContextInput < BaseInputObject
8
+ description "Names and Role. API Docs: https://canvas.instructure.com/doc/api/names_and_role.html"
9
+ argument :id, ID, "LTI Context unique identifier.Example: 4dde05e8ca1973bcca9bffc13e1548820eee93a3", required: false
10
+ argument :label, String, "LTI Context short name or code.Example: CS-101", required: false
11
+ argument :title, String, "LTI Context full name.Example: Computer Science 101", required: false
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require_relative "../canvas_base_type"
2
+ require_relative "names_and_role_context"
3
+ require_relative "names_and_role_membership"
4
+
5
+ module LMSGraphQL
6
+ module Types
7
+ module Canvas
8
+ class CanvasNamesAndRoleMembership < BaseType
9
+ description "Names and Role. API Docs: https://canvas.instructure.com/doc/api/names_and_role.html"
10
+ field :id, ID, "Invocation URL.Example: https://example.instructure.com/api/lti/courses/1/names_and_roles?tlid=f91ca4d8-fa84-4a9b-b08e-47d5527416b0", null: true
11
+ field :context, LMSGraphQL::Types::Canvas::CanvasNamesAndRoleContext, "The LTI Context containing the memberships.Example: 4dde05e8ca1973bcca9bffc13e1548820eee93a3, CS-101, Computer Science 101", null: true
12
+ field :members, [LMSGraphQL::Types::Canvas::CanvasNamesAndRoleMembership], "A list of NamesAndRoleMembership.Example: {'status'=>'Active', 'name'=>'Sienna Howell', 'picture'=>'https://example.instructure.com/images/messages/avatar-50.png', 'given_name'=>'Sienna', 'family_name'=>'Howell', 'email'=>'showell@school.edu', 'lis_person_sourcedid'=>'1238.8763.00', 'user_id'=>'535fa085f22b4655f48cd5a36a9215f64c062838', 'roles'=>['http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor', 'http://purl.imsglobal.org/vocab/lis/v2/membership#ContentDeveloper'], 'message'=>[{'https://purl.imsglobal.org/spec/lti/claim/message_type'=>'LtiResourceLinkRequest', 'locale'=>'en', 'https://www.instructure.com/canvas_user_id'=>1, 'https://www.instructure.com/canvas_user_login_id'=>'showell@school.edu', 'https://purl.imsglobal.org/spec/lti/claim/custom'=>{'message_locale'=>'en', 'person_address_timezone'=>'America/Denver'}}]}, {'status'=>'Active', 'name'=>'Terrence Walls', 'picture'=>'https://example.instructure.com/images/messages/avatar-51.png', 'given_name'=>'Terrence', 'family_name'=>'Walls', 'email'=>'twalls@school.edu', 'lis_person_sourcedid'=>'5790.3390.11', 'user_id'=>'86157096483e6b3a50bfedc6bac902c0b20a824f', 'roles'=>['http://purl.imsglobal.org/vocab/lis/v2/membership#Learner'], 'message'=>[{'https://purl.imsglobal.org/spec/lti/claim/message_type'=>'LtiResourceLinkRequest', 'locale'=>'de', 'https://www.instructure.com/canvas_user_id'=>2, 'https://www.instructure.com/canvas_user_login_id'=>'twalls@school.edu', 'https://purl.imsglobal.org/spec/lti/claim/custom'=>{'message_locale'=>'en', 'person_address_timezone'=>'Europe/Berlin'}}]}", null: true
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require_relative "../canvas_base_input_type"
2
+ require_relative "names_and_role_context"
3
+ require_relative "names_and_role_membership"
4
+
5
+ module LMSGraphQL
6
+ module Types
7
+ module Canvas
8
+ class CanvasNamesAndRoleMembershipInput < BaseInputObject
9
+ description "Names and Role. API Docs: https://canvas.instructure.com/doc/api/names_and_role.html"
10
+ argument :id, ID, "Invocation URL.Example: https://example.instructure.com/api/lti/courses/1/names_and_roles?tlid=f91ca4d8-fa84-4a9b-b08e-47d5527416b0", required: false
11
+ argument :context, LMSGraphQL::Types::Canvas::CanvasNamesAndRoleContextInput, "The LTI Context containing the memberships.Example: 4dde05e8ca1973bcca9bffc13e1548820eee93a3, CS-101, Computer Science 101", required: false
12
+ argument :members, [LMSGraphQL::Types::Canvas::CanvasNamesAndRoleMembershipInput], "A list of NamesAndRoleMembership.Example: {'status'=>'Active', 'name'=>'Sienna Howell', 'picture'=>'https://example.instructure.com/images/messages/avatar-50.png', 'given_name'=>'Sienna', 'family_name'=>'Howell', 'email'=>'showell@school.edu', 'lis_person_sourcedid'=>'1238.8763.00', 'user_id'=>'535fa085f22b4655f48cd5a36a9215f64c062838', 'roles'=>['http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor', 'http://purl.imsglobal.org/vocab/lis/v2/membership#ContentDeveloper'], 'message'=>[{'https://purl.imsglobal.org/spec/lti/claim/message_type'=>'LtiResourceLinkRequest', 'locale'=>'en', 'https://www.instructure.com/canvas_user_id'=>1, 'https://www.instructure.com/canvas_user_login_id'=>'showell@school.edu', 'https://purl.imsglobal.org/spec/lti/claim/custom'=>{'message_locale'=>'en', 'person_address_timezone'=>'America/Denver'}}]}, {'status'=>'Active', 'name'=>'Terrence Walls', 'picture'=>'https://example.instructure.com/images/messages/avatar-51.png', 'given_name'=>'Terrence', 'family_name'=>'Walls', 'email'=>'twalls@school.edu', 'lis_person_sourcedid'=>'5790.3390.11', 'user_id'=>'86157096483e6b3a50bfedc6bac902c0b20a824f', 'roles'=>['http://purl.imsglobal.org/vocab/lis/v2/membership#Learner'], 'message'=>[{'https://purl.imsglobal.org/spec/lti/claim/message_type'=>'LtiResourceLinkRequest', 'locale'=>'de', 'https://www.instructure.com/canvas_user_id'=>2, 'https://www.instructure.com/canvas_user_login_id'=>'twalls@school.edu', 'https://purl.imsglobal.org/spec/lti/claim/custom'=>{'message_locale'=>'en', 'person_address_timezone'=>'Europe/Berlin'}}]}", required: false
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../canvas_base_type"
2
+
3
+
4
+ module LMSGraphQL
5
+ module Types
6
+ module Canvas
7
+ class CanvasNamesAndRoleMessage < BaseType
8
+ description "Names and Role. API Docs: https://canvas.instructure.com/doc/api/names_and_role.html"
9
+ field :https://purl.imsglobal.org/spec/lti/claim/message_type, String, "The type of LTI message being described. Always set to 'LtiResourceLinkRequest'.Example: LtiResourceLinkRequest", null: true
10
+ field :locale, String, "The member's preferred locale.Example: en", null: true
11
+ field :https://www.instructure.com/canvas_user_id, ID, "The member's API ID.Example: 1", null: true
12
+ field :https://www.instructure.com/canvas_user_login_id, ID, "The member's primary login username.Example: showell@school.edu", null: true
13
+ field :https://purl.imsglobal.org/spec/lti/claim/custom, String, "Expanded LTI custom parameters that pertain to the member (as opposed to the Context).Example: en, America/Denver", null: true
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../canvas_base_input_type"
2
+
3
+
4
+ module LMSGraphQL
5
+ module Types
6
+ module Canvas
7
+ class CanvasNamesAndRoleMessageInput < BaseInputObject
8
+ description "Names and Role. API Docs: https://canvas.instructure.com/doc/api/names_and_role.html"
9
+ argument :https://purl.imsglobal.org/spec/lti/claim/message_type, String, "The type of LTI message being described. Always set to 'LtiResourceLinkRequest'.Example: LtiResourceLinkRequest", required: false
10
+ argument :locale, String, "The member's preferred locale.Example: en", required: false
11
+ argument :https://www.instructure.com/canvas_user_id, ID, "The member's API ID.Example: 1", required: false
12
+ argument :https://www.instructure.com/canvas_user_login_id, ID, "The member's primary login username.Example: showell@school.edu", required: false
13
+ argument :https://purl.imsglobal.org/spec/lti/claim/custom, String, "Expanded LTI custom parameters that pertain to the member (as opposed to the Context).Example: en, America/Denver", required: false
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -11,7 +11,10 @@ module LMSGraphQL
11
11
  field :originality_score, Float, "A number between 0 and 100 representing the originality score.Example: 0.16", null: true
12
12
  field :originality_report_file_id, ID, "The ID of the file within Canvas containing the originality report document (if provided).Example: 23", null: true
13
13
  field :originality_report_url, String, "A non-LTI launch URL where the originality score of the file may be found..Example: http://www.example.com/report", null: true
14
- field :tool_setting, String, "A ToolSetting object containing optional 'resource_type_code' and 'resource_url'.", null: true
14
+ field :tool_setting, LMSGraphQL::Types::Canvas::CanvasToolSetting, "A ToolSetting object containing optional 'resource_type_code' and 'resource_url'.", null: true
15
+ field :error_report, String, "A message describing the error. If set, the workflow_state will become 'error.'.", null: true
16
+ field :submission_time, LMSGraphQL::Types::DateTimeType, "The submitted_at date time of the submission..", null: true
17
+ field :root_account_id, ID, "The id of the root Account associated with the OriginalityReport.Example: 1", null: true
15
18
 
16
19
  end
17
20
  end
@@ -11,7 +11,10 @@ module LMSGraphQL
11
11
  argument :originality_score, Float, "A number between 0 and 100 representing the originality score.Example: 0.16", required: false
12
12
  argument :originality_report_file_id, ID, "The ID of the file within Canvas containing the originality report document (if provided).Example: 23", required: false
13
13
  argument :originality_report_url, String, "A non-LTI launch URL where the originality score of the file may be found..Example: http://www.example.com/report", required: false
14
- argument :tool_setting, String, "A ToolSetting object containing optional 'resource_type_code' and 'resource_url'.", required: false
14
+ argument :tool_setting, LMSGraphQL::Types::Canvas::CanvasToolSettingInput, "A ToolSetting object containing optional 'resource_type_code' and 'resource_url'.", required: false
15
+ argument :error_report, String, "A message describing the error. If set, the workflow_state will become 'error.'.", required: false
16
+ argument :submission_time, LMSGraphQL::Types::DateTimeType, "The submitted_at date time of the submission..", required: false
17
+ argument :root_account_id, ID, "The id of the root Account associated with the OriginalityReport.Example: 1", required: false
15
18
 
16
19
  end
17
20
  end
@@ -7,7 +7,8 @@ module LMSGraphQL
7
7
  class CanvasOutcomeAlignment < BaseType
8
8
  description "Outcomes. API Docs: https://canvas.instructure.com/doc/api/outcomes.html"
9
9
  field :id, ID, "the id of the aligned learning outcome..Example: 1", null: true
10
- field :assignment_id, ID, "the id of the aligned assignment..Example: 2", null: true
10
+ field :assignment_id, ID, "the id of the aligned assignment (null for live assessments)..Example: 2", null: true
11
+ field :assessment_id, ID, "the id of the aligned live assessment (null for assignments)..Example: 3", null: true
11
12
  field :submission_types, String, "a string representing the different submission types of an aligned assignment..Example: online_text_entry,online_url", null: true
12
13
  field :url, String, "the URL for the aligned assignment..Example: /courses/1/assignments/5", null: true
13
14
  field :title, String, "the title of the aligned assignment..Example: Unit 1 test", null: true
@@ -7,7 +7,8 @@ module LMSGraphQL
7
7
  class CanvasOutcomeAlignmentInput < BaseInputObject
8
8
  description "Outcomes. API Docs: https://canvas.instructure.com/doc/api/outcomes.html"
9
9
  argument :id, ID, "the id of the aligned learning outcome..Example: 1", required: false
10
- argument :assignment_id, ID, "the id of the aligned assignment..Example: 2", required: false
10
+ argument :assignment_id, ID, "the id of the aligned assignment (null for live assessments)..Example: 2", required: false
11
+ argument :assessment_id, ID, "the id of the aligned live assessment (null for assignments)..Example: 3", required: false
11
12
  argument :submission_types, String, "a string representing the different submission types of an aligned assignment..Example: online_text_entry,online_url", required: false
12
13
  argument :url, String, "the URL for the aligned assignment..Example: /courses/1/assignments/5", required: false
13
14
  argument :title, String, "the title of the aligned assignment..Example: Unit 1 test", required: false
@@ -0,0 +1,17 @@
1
+ require_relative "../canvas_base_type"
2
+
3
+
4
+ module LMSGraphQL
5
+ module Types
6
+ module Canvas
7
+ class CanvasPairingCode < BaseType
8
+ description "User Observees. API Docs: https://canvas.instructure.com/doc/api/user_observees.html"
9
+ field :user_id, ID, "The ID of the user..Example: 2", null: true
10
+ field :code, String, "The actual code to be sent to other APIs.Example: abc123", null: true
11
+ field :expires_at, String, "When the code expires.Example: 2012-05-30T17:45:25Z", null: true
12
+ field :workflow_state, String, "The current status of the code.Example: active", null: true
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require_relative "../canvas_base_input_type"
2
+
3
+
4
+ module LMSGraphQL
5
+ module Types
6
+ module Canvas
7
+ class CanvasPairingCodeInput < BaseInputObject
8
+ description "User Observees. API Docs: https://canvas.instructure.com/doc/api/user_observees.html"
9
+ argument :user_id, ID, "The ID of the user..Example: 2", required: false
10
+ argument :code, String, "The actual code to be sent to other APIs.Example: abc123", required: false
11
+ argument :expires_at, String, "When the code expires.Example: 2012-05-30T17:45:25Z", required: false
12
+ argument :workflow_state, String, "The current status of the code.Example: active", required: false
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -17,7 +17,7 @@ module LMSGraphQL
17
17
 
18
18
  field :index_of_active_global_notification_for_user,
19
19
  resolver: LMSGraphQL::Resolvers::Canvas::IndexOfActiveGlobalNotificationForUser,
20
- description: "Index of active global notification for the user. Returns a list of all global notifications in the account for the current user Any notifications that have been closed by the user will not be returned"
20
+ description: "Index of active global notification for the user. Returns a list of all global notifications in the account for the current user Any notifications that have been closed by the user will not be returned, unless a include_past parameter is passed in as true."
21
21
 
22
22
  field :show_global_notification,
23
23
  resolver: LMSGraphQL::Resolvers::Canvas::ShowGlobalNotification,
@@ -67,6 +67,10 @@ module LMSGraphQL
67
67
  resolver: LMSGraphQL::Resolvers::Canvas::ListActiveCoursesInAccount,
68
68
  description: "List active courses in an account. Retrieve a paginated list of courses in this account."
69
69
 
70
+ field :get_account,
71
+ resolver: LMSGraphQL::Resolvers::Canvas::GetAccount,
72
+ description: "Get account. Retrieve information on an individual account, given by local or global ID."
73
+
70
74
  field :list_account_admins,
71
75
  resolver: LMSGraphQL::Resolvers::Canvas::ListAccountAdmin,
72
76
  description: "List account admins. A paginated list of the admins in the account"
@@ -335,6 +339,10 @@ module LMSGraphQL
335
339
  resolver: LMSGraphQL::Resolvers::Canvas::ListConferencesGroup,
336
340
  description: "List conferences. Retrieve the paginated list of conferences for this context This API returns a JSON object containing the list of conferences, the key for the list of conferences is 'conferences'"
337
341
 
342
+ field :list_conferences_for_current_user,
343
+ resolver: LMSGraphQL::Resolvers::Canvas::ListConferencesForCurrentUser,
344
+ description: "List conferences for the current user. Retrieve the paginated list of conferences for all courses and groups the current user belongs to This API returns a JSON object containing the list of conferences. The key for the list of conferences is 'conferences'."
345
+
338
346
  field :list_content_exports_courses,
339
347
  resolver: LMSGraphQL::Resolvers::Canvas::ListContentExportsCourse,
340
348
  description: "List content exports. A paginated list of the past and pending content export jobs for a course, group, or user. Exports are returned newest first."
@@ -439,6 +447,22 @@ module LMSGraphQL
439
447
  resolver: LMSGraphQL::Resolvers::Canvas::ListMigrationSystemsUser,
440
448
  description: "List Migration Systems. Lists the currently available migration types. These values may change."
441
449
 
450
+ field :list_items_for_selective_import_accounts,
451
+ resolver: LMSGraphQL::Resolvers::Canvas::ListItemsForSelectiveImportAccount,
452
+ description: "List items for selective import. Enumerates the content available for selective import in a tree structure. Each node provides a +property+ copy argument that can be supplied to the {api:ContentMigrationsController#update Update endpoint} to selectively copy the content associated with that tree node and its children. Each node may also provide a +sub_items_url+ or an array of +sub_items+ which you can use to obtain copy parameters for a subset of the resources in a given node. If no +type+ is sent you will get a list of the top-level sections in the content. It will look something like this: [{ 'type': 'course_settings', 'property': 'copy[all_course_settings]', 'title': 'Course Settings' }, { 'type': 'context_modules', 'property': 'copy[all_context_modules]', 'title': 'Modules', 'count': 5, 'sub_items_url': 'http: example.com/api/v1/courses/22/content_migrations/77/selective_data?type=context_modules' }, { 'type': 'assignments', 'property': 'copy[all_assignments]', 'title': 'Assignments', 'count': 2, 'sub_items_url': 'http: localhost:3000/api/v1/courses/22/content_migrations/77/selective_data?type=assignments' }] When a +type+ is provided, nodes may be further divided via +sub_items+. For example, using +type=assignments+ results in a node for each assignment group and a sub_item for each assignment, like this: [{ 'type': 'assignment_groups', 'title': 'An Assignment Group', 'property': 'copy[assignment_groups][id_i855cf145e5acc7435e1bf1c6e2126e5f]', 'sub_items': [{ 'type': 'assignments', 'title': 'Assignment 1', 'property': 'copy[assignments][id_i2102a7fa93b29226774949298626719d]' }, { 'type': 'assignments', 'title': 'Assignment 2', 'property': 'copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]' }] }] To import the items corresponding to a particular tree node, use the +property+ as a parameter to the {api:ContentMigrationsController#update Update endpoint} and assign a value of 1, for example: copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]=1 You can include multiple copy parameters to selectively import multiple items or groups of items."
453
+
454
+ field :list_items_for_selective_import_courses,
455
+ resolver: LMSGraphQL::Resolvers::Canvas::ListItemsForSelectiveImportCourse,
456
+ description: "List items for selective import. Enumerates the content available for selective import in a tree structure. Each node provides a +property+ copy argument that can be supplied to the {api:ContentMigrationsController#update Update endpoint} to selectively copy the content associated with that tree node and its children. Each node may also provide a +sub_items_url+ or an array of +sub_items+ which you can use to obtain copy parameters for a subset of the resources in a given node. If no +type+ is sent you will get a list of the top-level sections in the content. It will look something like this: [{ 'type': 'course_settings', 'property': 'copy[all_course_settings]', 'title': 'Course Settings' }, { 'type': 'context_modules', 'property': 'copy[all_context_modules]', 'title': 'Modules', 'count': 5, 'sub_items_url': 'http: example.com/api/v1/courses/22/content_migrations/77/selective_data?type=context_modules' }, { 'type': 'assignments', 'property': 'copy[all_assignments]', 'title': 'Assignments', 'count': 2, 'sub_items_url': 'http: localhost:3000/api/v1/courses/22/content_migrations/77/selective_data?type=assignments' }] When a +type+ is provided, nodes may be further divided via +sub_items+. For example, using +type=assignments+ results in a node for each assignment group and a sub_item for each assignment, like this: [{ 'type': 'assignment_groups', 'title': 'An Assignment Group', 'property': 'copy[assignment_groups][id_i855cf145e5acc7435e1bf1c6e2126e5f]', 'sub_items': [{ 'type': 'assignments', 'title': 'Assignment 1', 'property': 'copy[assignments][id_i2102a7fa93b29226774949298626719d]' }, { 'type': 'assignments', 'title': 'Assignment 2', 'property': 'copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]' }] }] To import the items corresponding to a particular tree node, use the +property+ as a parameter to the {api:ContentMigrationsController#update Update endpoint} and assign a value of 1, for example: copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]=1 You can include multiple copy parameters to selectively import multiple items or groups of items."
457
+
458
+ field :list_items_for_selective_import_groups,
459
+ resolver: LMSGraphQL::Resolvers::Canvas::ListItemsForSelectiveImportGroup,
460
+ description: "List items for selective import. Enumerates the content available for selective import in a tree structure. Each node provides a +property+ copy argument that can be supplied to the {api:ContentMigrationsController#update Update endpoint} to selectively copy the content associated with that tree node and its children. Each node may also provide a +sub_items_url+ or an array of +sub_items+ which you can use to obtain copy parameters for a subset of the resources in a given node. If no +type+ is sent you will get a list of the top-level sections in the content. It will look something like this: [{ 'type': 'course_settings', 'property': 'copy[all_course_settings]', 'title': 'Course Settings' }, { 'type': 'context_modules', 'property': 'copy[all_context_modules]', 'title': 'Modules', 'count': 5, 'sub_items_url': 'http: example.com/api/v1/courses/22/content_migrations/77/selective_data?type=context_modules' }, { 'type': 'assignments', 'property': 'copy[all_assignments]', 'title': 'Assignments', 'count': 2, 'sub_items_url': 'http: localhost:3000/api/v1/courses/22/content_migrations/77/selective_data?type=assignments' }] When a +type+ is provided, nodes may be further divided via +sub_items+. For example, using +type=assignments+ results in a node for each assignment group and a sub_item for each assignment, like this: [{ 'type': 'assignment_groups', 'title': 'An Assignment Group', 'property': 'copy[assignment_groups][id_i855cf145e5acc7435e1bf1c6e2126e5f]', 'sub_items': [{ 'type': 'assignments', 'title': 'Assignment 1', 'property': 'copy[assignments][id_i2102a7fa93b29226774949298626719d]' }, { 'type': 'assignments', 'title': 'Assignment 2', 'property': 'copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]' }] }] To import the items corresponding to a particular tree node, use the +property+ as a parameter to the {api:ContentMigrationsController#update Update endpoint} and assign a value of 1, for example: copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]=1 You can include multiple copy parameters to selectively import multiple items or groups of items."
461
+
462
+ field :list_items_for_selective_import_users,
463
+ resolver: LMSGraphQL::Resolvers::Canvas::ListItemsForSelectiveImportUser,
464
+ description: "List items for selective import. Enumerates the content available for selective import in a tree structure. Each node provides a +property+ copy argument that can be supplied to the {api:ContentMigrationsController#update Update endpoint} to selectively copy the content associated with that tree node and its children. Each node may also provide a +sub_items_url+ or an array of +sub_items+ which you can use to obtain copy parameters for a subset of the resources in a given node. If no +type+ is sent you will get a list of the top-level sections in the content. It will look something like this: [{ 'type': 'course_settings', 'property': 'copy[all_course_settings]', 'title': 'Course Settings' }, { 'type': 'context_modules', 'property': 'copy[all_context_modules]', 'title': 'Modules', 'count': 5, 'sub_items_url': 'http: example.com/api/v1/courses/22/content_migrations/77/selective_data?type=context_modules' }, { 'type': 'assignments', 'property': 'copy[all_assignments]', 'title': 'Assignments', 'count': 2, 'sub_items_url': 'http: localhost:3000/api/v1/courses/22/content_migrations/77/selective_data?type=assignments' }] When a +type+ is provided, nodes may be further divided via +sub_items+. For example, using +type=assignments+ results in a node for each assignment group and a sub_item for each assignment, like this: [{ 'type': 'assignment_groups', 'title': 'An Assignment Group', 'property': 'copy[assignment_groups][id_i855cf145e5acc7435e1bf1c6e2126e5f]', 'sub_items': [{ 'type': 'assignments', 'title': 'Assignment 1', 'property': 'copy[assignments][id_i2102a7fa93b29226774949298626719d]' }, { 'type': 'assignments', 'title': 'Assignment 2', 'property': 'copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]' }] }] To import the items corresponding to a particular tree node, use the +property+ as a parameter to the {api:ContentMigrationsController#update Update endpoint} and assign a value of 1, for example: copy[assignments][id_i310cba275dc3f4aa8a3306bbbe380979]=1 You can include multiple copy parameters to selectively import multiple items or groups of items."
465
+
442
466
  field :get_current_settings_for_account_or_course_courses,
443
467
  resolver: LMSGraphQL::Resolvers::Canvas::GetCurrentSettingsForAccountOrCourseCourse,
444
468
  description: "Get current settings for account or course. Update multiple modules in an account."
@@ -447,6 +471,26 @@ module LMSGraphQL
447
471
  resolver: LMSGraphQL::Resolvers::Canvas::GetCurrentSettingsForAccountOrCourseAccount,
448
472
  description: "Get current settings for account or course. Update multiple modules in an account."
449
473
 
474
+ field :retrieve_reported_csp_violations_for_account,
475
+ resolver: LMSGraphQL::Resolvers::Canvas::RetrieveReportedCspViolationsForAccount,
476
+ description: "Retrieve reported CSP Violations for account. Must be called on a root account."
477
+
478
+ field :list_content_shares_sent,
479
+ resolver: LMSGraphQL::Resolvers::Canvas::ListContentSharesSent,
480
+ description: "List content shares. Return a paginated list of content shares a user has sent or received. Use +self+ as the user_id to retrieve your own content shares. Only linked observers and administrators may view other users' content shares."
481
+
482
+ field :list_content_shares_received,
483
+ resolver: LMSGraphQL::Resolvers::Canvas::ListContentSharesReceived,
484
+ description: "List content shares. Return a paginated list of content shares a user has sent or received. Use +self+ as the user_id to retrieve your own content shares. Only linked observers and administrators may view other users' content shares."
485
+
486
+ field :get_unread_shares_count,
487
+ resolver: LMSGraphQL::Resolvers::Canvas::GetUnreadSharesCount,
488
+ description: "Get unread shares count. Return the number of content shares a user has received that have not yet been read. Use +self+ as the user_id to retrieve your own content shares. Only linked observers and administrators may view other users' content shares."
489
+
490
+ field :get_content_share,
491
+ resolver: LMSGraphQL::Resolvers::Canvas::GetContentShare,
492
+ description: "Get content share. Return information about a single content share. You may use +self+ as the user_id to retrieve your own content share."
493
+
450
494
  field :list_conversations,
451
495
  resolver: LMSGraphQL::Resolvers::Canvas::ListConversation,
452
496
  description: "List conversations. Returns the paginated list of conversations for the current user, most recent ones first."
@@ -471,6 +515,10 @@ module LMSGraphQL
471
515
  resolver: LMSGraphQL::Resolvers::Canvas::CourseAuditLogQueryByCourse,
472
516
  description: "Query by course.. List course change events for a given course."
473
517
 
518
+ field :course_audit_log_query_by_account,
519
+ resolver: LMSGraphQL::Resolvers::Canvas::CourseAuditLogQueryByAccount,
520
+ description: "Query by account.. List course change events for a given account."
521
+
474
522
  field :list_your_courses,
475
523
  resolver: LMSGraphQL::Resolvers::Canvas::ListYourCourse,
476
524
  description: "List your courses. Returns the paginated list of active courses for the current user."
@@ -499,6 +547,10 @@ module LMSGraphQL
499
547
  resolver: LMSGraphQL::Resolvers::Canvas::GetSingleUser,
500
548
  description: "Get single user. Return information on a single user. Accepts the same include[] parameters as the :users: action, and returns a single user with the same fields as that action."
501
549
 
550
+ field :search_for_content_share_users,
551
+ resolver: LMSGraphQL::Resolvers::Canvas::SearchForContentShareUser,
552
+ description: "Search for content share users. Returns a paginated list of users you can share content with. Requires the content share feature and the user must have the manage content permission for the course."
553
+
502
554
  field :course_activity_stream,
503
555
  resolver: LMSGraphQL::Resolvers::Canvas::CourseActivityStream,
504
556
  description: "Course activity stream. Returns the current user's course-specific activity stream, paginated. For full documentation, see the API documentation for the user activity stream, in the user api."
@@ -515,6 +567,10 @@ module LMSGraphQL
515
567
  resolver: LMSGraphQL::Resolvers::Canvas::GetCourseSetting,
516
568
  description: "Get course settings. Returns some of a course's settings."
517
569
 
570
+ field :return_test_student_for_course,
571
+ resolver: LMSGraphQL::Resolvers::Canvas::ReturnTestStudentForCourse,
572
+ description: "Return test student for course. Returns information for a test student in this course. Creates a test student if one does not already exist for the course. The caller must have permission to access the course's student view."
573
+
518
574
  field :get_single_course_courses,
519
575
  resolver: LMSGraphQL::Resolvers::Canvas::GetSingleCourseCourse,
520
576
  description: "Get a single course. Return information on a single course. Accepts the same include[] parameters as the list action plus:"
@@ -593,7 +649,11 @@ module LMSGraphQL
593
649
 
594
650
  field :list_enrollment_terms,
595
651
  resolver: LMSGraphQL::Resolvers::Canvas::ListEnrollmentTerm,
596
- description: "List enrollment terms. A paginated list of all of the terms in the account."
652
+ description: "List enrollment terms. An object with a paginated list of all of the terms in the account."
653
+
654
+ field :retrieve_enrollment_term,
655
+ resolver: LMSGraphQL::Resolvers::Canvas::RetrieveEnrollmentTerm,
656
+ description: "Retrieve enrollment term. Retrieves the details for an enrollment term in the account. Includes overrides by default."
597
657
 
598
658
  field :list_enrollments_courses,
599
659
  resolver: LMSGraphQL::Resolvers::Canvas::ListEnrollmentsCourse,
@@ -787,6 +847,14 @@ module LMSGraphQL
787
847
  resolver: LMSGraphQL::Resolvers::Canvas::GetFolderFolder,
788
848
  description: "Get folder. Returns the details for a folder You can get the root folder from a context by using 'root' as the :id. For example, you could get the root folder for a course like:"
789
849
 
850
+ field :get_uploaded_media_folder_for_user_courses,
851
+ resolver: LMSGraphQL::Resolvers::Canvas::GetUploadedMediaFolderForUserCourse,
852
+ description: "Get uploaded media folder for user. Returns the details for a designated upload folder that the user has rights to upload to, and creates it if it doesn't exist. If the current user does not have the permissions to manage files in the course or group, the folder will belong to the current user directly."
853
+
854
+ field :get_uploaded_media_folder_for_user_groups,
855
+ resolver: LMSGraphQL::Resolvers::Canvas::GetUploadedMediaFolderForUserGroup,
856
+ description: "Get uploaded media folder for user. Returns the details for a designated upload folder that the user has rights to upload to, and creates it if it doesn't exist. If the current user does not have the permissions to manage files in the course or group, the folder will belong to the current user directly."
857
+
790
858
  field :list_licenses_courses,
791
859
  resolver: LMSGraphQL::Resolvers::Canvas::ListLicensesCourse,
792
860
  description: "List licenses. A paginated list of licenses that can be applied"
@@ -923,10 +991,22 @@ module LMSGraphQL
923
991
  resolver: LMSGraphQL::Resolvers::Canvas::GetSingleGroupMembershipUser,
924
992
  description: "Get a single group membership. Returns the group membership with the given membership id or user id."
925
993
 
994
+ field :find_images,
995
+ resolver: LMSGraphQL::Resolvers::Canvas::FindImage,
996
+ description: "Find images. Find public domain images for use in courses and user content. If you select an image using this API, please use the {api:InternetImageController#image_selection Confirm image selection API} to indicate photo usage to the server."
997
+
926
998
  field :get_late_policy,
927
999
  resolver: LMSGraphQL::Resolvers::Canvas::GetLatePolicy,
928
1000
  description: "Get a late policy. Returns the late policy for a course."
929
1001
 
1002
+ field :show_line_item,
1003
+ resolver: LMSGraphQL::Resolvers::Canvas::ShowLineItem,
1004
+ description: "Show a Line Item. Show existing Line Item"
1005
+
1006
+ field :list_line_items,
1007
+ resolver: LMSGraphQL::Resolvers::Canvas::ListLineItem,
1008
+ description: "List line Items. "
1009
+
930
1010
  field :list_live_assessment_results,
931
1011
  resolver: LMSGraphQL::Resolvers::Canvas::ListLiveAssessmentResult,
932
1012
  description: "List live assessment results. Returns a paginated list of live assessment results"
@@ -943,6 +1023,18 @@ module LMSGraphQL
943
1023
  resolver: LMSGraphQL::Resolvers::Canvas::ListUserLoginsUser,
944
1024
  description: "List user logins. Given a user ID, return a paginated list of that user's logins for the given account."
945
1025
 
1026
+ field :list_media_tracks_for_media_object,
1027
+ resolver: LMSGraphQL::Resolvers::Canvas::ListMediaTracksForMediaObject,
1028
+ description: "List media tracks for a Media Object. List the media tracks associated with a media object"
1029
+
1030
+ field :list_media_objects_media_objects,
1031
+ resolver: LMSGraphQL::Resolvers::Canvas::ListMediaObjectsMediaObject,
1032
+ description: "List Media Objects. Returns Media Objects created by the user making the request. When using the second version, returns only those Media Objects associated with the given course."
1033
+
1034
+ field :list_media_objects_courses,
1035
+ resolver: LMSGraphQL::Resolvers::Canvas::ListMediaObjectsCourse,
1036
+ description: "List Media Objects. Returns Media Objects created by the user making the request. When using the second version, returns only those Media Objects associated with the given course."
1037
+
946
1038
  field :list_students_selected_for_moderation,
947
1039
  resolver: LMSGraphQL::Resolvers::Canvas::ListStudentsSelectedForModeration,
948
1040
  description: "List students selected for moderation. Returns a paginated list of students selected for moderation"
@@ -975,6 +1067,14 @@ module LMSGraphQL
975
1067
  resolver: LMSGraphQL::Resolvers::Canvas::GetModuleItemSequence,
976
1068
  description: "Get module item sequence. Given an asset in a course, find the ModuleItem it belongs to, the previous and next Module Items in the course sequence, and also any applicable mastery path rules"
977
1069
 
1070
+ field :list_course_memberships,
1071
+ resolver: LMSGraphQL::Resolvers::Canvas::ListCourseMembership,
1072
+ description: "List Course Memberships. Return active NamesAndRoleMemberships in the given course."
1073
+
1074
+ field :names_and_role_list_group_memberships,
1075
+ resolver: LMSGraphQL::Resolvers::Canvas::NamesAndRoleListGroupMembership,
1076
+ description: "List Group Memberships. Return active NamesAndRoleMemberships in the given group."
1077
+
978
1078
  field :list_preferences_communication_channel_id,
979
1079
  resolver: LMSGraphQL::Resolvers::Canvas::ListPreferencesCommunicationChannelId,
980
1080
  description: "List preferences. Fetch all preferences for the given communication channel"
@@ -989,11 +1089,11 @@ module LMSGraphQL
989
1089
 
990
1090
  field :get_preference_communication_channel_id,
991
1091
  resolver: LMSGraphQL::Resolvers::Canvas::GetPreferenceCommunicationChannelId,
992
- description: "Get a preference. Fetch the preference for the given notification for the given communicaiton channel"
1092
+ description: "Get a preference. Fetch the preference for the given notification for the given communication channel"
993
1093
 
994
1094
  field :get_preference_type,
995
1095
  resolver: LMSGraphQL::Resolvers::Canvas::GetPreferenceType,
996
- description: "Get a preference. Fetch the preference for the given notification for the given communicaiton channel"
1096
+ description: "Get a preference. Fetch the preference for the given notification for the given communication channel"
997
1097
 
998
1098
  field :show_originality_report_submissions,
999
1099
  resolver: LMSGraphQL::Resolvers::Canvas::ShowOriginalityReportSubmission,
@@ -1175,9 +1275,13 @@ module LMSGraphQL
1175
1275
  resolver: LMSGraphQL::Resolvers::Canvas::GetHistoryOfSingleSubmission,
1176
1276
  description: "Get the history of a single submission. Get a list of all attempts made for a submission, based on submission id."
1177
1277
 
1178
- field :list_planner_items,
1179
- resolver: LMSGraphQL::Resolvers::Canvas::ListPlannerItem,
1180
- description: "List planner items. Retrieve the paginated list of objects to be shown on the planner for the current user with the associated planner override to override an item's visibility if set. [ { 'context_type': 'Course', 'course_id': 1, 'planner_override': { ... planner override object ... }, Associated PlannerOverride object if user has toggled visibility for the object on the planner 'submissions': false, The statuses of the user's submissions for this object 'plannable_id': '123', 'plannable_type': 'discussion_topic', 'plannable': { ... discussion topic object }, 'html_url': '/courses/1/discussion_topics/8' }, { 'context_type': 'Course', 'course_id': 1, 'planner_override': { 'id': 3, 'plannable_type': 'Assignment', 'plannable_id': 1, 'user_id': 2, 'workflow_state': 'active', 'marked_complete': true, A user-defined setting for marking items complete in the planner 'dismissed': false, A user-defined setting for hiding items from the opportunities list 'deleted_at': null, 'created_at': '2017-05-18T18:35:55Z', 'updated_at': '2017-05-18T18:35:55Z' }, 'submissions': { The status as it pertains to the current user 'excused': false, 'graded': false, 'late': false, 'missing': true, 'needs_grading': false, 'with_feedback': false }, 'plannable_id': '456', 'plannable_type': 'assignment', 'plannable': { ... assignment object ... }, 'html_url': 'http: canvas.instructure.com/courses/1/assignments/1#submit' }, { 'planner_override': null, 'submissions': false, false if no associated assignment exists for the plannable item 'plannable_id': '789', 'plannable_type': 'planner_note', 'plannable': { 'id': 1, 'todo_date': '2017-05-30T06:00:00Z', 'title': 'hello', 'details': 'world', 'user_id': 2, 'course_id': null, 'workflow_state': 'active', 'created_at': '2017-05-30T16:29:04Z', 'updated_at': '2017-05-30T16:29:15Z' }, 'html_url': 'http: canvas.instructure.com/api/v1/planner_notes.1' } ]"
1278
+ field :list_planner_items_planner,
1279
+ resolver: LMSGraphQL::Resolvers::Canvas::ListPlannerItemsPlanner,
1280
+ description: "List planner items. Retrieve the paginated list of objects to be shown on the planner for the current user with the associated planner override to override an item's visibility if set. Planner items for a student may also be retrieved by a linked observer. Use the path that accepts a user_id and supply the student's id."
1281
+
1282
+ field :list_planner_items_users,
1283
+ resolver: LMSGraphQL::Resolvers::Canvas::ListPlannerItemsUser,
1284
+ description: "List planner items. Retrieve the paginated list of objects to be shown on the planner for the current user with the associated planner override to override an item's visibility if set. Planner items for a student may also be retrieved by a linked observer. Use the path that accepts a user_id and supply the student's id."
1181
1285
 
1182
1286
  field :list_planner_notes,
1183
1287
  resolver: LMSGraphQL::Resolvers::Canvas::ListPlannerNote,
@@ -1247,9 +1351,13 @@ module LMSGraphQL
1247
1351
  resolver: LMSGraphQL::Resolvers::Canvas::QueryProgress,
1248
1352
  description: "Query progress. Return completion and status information about an asynchronous job"
1249
1353
 
1250
- field :retrieve_assignment_overridden_dates_for_quizzes,
1251
- resolver: LMSGraphQL::Resolvers::Canvas::RetrieveAssignmentOverriddenDatesForQuiz,
1252
- description: "Retrieve assignment-overridden dates for quizzes. Retrieve the actual due-at, unlock-at, and available-at dates for quizzes based on the assignment overrides active for the current API user."
1354
+ field :retrieve_assignment_overridden_dates_for_classic_quizzes,
1355
+ resolver: LMSGraphQL::Resolvers::Canvas::RetrieveAssignmentOverriddenDatesForClassicQuiz,
1356
+ description: "Retrieve assignment-overridden dates for Classic Quizzes. Retrieve the actual due-at, unlock-at, and available-at dates for quizzes based on the assignment overrides active for the current API user."
1357
+
1358
+ field :retrieve_assignment_overridden_dates_for_new_quizzes,
1359
+ resolver: LMSGraphQL::Resolvers::Canvas::RetrieveAssignmentOverriddenDatesForNewQuiz,
1360
+ description: "Retrieve assignment-overridden dates for New Quizzes. Retrieve the actual due-at, unlock-at, and available-at dates for quizzes based on the assignment overrides active for the current API user."
1253
1361
 
1254
1362
  field :get_available_quiz_ip_filters,
1255
1363
  resolver: LMSGraphQL::Resolvers::Canvas::GetAvailableQuizIpFilter,
@@ -1311,6 +1419,14 @@ module LMSGraphQL
1311
1419
  resolver: LMSGraphQL::Resolvers::Canvas::GetSingleQuiz,
1312
1420
  description: "Get a single quiz. Returns the quiz with the given id."
1313
1421
 
1422
+ field :show_collection_of_results,
1423
+ resolver: LMSGraphQL::Resolvers::Canvas::ShowCollectionOfResult,
1424
+ description: "Show a collection of Results. Show existing Results of a line item. Can be used to retrieve a specific student's result by adding the user_id (defined as the lti_user_id or the Canvas user_id) as a query parameter (i.e. user_id=1000). If user_id is included, it will return only one Result in the collection if the result exists, otherwise it will be empty. May also limit number of results by adding the limit query param (i.e. limit=100)"
1425
+
1426
+ field :show_result,
1427
+ resolver: LMSGraphQL::Resolvers::Canvas::ShowResult,
1428
+ description: "Show a Result. Show existing Result of a line item."
1429
+
1314
1430
  field :list_roles,
1315
1431
  resolver: LMSGraphQL::Resolvers::Canvas::ListRole,
1316
1432
  description: "List roles. A paginated list of the roles available to an account."
@@ -1431,6 +1547,10 @@ module LMSGraphQL
1431
1547
  resolver: LMSGraphQL::Resolvers::Canvas::SubmissionSummarySection,
1432
1548
  description: "Submission Summary. Returns the number of submissions for the given assignment based on gradeable students that fall into three categories: graded, ungraded, not submitted."
1433
1549
 
1550
+ field :list_available_tabs_for_course_or_group_accounts,
1551
+ resolver: LMSGraphQL::Resolvers::Canvas::ListAvailableTabsForCourseOrGroupAccount,
1552
+ description: "List available tabs for a course or group. Returns a paginated list of navigation tabs available in the current context."
1553
+
1434
1554
  field :list_available_tabs_for_course_or_group_courses,
1435
1555
  resolver: LMSGraphQL::Resolvers::Canvas::ListAvailableTabsForCourseOrGroupCourse,
1436
1556
  description: "List available tabs for a course or group. Returns a paginated list of navigation tabs available in the current context."
@@ -1439,14 +1559,26 @@ module LMSGraphQL
1439
1559
  resolver: LMSGraphQL::Resolvers::Canvas::ListAvailableTabsForCourseOrGroupGroup,
1440
1560
  description: "List available tabs for a course or group. Returns a paginated list of navigation tabs available in the current context."
1441
1561
 
1562
+ field :list_available_tabs_for_course_or_group_users,
1563
+ resolver: LMSGraphQL::Resolvers::Canvas::ListAvailableTabsForCourseOrGroupUser,
1564
+ description: "List available tabs for a course or group. Returns a paginated list of navigation tabs available in the current context."
1565
+
1442
1566
  field :list_observees,
1443
1567
  resolver: LMSGraphQL::Resolvers::Canvas::ListObservee,
1444
1568
  description: "List observees. A paginated list of the users that the given user is observing. *Note:* all users are allowed to list their own observees. Administrators can list other users' observees. The returned observees will include an attribute 'observation_link_root_account_ids', a list of ids for the root accounts the observer and observee are linked on. The observer will only be able to observe in courses associated with these root accounts."
1445
1569
 
1570
+ field :list_observers,
1571
+ resolver: LMSGraphQL::Resolvers::Canvas::ListObserver,
1572
+ description: "List observers. A paginated list of the users that the given user is observing. *Note:* all users are allowed to list their own observees. Administrators can list other users' observees. The returned observees will include an attribute 'observation_link_root_account_ids', a list of ids for the root accounts the observer and observee are linked on. The observer will only be able to observe in courses associated with these root accounts."
1573
+
1446
1574
  field :show_observee,
1447
1575
  resolver: LMSGraphQL::Resolvers::Canvas::ShowObservee,
1448
1576
  description: "Show an observee. Gets information about an observed user. *Note:* all users are allowed to view their own observees."
1449
1577
 
1578
+ field :show_observer,
1579
+ resolver: LMSGraphQL::Resolvers::Canvas::ShowObserver,
1580
+ description: "Show an observer. Gets information about an observed user. *Note:* all users are allowed to view their own observers."
1581
+
1450
1582
  field :list_users_in_account,
1451
1583
  resolver: LMSGraphQL::Resolvers::Canvas::ListUsersInAccount,
1452
1584
  description: "List users in account. A paginated list of of users associated with this account. @example_request curl https: <canvas>/api/v1/accounts/self/users?search_term=<search value> \ -X GET \ -H 'Authorization: Bearer <token>'"
@@ -1465,7 +1597,7 @@ module LMSGraphQL
1465
1597
 
1466
1598
  field :list_todo_items,
1467
1599
  resolver: LMSGraphQL::Resolvers::Canvas::ListTodoItem,
1468
- description: "List the TODO items. A paginated list of the current user's list of todo items, as seen on the user dashboard. There is a limit to the number of items returned. The `ignore` and `ignore_permanently` URLs can be used to update the user's preferences on what items will be displayed. Performing a DELETE request against the `ignore` URL will hide that item from future todo item requests, until the item changes. Performing a DELETE request against the `ignore_permanently` URL will hide that item forever."
1600
+ description: "List the TODO items. A paginated list of the current user's list of todo items. There is a limit to the number of items returned. The `ignore` and `ignore_permanently` URLs can be used to update the user's preferences on what items will be displayed. Performing a DELETE request against the `ignore` URL will hide that item from future todo item requests, until the item changes. Performing a DELETE request against the `ignore_permanently` URL will hide that item forever."
1469
1601
 
1470
1602
  field :list_counts_for_todo_items,
1471
1603
  resolver: LMSGraphQL::Resolvers::Canvas::ListCountsForTodoItem,
@@ -1481,7 +1613,7 @@ module LMSGraphQL
1481
1613
 
1482
1614
  field :show_user_details,
1483
1615
  resolver: LMSGraphQL::Resolvers::Canvas::ShowUserDetail,
1484
- description: "Show user details. Shows details for user. Also includes an attribute 'permissions', a non-comprehensive list of permissions for the user. Example: !!!javascript 'permissions': { 'can_update_name': true, Whether the user can update their name. 'can_update_avatar': false Whether the user can update their avatar. }"
1616
+ description: "Show user details. Shows details for user. Also includes an attribute 'permissions', a non-comprehensive list of permissions for the user. Example: !!!javascript 'permissions': { 'can_update_name': true, Whether the user can update their name. 'can_update_avatar': false, Whether the user can update their avatar. 'limit_parent_app_web_access': false Whether the user can interact with Canvas web from the Canvas Parent app. }"
1485
1617
 
1486
1618
  field :update_user_settings,
1487
1619
  resolver: LMSGraphQL::Resolvers::Canvas::UpdateUserSetting,
@@ -1499,6 +1631,10 @@ module LMSGraphQL
1499
1631
  resolver: LMSGraphQL::Resolvers::Canvas::GetDashboardPosition,
1500
1632
  description: "Get dashboard positions. Returns all dashboard positions that have been saved for a user."
1501
1633
 
1634
+ field :get_users_most_recently_graded_submissions,
1635
+ resolver: LMSGraphQL::Resolvers::Canvas::GetUsersMostRecentlyGradedSubmission,
1636
+ description: "Get a users most recently graded submissions. "
1637
+
1502
1638
  field :get_user_profile,
1503
1639
  resolver: LMSGraphQL::Resolvers::Canvas::GetUserProfile,
1504
1640
  description: "Get user profile. Returns user profile data, including user id, name, and profile pic. When requesting the profile for the user accessing the API, the user's calendar feed URL and LTI user id will be returned as well."