lms-graphql-api 0.5.3 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lms_graphql/mutations/canvas/add_observee_with_credentials.rb +3 -1
- data/lib/lms_graphql/mutations/canvas/bulk_select_provisional_grades.rb +22 -0
- data/lib/lms_graphql/mutations/canvas/bulk_update_column_data.rb +22 -0
- data/lib/lms_graphql/mutations/canvas/create_single_rubric.rb +40 -0
- data/lib/lms_graphql/mutations/canvas/create_update_proficiency_ratings.rb +28 -0
- data/lib/lms_graphql/mutations/canvas/get_pandata_events_jwt_token_and_its_expiration_date.rb +20 -0
- data/lib/lms_graphql/mutations/canvas/import_outcome_group_accounts.rb +4 -2
- data/lib/lms_graphql/mutations/canvas/import_outcome_group_courses.rb +4 -2
- data/lib/lms_graphql/mutations/canvas/import_outcome_group_global.rb +4 -2
- data/lib/lms_graphql/mutations/canvas/mutations.rb +7 -1
- data/lib/lms_graphql/mutations/canvas/quiz_extensions_set_extensions_for_student_quiz_submissions.rb +13 -13
- data/lib/lms_graphql/mutations/canvas/restore_workflow_states_of_sis_imported_items.rb +28 -0
- data/lib/lms_graphql/mutations/canvas/update_single_rubric.rb +42 -0
- data/lib/lms_graphql/mutations/canvas/update_student_question_scores_and_comments.rb +7 -7
- data/lib/lms_graphql/resolvers/canvas/courses_permissions.rb +22 -0
- data/lib/lms_graphql/resolvers/canvas/get_aligned_assignments_for_outcome_in_course_for_particular_student.rb +22 -0
- data/lib/lms_graphql/resolvers/canvas/get_current_importing_sis_import.rb +20 -0
- data/lib/lms_graphql/resolvers/canvas/get_help_links.rb +20 -0
- data/lib/lms_graphql/resolvers/canvas/get_outcome_result_rollups.rb +12 -2
- data/lib/lms_graphql/resolvers/canvas/get_outcome_results.rb +4 -2
- data/lib/lms_graphql/resolvers/canvas/get_proficiency_ratings.rb +20 -0
- data/lib/lms_graphql/resolvers/canvas/get_terms_of_service.rb +20 -0
- data/lib/lms_graphql/resolvers/canvas/groups_permissions.rb +22 -0
- data/lib/lms_graphql/resolvers/canvas/list_assignments_assignment_groups.rb +36 -0
- data/lib/lms_graphql/resolvers/canvas/list_assignments_assignments.rb +34 -0
- data/lib/lms_graphql/resolvers/canvas/list_blueprint_subscriptions.rb +20 -0
- data/lib/lms_graphql/resolvers/canvas/list_missing_submissions.rb +4 -2
- data/lib/lms_graphql/resolvers/canvas/list_planner_items.rb +3 -1
- data/lib/lms_graphql/resolvers/canvas/moderated_grading_show_provisional_grade_status_for_student.rb +24 -0
- data/lib/lms_graphql/resolvers/canvas/permissions.rb +3 -3
- data/lib/lms_graphql/types/canvas/admin_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/appointment_group_input.rb +6 -6
- data/lib/lms_graphql/types/canvas/assignment_event_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/assignment_group_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/assignment_input.rb +18 -18
- data/lib/lms_graphql/types/canvas/authentication_provider_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/blueprint_subscription.rb +16 -0
- data/lib/lms_graphql/types/canvas/blueprint_subscription_input.rb +16 -0
- data/lib/lms_graphql/types/canvas/blueprint_template_input.rb +1 -1
- data/lib/lms_graphql/types/canvas/conference_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/content_detail_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/content_export_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/conversation_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/course.rb +1 -0
- data/lib/lms_graphql/types/canvas/course_epub_export_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/course_event_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/course_input.rb +9 -8
- data/lib/lms_graphql/types/canvas/discussion_topic_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/enrollment_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/epub_export_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/feature_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/grade_change_event_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/grading_standard_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/group_category_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/help_link.rb +18 -0
- data/lib/lms_graphql/types/canvas/help_link_input.rb +18 -0
- data/lib/lms_graphql/types/canvas/lti_assignment.rb +2 -0
- data/lib/lms_graphql/types/canvas/lti_assignment_input.rb +2 -0
- data/lib/lms_graphql/types/canvas/module_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/module_item_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/module_item_sequence_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/module_item_sequence_node_input.rb +6 -6
- data/lib/lms_graphql/types/canvas/originality_report_input.rb +1 -1
- data/lib/lms_graphql/types/canvas/outcome.rb +1 -1
- data/lib/lms_graphql/types/canvas/outcome_alignment.rb +6 -4
- data/lib/lms_graphql/types/canvas/outcome_alignment_input.rb +6 -4
- data/lib/lms_graphql/types/canvas/outcome_group_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/outcome_import_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/outcome_input.rb +3 -3
- data/lib/lms_graphql/types/canvas/outcome_link_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/outcome_path_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/outcome_rollup_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/outcome_rollup_score_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/page_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/page_revision_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/page_view_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/planner_note.rb +1 -1
- data/lib/lms_graphql/types/canvas/planner_note_input.rb +1 -1
- data/lib/lms_graphql/types/canvas/planner_override.rb +2 -1
- data/lib/lms_graphql/types/canvas/planner_override_input.rb +2 -1
- data/lib/lms_graphql/types/canvas/poll_session_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/proficiency.rb +14 -0
- data/lib/lms_graphql/types/canvas/proficiency_input.rb +14 -0
- data/lib/lms_graphql/types/canvas/proficiency_rating.rb +17 -0
- data/lib/lms_graphql/types/canvas/proficiency_rating_input.rb +17 -0
- data/lib/lms_graphql/types/canvas/profile_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/query_type.rb +51 -19
- data/lib/lms_graphql/types/canvas/quiz_assignment_override_set_container_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/quiz_assignment_override_set_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/quiz_input.rb +6 -6
- data/lib/lms_graphql/types/canvas/quiz_question_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/quiz_report_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/quiz_statistic_input.rb +6 -6
- data/lib/lms_graphql/types/canvas/quiz_statistics_question_statistic_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/report_input.rb +4 -4
- data/lib/lms_graphql/types/canvas/result_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/role_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/rubric_criterium.rb +1 -0
- data/lib/lms_graphql/types/canvas/rubric_criterium_input.rb +3 -2
- data/lib/lms_graphql/types/canvas/rubric_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/scope.rb +4 -1
- data/lib/lms_graphql/types/canvas/scope_input.rb +4 -1
- data/lib/lms_graphql/types/canvas/section_attribute_input.rb +6 -6
- data/lib/lms_graphql/types/canvas/sis_assignment_input.rb +6 -6
- data/lib/lms_graphql/types/canvas/sis_import.rb +1 -0
- data/lib/lms_graphql/types/canvas/sis_import_datum_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/sis_import_input.rb +7 -6
- data/lib/lms_graphql/types/canvas/submission_comment_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/submission_history_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/submission_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/terms_of_service.rb +18 -0
- data/lib/lms_graphql/types/canvas/terms_of_service_input.rb +18 -0
- data/lib/lms_graphql/types/canvas/user_assignment_override_attribute_input.rb +2 -2
- data/lib/lms_graphql/types/canvas/user_input.rb +2 -2
- data/lib/lms_graphql/types/canvas_forward_declarations.rb +5 -0
- data/lib/lms_graphql/version.rb +1 -1
- metadata +30 -2
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
require_relative "../../types/canvas/sis_import"
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class GetCurrentImportingSisImport < CanvasBaseResolver
|
7
|
+
type LMSGraphQL::Types::Canvas::CanvasSisImport, null: false
|
8
|
+
argument :account_id, ID, required: true
|
9
|
+
def resolve(account_id:)
|
10
|
+
context[:canvas_api].call("GET_CURRENT_IMPORTING_SIS_IMPORT").proxy(
|
11
|
+
"GET_CURRENT_IMPORTING_SIS_IMPORT",
|
12
|
+
{
|
13
|
+
"account_id": account_id },
|
14
|
+
nil,
|
15
|
+
).parsed_response
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
require_relative "../../types/canvas/help_link"
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class GetHelpLink < CanvasBaseResolver
|
7
|
+
type LMSGraphQL::Types::Canvas::CanvasHelpLink, null: false
|
8
|
+
argument :account_id, ID, required: true
|
9
|
+
def resolve(account_id:)
|
10
|
+
context[:canvas_api].call("GET_HELP_LINKS").proxy(
|
11
|
+
"GET_HELP_LINKS",
|
12
|
+
{
|
13
|
+
"account_id": account_id },
|
14
|
+
nil,
|
15
|
+
).parsed_response
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -7,18 +7,28 @@ module LMSGraphQL
|
|
7
7
|
type Boolean, null: false
|
8
8
|
argument :course_id, ID, required: true
|
9
9
|
argument :aggregate, String, required: false
|
10
|
+
argument :aggregate_stat, String, required: false
|
10
11
|
argument :user_ids, [ID], required: false
|
11
12
|
argument :outcome_ids, [ID], required: false
|
12
13
|
argument :include, String, required: false
|
13
|
-
|
14
|
+
argument :exclude, String, required: false
|
15
|
+
argument :sort_by, String, required: false
|
16
|
+
argument :sort_outcome_id, ID, required: false
|
17
|
+
argument :sort_order, String, required: false
|
18
|
+
def resolve(course_id:, aggregate: nil, aggregate_stat: nil, user_ids: nil, outcome_ids: nil, include: nil, exclude: nil, sort_by: nil, sort_outcome_id: nil, sort_order: nil)
|
14
19
|
context[:canvas_api].call("GET_OUTCOME_RESULT_ROLLUPS").proxy(
|
15
20
|
"GET_OUTCOME_RESULT_ROLLUPS",
|
16
21
|
{
|
17
22
|
"course_id": course_id,
|
18
23
|
"aggregate": aggregate,
|
24
|
+
"aggregate_stat": aggregate_stat,
|
19
25
|
"user_ids": user_ids,
|
20
26
|
"outcome_ids": outcome_ids,
|
21
|
-
"include": include
|
27
|
+
"include": include,
|
28
|
+
"exclude": exclude,
|
29
|
+
"sort_by": sort_by,
|
30
|
+
"sort_outcome_id": sort_outcome_id,
|
31
|
+
"sort_order": sort_order },
|
22
32
|
nil,
|
23
33
|
).parsed_response
|
24
34
|
end
|
@@ -9,14 +9,16 @@ module LMSGraphQL
|
|
9
9
|
argument :user_ids, [ID], required: false
|
10
10
|
argument :outcome_ids, [ID], required: false
|
11
11
|
argument :include, String, required: false
|
12
|
-
|
12
|
+
argument :include_hidden, Boolean, required: false
|
13
|
+
def resolve(course_id:, user_ids: nil, outcome_ids: nil, include: nil, include_hidden: nil)
|
13
14
|
context[:canvas_api].call("GET_OUTCOME_RESULTS").proxy(
|
14
15
|
"GET_OUTCOME_RESULTS",
|
15
16
|
{
|
16
17
|
"course_id": course_id,
|
17
18
|
"user_ids": user_ids,
|
18
19
|
"outcome_ids": outcome_ids,
|
19
|
-
"include": include
|
20
|
+
"include": include,
|
21
|
+
"include_hidden": include_hidden },
|
20
22
|
nil,
|
21
23
|
).parsed_response
|
22
24
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
require_relative "../../types/canvas/proficiency"
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class GetProficiencyRating < CanvasBaseResolver
|
7
|
+
type LMSGraphQL::Types::Canvas::CanvasProficiency, null: false
|
8
|
+
argument :account_id, ID, required: true
|
9
|
+
def resolve(account_id:)
|
10
|
+
context[:canvas_api].call("GET_PROFICIENCY_RATINGS").proxy(
|
11
|
+
"GET_PROFICIENCY_RATINGS",
|
12
|
+
{
|
13
|
+
"account_id": account_id },
|
14
|
+
nil,
|
15
|
+
).parsed_response
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class GetTermsOfService < CanvasBaseResolver
|
7
|
+
type String, null: false
|
8
|
+
argument :account_id, ID, required: true
|
9
|
+
def resolve(account_id:)
|
10
|
+
context[:canvas_api].call("GET_TERMS_OF_SERVICE").proxy(
|
11
|
+
"GET_TERMS_OF_SERVICE",
|
12
|
+
{
|
13
|
+
"account_id": account_id },
|
14
|
+
nil,
|
15
|
+
).parsed_response
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class GroupsPermission < CanvasBaseResolver
|
7
|
+
type Boolean, null: false
|
8
|
+
argument :group_id, ID, required: true
|
9
|
+
argument :permissions, String, required: false
|
10
|
+
def resolve(group_id:, permissions: nil)
|
11
|
+
context[:canvas_api].call("GROUPS_PERMISSIONS").proxy(
|
12
|
+
"GROUPS_PERMISSIONS",
|
13
|
+
{
|
14
|
+
"group_id": group_id,
|
15
|
+
"permissions": permissions },
|
16
|
+
nil,
|
17
|
+
).parsed_response
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
require_relative "../../types/canvas/assignment"
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class ListAssignmentsAssignmentGroup < CanvasBaseResolver
|
7
|
+
type [LMSGraphQL::Types::Canvas::CanvasAssignment], null: false
|
8
|
+
argument :course_id, ID, required: true
|
9
|
+
argument :assignment_group_id, ID, required: true
|
10
|
+
argument :include, String, required: false
|
11
|
+
argument :search_term, String, required: false
|
12
|
+
argument :override_assignment_dates, Boolean, required: false
|
13
|
+
argument :needs_grading_count_by_section, Boolean, required: false
|
14
|
+
argument :bucket, String, required: false
|
15
|
+
argument :assignment_ids, [ID], required: false
|
16
|
+
argument :order_by, String, required: false
|
17
|
+
def resolve(course_id:, assignment_group_id:, include: nil, search_term: nil, override_assignment_dates: nil, needs_grading_count_by_section: nil, bucket: nil, assignment_ids: nil, order_by: nil)
|
18
|
+
context[:canvas_api].call("LIST_ASSIGNMENTS_ASSIGNMENT_GROUPS").proxy(
|
19
|
+
"LIST_ASSIGNMENTS_ASSIGNMENT_GROUPS",
|
20
|
+
{
|
21
|
+
"course_id": course_id,
|
22
|
+
"assignment_group_id": assignment_group_id,
|
23
|
+
"include": include,
|
24
|
+
"search_term": search_term,
|
25
|
+
"override_assignment_dates": override_assignment_dates,
|
26
|
+
"needs_grading_count_by_section": needs_grading_count_by_section,
|
27
|
+
"bucket": bucket,
|
28
|
+
"assignment_ids": assignment_ids,
|
29
|
+
"order_by": order_by },
|
30
|
+
nil,
|
31
|
+
).parsed_response
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
require_relative "../../types/canvas/assignment"
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class ListAssignmentsAssignment < CanvasBaseResolver
|
7
|
+
type [LMSGraphQL::Types::Canvas::CanvasAssignment], null: false
|
8
|
+
argument :course_id, ID, required: true
|
9
|
+
argument :include, String, required: false
|
10
|
+
argument :search_term, String, required: false
|
11
|
+
argument :override_assignment_dates, Boolean, required: false
|
12
|
+
argument :needs_grading_count_by_section, Boolean, required: false
|
13
|
+
argument :bucket, String, required: false
|
14
|
+
argument :assignment_ids, [ID], required: false
|
15
|
+
argument :order_by, String, required: false
|
16
|
+
def resolve(course_id:, include: nil, search_term: nil, override_assignment_dates: nil, needs_grading_count_by_section: nil, bucket: nil, assignment_ids: nil, order_by: nil)
|
17
|
+
context[:canvas_api].call("LIST_ASSIGNMENTS_ASSIGNMENTS").proxy(
|
18
|
+
"LIST_ASSIGNMENTS_ASSIGNMENTS",
|
19
|
+
{
|
20
|
+
"course_id": course_id,
|
21
|
+
"include": include,
|
22
|
+
"search_term": search_term,
|
23
|
+
"override_assignment_dates": override_assignment_dates,
|
24
|
+
"needs_grading_count_by_section": needs_grading_count_by_section,
|
25
|
+
"bucket": bucket,
|
26
|
+
"assignment_ids": assignment_ids,
|
27
|
+
"order_by": order_by },
|
28
|
+
nil,
|
29
|
+
).parsed_response
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
require_relative "../../types/canvas/blueprint_subscription"
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class ListBlueprintSubscription < CanvasBaseResolver
|
7
|
+
type [LMSGraphQL::Types::Canvas::CanvasBlueprintSubscription], null: false
|
8
|
+
argument :course_id, ID, required: true
|
9
|
+
def resolve(course_id:)
|
10
|
+
context[:canvas_api].call("LIST_BLUEPRINT_SUBSCRIPTIONS").proxy(
|
11
|
+
"LIST_BLUEPRINT_SUBSCRIPTIONS",
|
12
|
+
{
|
13
|
+
"course_id": course_id },
|
14
|
+
nil,
|
15
|
+
).parsed_response
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -7,12 +7,14 @@ module LMSGraphQL
|
|
7
7
|
type [LMSGraphQL::Types::Canvas::CanvasAssignment], null: false
|
8
8
|
argument :user_id, ID, required: true
|
9
9
|
argument :include, String, required: false
|
10
|
-
|
10
|
+
argument :filter, String, required: false
|
11
|
+
def resolve(user_id:, include: nil, filter: nil)
|
11
12
|
context[:canvas_api].call("LIST_MISSING_SUBMISSIONS").proxy(
|
12
13
|
"LIST_MISSING_SUBMISSIONS",
|
13
14
|
{
|
14
15
|
"user_id": user_id,
|
15
|
-
"include": include
|
16
|
+
"include": include,
|
17
|
+
"filter": filter },
|
16
18
|
nil,
|
17
19
|
).parsed_response
|
18
20
|
end
|
@@ -7,13 +7,15 @@ module LMSGraphQL
|
|
7
7
|
type Boolean, null: false
|
8
8
|
argument :start_date, LMSGraphQL::Types::DateTimeType, required: false
|
9
9
|
argument :end_date, LMSGraphQL::Types::DateTimeType, required: false
|
10
|
+
argument :context_codes, String, required: false
|
10
11
|
argument :filter, String, required: false
|
11
|
-
def resolve(start_date: nil, end_date: nil, filter: nil)
|
12
|
+
def resolve(start_date: nil, end_date: nil, context_codes: nil, filter: nil)
|
12
13
|
context[:canvas_api].call("LIST_PLANNER_ITEMS").proxy(
|
13
14
|
"LIST_PLANNER_ITEMS",
|
14
15
|
{
|
15
16
|
"start_date": start_date,
|
16
17
|
"end_date": end_date,
|
18
|
+
"context_codes": context_codes,
|
17
19
|
"filter": filter },
|
18
20
|
nil,
|
19
21
|
).parsed_response
|
data/lib/lms_graphql/resolvers/canvas/moderated_grading_show_provisional_grade_status_for_student.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative "../canvas_base_resolver"
|
2
|
+
|
3
|
+
module LMSGraphQL
|
4
|
+
module Resolvers
|
5
|
+
module Canvas
|
6
|
+
class ModeratedGradingShowProvisionalGradeStatusForStudent < CanvasBaseResolver
|
7
|
+
type Boolean, null: false
|
8
|
+
argument :course_id, ID, required: true
|
9
|
+
argument :assignment_id, ID, required: true
|
10
|
+
argument :anonymous_id, ID, required: false
|
11
|
+
def resolve(course_id:, assignment_id:, anonymous_id: nil)
|
12
|
+
context[:canvas_api].call("MODERATED_GRADING_SHOW_PROVISIONAL_GRADE_STATUS_FOR_STUDENT").proxy(
|
13
|
+
"MODERATED_GRADING_SHOW_PROVISIONAL_GRADE_STATUS_FOR_STUDENT",
|
14
|
+
{
|
15
|
+
"course_id": course_id,
|
16
|
+
"assignment_id": assignment_id,
|
17
|
+
"anonymous_id": anonymous_id },
|
18
|
+
nil,
|
19
|
+
).parsed_response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -5,13 +5,13 @@ module LMSGraphQL
|
|
5
5
|
module Canvas
|
6
6
|
class Permission < CanvasBaseResolver
|
7
7
|
type Boolean, null: false
|
8
|
-
argument :
|
8
|
+
argument :account_id, ID, required: true
|
9
9
|
argument :permissions, String, required: false
|
10
|
-
def resolve(
|
10
|
+
def resolve(account_id:, permissions: nil)
|
11
11
|
context[:canvas_api].call("PERMISSIONS").proxy(
|
12
12
|
"PERMISSIONS",
|
13
13
|
{
|
14
|
-
"
|
14
|
+
"account_id": account_id,
|
15
15
|
"permissions": permissions },
|
16
16
|
nil,
|
17
17
|
).parsed_response
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require_relative "../canvas_base_input_type"
|
2
|
-
require_relative "
|
2
|
+
require_relative "user"
|
3
3
|
|
4
4
|
module LMSGraphQL
|
5
5
|
module Types
|
@@ -8,7 +8,7 @@ module LMSGraphQL
|
|
8
8
|
description "Admins. API Docs: https://canvas.instructure.com/doc/api/admins.html"
|
9
9
|
argument :id, ID, "The unique identifier for the account role/user assignment..Example: 1023", required: false
|
10
10
|
argument :role, String, "The account role assigned. This can be 'AccountAdmin' or a user-defined role created by the Roles API..Example: AccountAdmin", required: false
|
11
|
-
argument :user, LMSGraphQL::Types::Canvas::
|
11
|
+
argument :user, LMSGraphQL::Types::Canvas::CanvasUser, "The user the role is assigned to. See the Users API for details..", required: false
|
12
12
|
argument :workflow_state, String, "The status of the account role/user assignment..Example: deleted", required: false
|
13
13
|
|
14
14
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative "../canvas_base_input_type"
|
2
|
-
require_relative "
|
3
|
-
require_relative "
|
4
|
-
require_relative "
|
2
|
+
require_relative "appointment"
|
3
|
+
require_relative "calendar_event"
|
4
|
+
require_relative "calendar_event"
|
5
5
|
|
6
6
|
module LMSGraphQL
|
7
7
|
module Types
|
@@ -31,14 +31,14 @@ module LMSGraphQL
|
|
31
31
|
argument :location_name, String, "The location name of the appointment group.Example: El Tigre Chino's office", required: false
|
32
32
|
argument :location_address, String, "The address of the appointment group's location.Example: Room 234", required: false
|
33
33
|
argument :participant_count, Int, "The number of participant who have reserved slots (see include[] argument).Example: 2", required: false
|
34
|
-
argument :reserved_times, [LMSGraphQL::Types::Canvas::
|
34
|
+
argument :reserved_times, [LMSGraphQL::Types::Canvas::CanvasAppointment], "The start and end times of slots reserved by the current user as well as the id of the calendar event for the reservation (see include[] argument).Example: {'id'=>987, 'start_at'=>'2012-07-20T15:00:00-06:00', 'end_at'=>'2012-07-20T15:00:00-06:00'}", required: false
|
35
35
|
argument :context_codes, String, "The context codes (i.e. courses) this appointment group belongs to. Only people in these courses will be eligible to sign up..Example: course_123", required: false
|
36
36
|
argument :sub_context_codes, Int, "The sub-context codes (i.e. course sections and group categories) this appointment group is restricted to.Example: course_section_234", required: false
|
37
37
|
argument :workflow_state, AppointmentGroupWorkflowStateEnum, "Current state of the appointment group ('pending', 'active' or 'deleted'). 'pending' indicates that it has not been published yet and is invisible to participants..Example: active", required: false
|
38
38
|
argument :requiring_action, Boolean, "Boolean indicating whether the current user needs to sign up for this appointment group (i.e. it's reservable and the min_appointments_per_participant limit has not been met by this user)..Example: true", required: false
|
39
39
|
argument :appointments_count, Int, "Number of time slots in this appointment group.Example: 2", required: false
|
40
|
-
argument :appointments, [LMSGraphQL::Types::Canvas::
|
41
|
-
argument :new_appointments, [LMSGraphQL::Types::Canvas::
|
40
|
+
argument :appointments, [LMSGraphQL::Types::Canvas::CanvasCalendarEvent], "Calendar Events representing the time slots (see include[] argument) Refer to the Calendar Events API for more information.", required: false
|
41
|
+
argument :new_appointments, [LMSGraphQL::Types::Canvas::CanvasCalendarEvent], "Newly created time slots (same format as appointments above). Only returned in Create/Update responses where new time slots have been added.", required: false
|
42
42
|
argument :max_appointments_per_participant, Int, "Maximum number of time slots a user may register for, or null if no limit.Example: 1", required: false
|
43
43
|
argument :min_appointments_per_participant, Int, "Minimum number of time slots a user must register for. If not set, users do not need to sign up for any time slots.Example: 1", required: false
|
44
44
|
argument :participants_per_appointment, Int, "Maximum number of participants that may register for each time slot, or null if no limit.Example: 1", required: false
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require_relative "../canvas_base_input_type"
|
2
|
-
require_relative "
|
3
|
-
require_relative "
|
2
|
+
require_relative "assignment"
|
3
|
+
require_relative "assignment_override"
|
4
4
|
|
5
5
|
module LMSGraphQL
|
6
6
|
module Types
|
@@ -24,8 +24,8 @@ module LMSGraphQL
|
|
24
24
|
argument :all_day, Boolean, "Boolean indicating whether this is an all-day event (e.g. assignment due at midnight).Example: true", required: false
|
25
25
|
argument :created_at, LMSGraphQL::Types::DateTimeType, "When the assignment was created.Example: 2012-07-12T10:55:20-06:00", required: false
|
26
26
|
argument :updated_at, LMSGraphQL::Types::DateTimeType, "When the assignment was last updated.Example: 2012-07-12T10:55:20-06:00", required: false
|
27
|
-
argument :assignment, LMSGraphQL::Types::Canvas::
|
28
|
-
argument :assignment_overrides, LMSGraphQL::Types::Canvas::
|
27
|
+
argument :assignment, LMSGraphQL::Types::Canvas::CanvasAssignment, "The full assignment JSON data (See the Assignments API).", required: false
|
28
|
+
argument :assignment_overrides, LMSGraphQL::Types::Canvas::CanvasAssignmentOverride, "The list of AssignmentOverrides that apply to this event (See the Assignments API). This information is useful for determining which students or sections this assignment-due event applies to..", required: false
|
29
29
|
|
30
30
|
end
|
31
31
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require_relative "../canvas_base_input_type"
|
2
|
-
require_relative "
|
2
|
+
require_relative "grading_rule"
|
3
3
|
|
4
4
|
module LMSGraphQL
|
5
5
|
module Types
|
@@ -13,7 +13,7 @@ module LMSGraphQL
|
|
13
13
|
argument :sis_source_id, ID, "the sis source id of the Assignment Group.Example: 1234", required: false
|
14
14
|
argument :integration_data, String, "the integration data of the Assignment Group.Example: 0954", required: false
|
15
15
|
argument :assignments, Int, "the assignments in this Assignment Group (see the Assignment API for a detailed list of fields).", required: false
|
16
|
-
argument :rules, LMSGraphQL::Types::Canvas::
|
16
|
+
argument :rules, LMSGraphQL::Types::Canvas::CanvasGradingRule, "the grading rules that this Assignment Group has.", required: false
|
17
17
|
|
18
18
|
end
|
19
19
|
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require_relative "../canvas_base_input_type"
|
2
|
-
require_relative "
|
3
|
-
require_relative "
|
4
|
-
require_relative "
|
5
|
-
require_relative "
|
6
|
-
require_relative "
|
7
|
-
require_relative "
|
8
|
-
require_relative "
|
9
|
-
require_relative "
|
10
|
-
require_relative "
|
2
|
+
require_relative "assignment_date"
|
3
|
+
require_relative "turnitin_setting"
|
4
|
+
require_relative "external_tool_tag_attribute"
|
5
|
+
require_relative "needs_grading_count"
|
6
|
+
require_relative "lock_info"
|
7
|
+
require_relative "discussion_topic"
|
8
|
+
require_relative "submission"
|
9
|
+
require_relative "rubric_criterium"
|
10
|
+
require_relative "assignment_override"
|
11
11
|
|
12
12
|
module LMSGraphQL
|
13
13
|
module Types
|
@@ -43,7 +43,7 @@ module LMSGraphQL
|
|
43
43
|
argument :lock_at, LMSGraphQL::Types::DateTimeType, "the lock date (assignment is locked after this date). returns null if not present. NOTE: If this assignment has assignment overrides, this field will be the lock date as it applies to the user requesting information from the API..Example: 2012-07-01T23:59:00-06:00", required: false
|
44
44
|
argument :unlock_at, LMSGraphQL::Types::DateTimeType, "the unlock date (assignment is unlocked after this date) returns null if not present NOTE: If this assignment has assignment overrides, this field will be the unlock date as it applies to the user requesting information from the API..Example: 2012-07-01T23:59:00-06:00", required: false
|
45
45
|
argument :has_overrides, Boolean, "whether this assignment has overrides.Example: true", required: false
|
46
|
-
argument :all_dates, [LMSGraphQL::Types::Canvas::
|
46
|
+
argument :all_dates, [LMSGraphQL::Types::Canvas::CanvasAssignmentDate], "(Optional) all dates associated with the assignment, if applicable.", required: false
|
47
47
|
argument :course_id, ID, "the ID of the course the assignment belongs to.Example: 123", required: false
|
48
48
|
argument :html_url, String, "the URL to the assignment's web page.Example: https://.", required: false
|
49
49
|
argument :submissions_download_url, String, "the URL to download all submissions as a zip.Example: https://example.com/courses/:course_id/assignments/:id/submissions?zip=1", required: false
|
@@ -53,9 +53,9 @@ module LMSGraphQL
|
|
53
53
|
argument :max_name_length, Int, "An integer indicating the maximum length an assignment's name may be.Example: 15", required: false
|
54
54
|
argument :turnitin_enabled, Boolean, "Boolean flag indicating whether or not Turnitin has been enabled for the assignment. NOTE: This flag will not appear unless your account has the Turnitin plugin available.Example: true", required: false
|
55
55
|
argument :vericite_enabled, Boolean, "Boolean flag indicating whether or not VeriCite has been enabled for the assignment. NOTE: This flag will not appear unless your account has the VeriCite plugin available.Example: true", required: false
|
56
|
-
argument :turnitin_settings, LMSGraphQL::Types::Canvas::
|
56
|
+
argument :turnitin_settings, LMSGraphQL::Types::Canvas::CanvasTurnitinSetting, "Settings to pass along to turnitin to control what kinds of matches should be considered. originality_report_visibility can be 'immediate', 'after_grading', 'after_due_date', or 'never' exclude_small_matches_type can be null, 'percent', 'words' exclude_small_matches_value: - if type is null, this will be null also - if type is 'percent', this will be a number between 0 and 100 representing match size to exclude as a percentage of the document size. - if type is 'words', this will be number > 0 representing how many words a match must contain for it to be considered NOTE: This flag will not appear unless your account has the Turnitin plugin available.", required: false
|
57
57
|
argument :grade_group_students_individually, Boolean, "If this is a group assignment, boolean flag indicating whether or not students will be graded individually..", required: false
|
58
|
-
argument :external_tool_tag_attributes, LMSGraphQL::Types::Canvas::
|
58
|
+
argument :external_tool_tag_attributes, LMSGraphQL::Types::Canvas::CanvasExternalToolTagAttribute, "(Optional) assignment's settings for external tools if submission_types include 'external_tool'. Only url and new_tab are included (new_tab defaults to false). Use the 'External Tools' API if you need more information about an external tool..", required: false
|
59
59
|
argument :peer_reviews, Boolean, "Boolean indicating if peer reviews are required for this assignment.", required: false
|
60
60
|
argument :automatic_peer_reviews, Boolean, "Boolean indicating peer reviews are assigned automatically. If false, the teacher is expected to manually assign peer reviews..", required: false
|
61
61
|
argument :peer_review_count, Int, "Integer representing the amount of reviews each user is assigned. NOTE: This key is NOT present unless you have automatic_peer_reviews set to true..Example: 0", required: false
|
@@ -63,7 +63,7 @@ module LMSGraphQL
|
|
63
63
|
argument :intra_group_peer_reviews, Boolean, "Boolean representing whether or not members from within the same group on a group assignment can be assigned to peer review their own group's work.Example: false", required: false
|
64
64
|
argument :group_category_id, ID, "The ID of the assignment’s group set, if this is a group assignment. For group discussions, set group_category_id on the discussion topic, not the linked assignment..Example: 1", required: false
|
65
65
|
argument :needs_grading_count, Int, "if the requesting user has grading rights, the number of submissions that need grading..Example: 17", required: false
|
66
|
-
argument :needs_grading_count_by_section, [LMSGraphQL::Types::Canvas::
|
66
|
+
argument :needs_grading_count_by_section, [LMSGraphQL::Types::Canvas::CanvasNeedsGradingCount], "if the requesting user has grading rights and the 'needs_grading_count_by_section' flag is specified, the number of submissions that need grading split out by section. NOTE: This key is NOT present unless you pass the 'needs_grading_count_by_section' argument as true. ANOTHER NOTE: it's possible to be enrolled in multiple sections, and if a student is setup that way they will show an assignment that needs grading in multiple sections (effectively the count will be duplicated between sections).Example: {'section_id'=>'123456', 'needs_grading_count'=>5}, {'section_id'=>'654321', 'needs_grading_count'=>0}", required: false
|
67
67
|
argument :position, Int, "the sorting order of the assignment in the group.Example: 1", required: false
|
68
68
|
argument :post_to_sis, Boolean, "(optional, present if Sync Grades to SIS feature is enabled).Example: true", required: false
|
69
69
|
argument :integration_id, ID, "(optional, Third Party unique identifier for Assignment).Example: 12341234", required: false
|
@@ -78,20 +78,20 @@ module LMSGraphQL
|
|
78
78
|
argument :unpublishable, Boolean, "Whether the assignment's 'published' state can be changed to false. Will be false if there are student submissions for the assignment..", required: false
|
79
79
|
argument :only_visible_to_overrides, Boolean, "Whether the assignment is only visible to overrides..", required: false
|
80
80
|
argument :locked_for_user, Boolean, "Whether or not this is locked for the user..", required: false
|
81
|
-
argument :lock_info, LMSGraphQL::Types::Canvas::
|
81
|
+
argument :lock_info, LMSGraphQL::Types::Canvas::CanvasLockInfo, "(Optional) Information for the user about the lock. Present when locked_for_user is true..", required: false
|
82
82
|
argument :lock_explanation, String, "(Optional) An explanation of why this is locked for the user. Present when locked_for_user is true..Example: This assignment is locked until September 1 at 12:00am", required: false
|
83
83
|
argument :quiz_id, ID, "(Optional) id of the associated quiz (applies only when submission_types is ['online_quiz']).Example: 620", required: false
|
84
84
|
argument :anonymous_submissions, Boolean, "(Optional) whether anonymous submissions are accepted (applies only to quiz assignments).", required: false
|
85
|
-
argument :discussion_topic, LMSGraphQL::Types::Canvas::
|
85
|
+
argument :discussion_topic, LMSGraphQL::Types::Canvas::CanvasDiscussionTopic, "(Optional) the DiscussionTopic associated with the assignment, if applicable.", required: false
|
86
86
|
argument :freeze_on_copy, Boolean, "(Optional) Boolean indicating if assignment will be frozen when it is copied. NOTE: This field will only be present if the AssignmentFreezer plugin is available for your account..", required: false
|
87
87
|
argument :frozen, Boolean, "(Optional) Boolean indicating if assignment is frozen for the calling user. NOTE: This field will only be present if the AssignmentFreezer plugin is available for your account..", required: false
|
88
88
|
argument :frozen_attributes, String, "(Optional) Array of frozen attributes for the assignment. Only account administrators currently have permission to change an attribute in this list. Will be empty if no attributes are frozen for this assignment. Possible frozen attributes are: title, description, lock_at, points_possible, grading_type, submission_types, assignment_group_id, allowed_extensions, group_category_id, notify_of_update, peer_reviews NOTE: This field will only be present if the AssignmentFreezer plugin is available for your account..Example: title", required: false
|
89
|
-
argument :submission, LMSGraphQL::Types::Canvas::
|
89
|
+
argument :submission, LMSGraphQL::Types::Canvas::CanvasSubmission, "(Optional) If 'submission' is included in the 'include' parameter, includes a Submission object that represents the current user's (user who is requesting information from the api) current submission for the assignment. See the Submissions API for an example response. If the user does not have a submission, this key will be absent..", required: false
|
90
90
|
argument :use_rubric_for_grading, Boolean, "(Optional) If true, the rubric is directly tied to grading the assignment. Otherwise, it is only advisory. Included if there is an associated rubric..Example: true", required: false
|
91
91
|
argument :rubric_settings, String, "(Optional) An object describing the basic attributes of the rubric, including the point total. Included if there is an associated rubric..Example: {'points_possible'=>12}", required: false
|
92
|
-
argument :rubric, [LMSGraphQL::Types::Canvas::
|
92
|
+
argument :rubric, [LMSGraphQL::Types::Canvas::CanvasRubricCriterium], "(Optional) A list of scoring criteria and ratings for each rubric criterion. Included if there is an associated rubric..", required: false
|
93
93
|
argument :assignment_visibility, Int, "(Optional) If 'assignment_visibility' is included in the 'include' parameter, includes an array of student IDs who can see this assignment..Example: 137, 381, 572", required: false
|
94
|
-
argument :overrides, [LMSGraphQL::Types::Canvas::
|
94
|
+
argument :overrides, [LMSGraphQL::Types::Canvas::CanvasAssignmentOverride], "(Optional) If 'overrides' is included in the 'include' parameter, includes an array of assignment override objects..", required: false
|
95
95
|
argument :omit_from_final_grade, Boolean, "(Optional) If true, the assignment will be omitted from the student's final grade.Example: true", required: false
|
96
96
|
argument :moderated_grading, Boolean, "Boolean indicating if the assignment is moderated..Example: true", required: false
|
97
97
|
|