lms-graphql-api 0.5.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/lib/lms_graphql/mutations/canvas/add_observee_with_credentials.rb +3 -1
  3. data/lib/lms_graphql/mutations/canvas/bulk_select_provisional_grades.rb +22 -0
  4. data/lib/lms_graphql/mutations/canvas/bulk_update_column_data.rb +22 -0
  5. data/lib/lms_graphql/mutations/canvas/create_single_rubric.rb +40 -0
  6. data/lib/lms_graphql/mutations/canvas/create_update_proficiency_ratings.rb +28 -0
  7. data/lib/lms_graphql/mutations/canvas/get_pandata_events_jwt_token_and_its_expiration_date.rb +20 -0
  8. data/lib/lms_graphql/mutations/canvas/import_outcome_group_accounts.rb +4 -2
  9. data/lib/lms_graphql/mutations/canvas/import_outcome_group_courses.rb +4 -2
  10. data/lib/lms_graphql/mutations/canvas/import_outcome_group_global.rb +4 -2
  11. data/lib/lms_graphql/mutations/canvas/mutations.rb +7 -1
  12. data/lib/lms_graphql/mutations/canvas/quiz_extensions_set_extensions_for_student_quiz_submissions.rb +13 -13
  13. data/lib/lms_graphql/mutations/canvas/restore_workflow_states_of_sis_imported_items.rb +28 -0
  14. data/lib/lms_graphql/mutations/canvas/update_single_rubric.rb +42 -0
  15. data/lib/lms_graphql/mutations/canvas/update_student_question_scores_and_comments.rb +7 -7
  16. data/lib/lms_graphql/resolvers/canvas/courses_permissions.rb +22 -0
  17. data/lib/lms_graphql/resolvers/canvas/get_aligned_assignments_for_outcome_in_course_for_particular_student.rb +22 -0
  18. data/lib/lms_graphql/resolvers/canvas/get_current_importing_sis_import.rb +20 -0
  19. data/lib/lms_graphql/resolvers/canvas/get_help_links.rb +20 -0
  20. data/lib/lms_graphql/resolvers/canvas/get_outcome_result_rollups.rb +12 -2
  21. data/lib/lms_graphql/resolvers/canvas/get_outcome_results.rb +4 -2
  22. data/lib/lms_graphql/resolvers/canvas/get_proficiency_ratings.rb +20 -0
  23. data/lib/lms_graphql/resolvers/canvas/get_terms_of_service.rb +20 -0
  24. data/lib/lms_graphql/resolvers/canvas/groups_permissions.rb +22 -0
  25. data/lib/lms_graphql/resolvers/canvas/list_assignments_assignment_groups.rb +36 -0
  26. data/lib/lms_graphql/resolvers/canvas/list_assignments_assignments.rb +34 -0
  27. data/lib/lms_graphql/resolvers/canvas/list_blueprint_subscriptions.rb +20 -0
  28. data/lib/lms_graphql/resolvers/canvas/list_missing_submissions.rb +4 -2
  29. data/lib/lms_graphql/resolvers/canvas/list_planner_items.rb +3 -1
  30. data/lib/lms_graphql/resolvers/canvas/moderated_grading_show_provisional_grade_status_for_student.rb +24 -0
  31. data/lib/lms_graphql/resolvers/canvas/permissions.rb +3 -3
  32. data/lib/lms_graphql/types/canvas/admin_input.rb +2 -2
  33. data/lib/lms_graphql/types/canvas/appointment_group_input.rb +6 -6
  34. data/lib/lms_graphql/types/canvas/assignment_event_input.rb +4 -4
  35. data/lib/lms_graphql/types/canvas/assignment_group_input.rb +2 -2
  36. data/lib/lms_graphql/types/canvas/assignment_input.rb +18 -18
  37. data/lib/lms_graphql/types/canvas/authentication_provider_input.rb +2 -2
  38. data/lib/lms_graphql/types/canvas/blueprint_subscription.rb +16 -0
  39. data/lib/lms_graphql/types/canvas/blueprint_subscription_input.rb +16 -0
  40. data/lib/lms_graphql/types/canvas/blueprint_template_input.rb +1 -1
  41. data/lib/lms_graphql/types/canvas/conference_input.rb +2 -2
  42. data/lib/lms_graphql/types/canvas/content_detail_input.rb +2 -2
  43. data/lib/lms_graphql/types/canvas/content_export_input.rb +2 -2
  44. data/lib/lms_graphql/types/canvas/conversation_input.rb +2 -2
  45. data/lib/lms_graphql/types/canvas/course.rb +1 -0
  46. data/lib/lms_graphql/types/canvas/course_epub_export_input.rb +2 -2
  47. data/lib/lms_graphql/types/canvas/course_event_input.rb +2 -2
  48. data/lib/lms_graphql/types/canvas/course_input.rb +9 -8
  49. data/lib/lms_graphql/types/canvas/discussion_topic_input.rb +4 -4
  50. data/lib/lms_graphql/types/canvas/enrollment_input.rb +4 -4
  51. data/lib/lms_graphql/types/canvas/epub_export_input.rb +2 -2
  52. data/lib/lms_graphql/types/canvas/feature_input.rb +2 -2
  53. data/lib/lms_graphql/types/canvas/grade_change_event_input.rb +2 -2
  54. data/lib/lms_graphql/types/canvas/grading_standard_input.rb +2 -2
  55. data/lib/lms_graphql/types/canvas/group_category_input.rb +2 -2
  56. data/lib/lms_graphql/types/canvas/help_link.rb +18 -0
  57. data/lib/lms_graphql/types/canvas/help_link_input.rb +18 -0
  58. data/lib/lms_graphql/types/canvas/lti_assignment.rb +2 -0
  59. data/lib/lms_graphql/types/canvas/lti_assignment_input.rb +2 -0
  60. data/lib/lms_graphql/types/canvas/module_input.rb +2 -2
  61. data/lib/lms_graphql/types/canvas/module_item_input.rb +4 -4
  62. data/lib/lms_graphql/types/canvas/module_item_sequence_input.rb +4 -4
  63. data/lib/lms_graphql/types/canvas/module_item_sequence_node_input.rb +6 -6
  64. data/lib/lms_graphql/types/canvas/originality_report_input.rb +1 -1
  65. data/lib/lms_graphql/types/canvas/outcome.rb +1 -1
  66. data/lib/lms_graphql/types/canvas/outcome_alignment.rb +6 -4
  67. data/lib/lms_graphql/types/canvas/outcome_alignment_input.rb +6 -4
  68. data/lib/lms_graphql/types/canvas/outcome_group_input.rb +2 -2
  69. data/lib/lms_graphql/types/canvas/outcome_import_input.rb +4 -4
  70. data/lib/lms_graphql/types/canvas/outcome_input.rb +3 -3
  71. data/lib/lms_graphql/types/canvas/outcome_link_input.rb +4 -4
  72. data/lib/lms_graphql/types/canvas/outcome_path_input.rb +2 -2
  73. data/lib/lms_graphql/types/canvas/outcome_rollup_input.rb +4 -4
  74. data/lib/lms_graphql/types/canvas/outcome_rollup_score_input.rb +2 -2
  75. data/lib/lms_graphql/types/canvas/page_input.rb +4 -4
  76. data/lib/lms_graphql/types/canvas/page_revision_input.rb +2 -2
  77. data/lib/lms_graphql/types/canvas/page_view_input.rb +2 -2
  78. data/lib/lms_graphql/types/canvas/planner_note.rb +1 -1
  79. data/lib/lms_graphql/types/canvas/planner_note_input.rb +1 -1
  80. data/lib/lms_graphql/types/canvas/planner_override.rb +2 -1
  81. data/lib/lms_graphql/types/canvas/planner_override_input.rb +2 -1
  82. data/lib/lms_graphql/types/canvas/poll_session_input.rb +2 -2
  83. data/lib/lms_graphql/types/canvas/proficiency.rb +14 -0
  84. data/lib/lms_graphql/types/canvas/proficiency_input.rb +14 -0
  85. data/lib/lms_graphql/types/canvas/proficiency_rating.rb +17 -0
  86. data/lib/lms_graphql/types/canvas/proficiency_rating_input.rb +17 -0
  87. data/lib/lms_graphql/types/canvas/profile_input.rb +2 -2
  88. data/lib/lms_graphql/types/canvas/query_type.rb +51 -19
  89. data/lib/lms_graphql/types/canvas/quiz_assignment_override_set_container_input.rb +2 -2
  90. data/lib/lms_graphql/types/canvas/quiz_assignment_override_set_input.rb +4 -4
  91. data/lib/lms_graphql/types/canvas/quiz_input.rb +6 -6
  92. data/lib/lms_graphql/types/canvas/quiz_question_input.rb +2 -2
  93. data/lib/lms_graphql/types/canvas/quiz_report_input.rb +4 -4
  94. data/lib/lms_graphql/types/canvas/quiz_statistic_input.rb +6 -6
  95. data/lib/lms_graphql/types/canvas/quiz_statistics_question_statistic_input.rb +2 -2
  96. data/lib/lms_graphql/types/canvas/report_input.rb +4 -4
  97. data/lib/lms_graphql/types/canvas/result_input.rb +2 -2
  98. data/lib/lms_graphql/types/canvas/role_input.rb +2 -2
  99. data/lib/lms_graphql/types/canvas/rubric_criterium.rb +1 -0
  100. data/lib/lms_graphql/types/canvas/rubric_criterium_input.rb +3 -2
  101. data/lib/lms_graphql/types/canvas/rubric_input.rb +2 -2
  102. data/lib/lms_graphql/types/canvas/scope.rb +4 -1
  103. data/lib/lms_graphql/types/canvas/scope_input.rb +4 -1
  104. data/lib/lms_graphql/types/canvas/section_attribute_input.rb +6 -6
  105. data/lib/lms_graphql/types/canvas/sis_assignment_input.rb +6 -6
  106. data/lib/lms_graphql/types/canvas/sis_import.rb +1 -0
  107. data/lib/lms_graphql/types/canvas/sis_import_datum_input.rb +2 -2
  108. data/lib/lms_graphql/types/canvas/sis_import_input.rb +7 -6
  109. data/lib/lms_graphql/types/canvas/submission_comment_input.rb +2 -2
  110. data/lib/lms_graphql/types/canvas/submission_history_input.rb +2 -2
  111. data/lib/lms_graphql/types/canvas/submission_input.rb +2 -2
  112. data/lib/lms_graphql/types/canvas/terms_of_service.rb +18 -0
  113. data/lib/lms_graphql/types/canvas/terms_of_service_input.rb +18 -0
  114. data/lib/lms_graphql/types/canvas/user_assignment_override_attribute_input.rb +2 -2
  115. data/lib/lms_graphql/types/canvas/user_input.rb +2 -2
  116. data/lib/lms_graphql/types/canvas_forward_declarations.rb +5 -0
  117. data/lib/lms_graphql/version.rb +1 -1
  118. metadata +30 -2
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "federated_attributes_config_input"
2
+ require_relative "federated_attributes_config"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -24,7 +24,7 @@ module LMSGraphQL
24
24
  argument :login_attribute, String, "Valid for SAML providers..Example: nameid", required: false
25
25
  argument :sig_alg, String, "Valid for SAML providers..Example: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", required: false
26
26
  argument :jit_provisioning, Boolean, "Just In Time provisioning. Valid for all providers except Canvas (which has the similar in concept self_registration setting)..", required: false
27
- argument :federated_attributes, LMSGraphQL::Types::Canvas::CanvasFederatedAttributesConfigInput, "", required: false
27
+ argument :federated_attributes, LMSGraphQL::Types::Canvas::CanvasFederatedAttributesConfig, "", required: false
28
28
 
29
29
  end
30
30
  end
@@ -0,0 +1,16 @@
1
+ require_relative "../canvas_base_type"
2
+
3
+
4
+ module LMSGraphQL
5
+ module Types
6
+ module Canvas
7
+ class CanvasBlueprintSubscription < BaseType
8
+ description "Blueprint Courses. API Docs: https://canvas.instructure.com/doc/api/blueprint_courses.html"
9
+ field :id, ID, "The ID of the blueprint course subscription.Example: 101", null: true
10
+ field :template_id, ID, "The ID of the blueprint template the associated course is subscribed to.Example: 1", null: true
11
+ field :blueprint_course, String, "The blueprint course subscribed to.Example: 2, Biology 100 Blueprint, BIOL 100 BP, Default term", null: true
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ require_relative "../canvas_base_input_type"
2
+
3
+
4
+ module LMSGraphQL
5
+ module Types
6
+ module Canvas
7
+ class CanvasBlueprintSubscriptionInput < BaseInputObject
8
+ description "Blueprint Courses. API Docs: https://canvas.instructure.com/doc/api/blueprint_courses.html"
9
+ argument :id, ID, "The ID of the blueprint course subscription.Example: 101", required: false
10
+ argument :template_id, ID, "The ID of the blueprint template the associated course is subscribed to.Example: 1", required: false
11
+ argument :blueprint_course, String, "The blueprint course subscribed to.Example: 2, Biology 100 Blueprint, BIOL 100 BP, Default term", required: false
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "blueprint_migration_input"
2
+ require_relative "blueprint_migration"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "conference_recording_input"
2
+ require_relative "conference_recording"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -18,7 +18,7 @@ module LMSGraphQL
18
18
  argument :has_advanced_settings, Boolean, "True if the conference type has advanced settings..", required: false
19
19
  argument :long_running, Boolean, "If true the conference is long running and has no expected end time.", required: false
20
20
  argument :user_settings, String, "A collection of settings specific to the conference type.Example: true", required: false
21
- argument :recordings, [LMSGraphQL::Types::Canvas::CanvasConferenceRecordingInput], "A List of recordings for the conference.", required: false
21
+ argument :recordings, [LMSGraphQL::Types::Canvas::CanvasConferenceRecording], "A List of recordings for the conference.", required: false
22
22
  argument :url, String, "URL for the conference, may be null if the conference type doesn't set it.", required: false
23
23
  argument :join_url, String, "URL to join the conference, may be null if the conference type doesn't set it.", required: false
24
24
 
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "lock_info_input"
2
+ require_relative "lock_info"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -12,7 +12,7 @@ module LMSGraphQL
12
12
  argument :lock_at, LMSGraphQL::Types::DateTimeType, "Example: 2012-12-31T06:00:00-06:00", required: false
13
13
  argument :locked_for_user, Boolean, "Example: true", required: false
14
14
  argument :lock_explanation, String, "Example: This quiz is part of an unpublished module and is not available yet.", required: false
15
- argument :lock_info, LMSGraphQL::Types::Canvas::CanvasLockInfoInput, "Example: assignment_4, 2012-12-31T06:00:00-06:00, 2012-12-31T06:00:00-06:00, {}", required: false
15
+ argument :lock_info, LMSGraphQL::Types::Canvas::CanvasLockInfo, "Example: assignment_4, 2012-12-31T06:00:00-06:00, 2012-12-31T06:00:00-06:00, {}", required: false
16
16
 
17
17
  end
18
18
  end
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "file_input"
2
+ require_relative "file"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -20,7 +20,7 @@ module LMSGraphQL
20
20
  argument :id, ID, "the unique identifier for the export.Example: 101", required: false
21
21
  argument :created_at, LMSGraphQL::Types::DateTimeType, "the date and time this export was requested.Example: 2014-01-01T00:00:00Z", required: false
22
22
  argument :export_type, ContentExportExportTypeEnum, "the type of content migration: 'common_cartridge' or 'qti'.Example: common_cartridge", required: false
23
- argument :attachment, LMSGraphQL::Types::Canvas::CanvasFileInput, "attachment api object for the export package (not present before the export completes or after it becomes unavailable for download.).Example: https://example.com/api/v1/attachments/789?download_frd=1&verifier=bG9sY2F0cyEh", required: false
23
+ argument :attachment, LMSGraphQL::Types::Canvas::CanvasFile, "attachment api object for the export package (not present before the export completes or after it becomes unavailable for download.).Example: https://example.com/api/v1/attachments/789?download_frd=1&verifier=bG9sY2F0cyEh", required: false
24
24
  argument :progress_url, String, "The api endpoint for polling the current progress.Example: https://example.com/api/v1/progress/4", required: false
25
25
  argument :user_id, ID, "The ID of the user who started the export.Example: 4", required: false
26
26
  argument :workflow_state, ContentExportWorkflowStateEnum, "Current state of the content migration: created exporting exported failed.Example: exported", required: false
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "conversation_participant_input"
2
+ require_relative "conversation_participant"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -19,7 +19,7 @@ module LMSGraphQL
19
19
  argument :audience, Int, "Array of user ids who are involved in the conversation, ordered by participation level, then alphabetical. Excludes current user, unless this is a monologue..", required: false
20
20
  argument :audience_contexts, String, "Most relevant shared contexts (courses and groups) between current user and other participants. If there is only one participant, it will also include that user's enrollment(s)/ membership type(s) in each course/group..", required: false
21
21
  argument :avatar_url, String, "URL to appropriate icon for this conversation (custom, individual or group avatar, depending on audience)..Example: https://canvas.instructure.com/images/messages/avatar-group-50.png", required: false
22
- argument :participants, [LMSGraphQL::Types::Canvas::CanvasConversationParticipantInput], "Array of users participating in the conversation. Includes current user..", required: false
22
+ argument :participants, [LMSGraphQL::Types::Canvas::CanvasConversationParticipant], "Array of users participating in the conversation. Includes current user..", required: false
23
23
  argument :visible, Boolean, "indicates whether the conversation is visible under the current scope and filter. This attribute is always true in the index API response, and is primarily useful in create/update responses so that you can know if the record should be displayed in the UI. The default scope is assumed, unless a scope or filter is passed to the create/update API call..Example: true", required: false
24
24
  argument :context_name, String, "Name of the course or group in which the conversation is occurring..Example: Canvas 101", required: false
25
25
 
@@ -35,6 +35,7 @@ module LMSGraphQL
35
35
  field :root_account_id, ID, "the root account associated with the course.Example: 81259", null: true
36
36
  field :enrollment_term_id, ID, "the enrollment term associated with the course.Example: 34", null: true
37
37
  field :grading_standard_id, ID, "the grading standard associated with the course.Example: 25", null: true
38
+ field :created_at, LMSGraphQL::Types::DateTimeType, "the date the course was created..Example: 2012-05-01T00:00:00-06:00", null: true
38
39
  field :start_at, LMSGraphQL::Types::DateTimeType, "the start date for the course, if applicable.Example: 2012-06-01T00:00:00-06:00", null: true
39
40
  field :end_at, LMSGraphQL::Types::DateTimeType, "the end date for the course, if applicable.Example: 2012-09-01T00:00:00-06:00", null: true
40
41
  field :locale, String, "the course-set locale, if applicable.Example: en", null: true
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "epub_export_input"
2
+ require_relative "epub_export"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -8,7 +8,7 @@ module LMSGraphQL
8
8
  description "ePub Exports. API Docs: https://canvas.instructure.com/doc/api/e_pub_exports.html"
9
9
  argument :id, ID, "the unique identifier for the course.Example: 101", required: false
10
10
  argument :name, String, "the name for the course.Example: Maths 101", required: false
11
- argument :epub_export, LMSGraphQL::Types::Canvas::CanvasEpubExportInput, "ePub export API object.", required: false
11
+ argument :epub_export, LMSGraphQL::Types::Canvas::CanvasEpubExport, "ePub export API object.", required: false
12
12
 
13
13
  end
14
14
  end
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "course_event_link_input"
2
+ require_relative "course_event_link"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -11,7 +11,7 @@ module LMSGraphQL
11
11
  argument :event_type, String, "Course event type The event type defines the type and schema of the event_data object..Example: updated", required: false
12
12
  argument :event_data, String, "Course event data depending on the event type. This will return an object containing the relevant event data. An updated event type will return an UpdatedEventData object..Example: {}", required: false
13
13
  argument :event_source, String, "Course event source depending on the event type. This will return a string containing the source of the event..Example: manual|sis|api", required: false
14
- argument :links, LMSGraphQL::Types::Canvas::CanvasCourseEventLinkInput, "Jsonapi.org links.Example: 12345, 12345, e2b76430-27a5-0131-3ca1-48e0eb13f29b", required: false
14
+ argument :links, LMSGraphQL::Types::Canvas::CanvasCourseEventLink, "Jsonapi.org links.Example: 12345, 12345, e2b76430-27a5-0131-3ca1-48e0eb13f29b", required: false
15
15
 
16
16
  end
17
17
  end
@@ -1,8 +1,8 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "enrollment_input"
3
- require_relative "calendar_link_input"
4
- require_relative "term_input"
5
- require_relative "course_progress_input"
2
+ require_relative "enrollment"
3
+ require_relative "calendar_link"
4
+ require_relative "term"
5
+ require_relative "course_progress"
6
6
 
7
7
  module LMSGraphQL
8
8
  module Types
@@ -35,17 +35,18 @@ module LMSGraphQL
35
35
  argument :root_account_id, ID, "the root account associated with the course.Example: 81259", required: false
36
36
  argument :enrollment_term_id, ID, "the enrollment term associated with the course.Example: 34", required: false
37
37
  argument :grading_standard_id, ID, "the grading standard associated with the course.Example: 25", required: false
38
+ argument :created_at, LMSGraphQL::Types::DateTimeType, "the date the course was created..Example: 2012-05-01T00:00:00-06:00", required: false
38
39
  argument :start_at, LMSGraphQL::Types::DateTimeType, "the start date for the course, if applicable.Example: 2012-06-01T00:00:00-06:00", required: false
39
40
  argument :end_at, LMSGraphQL::Types::DateTimeType, "the end date for the course, if applicable.Example: 2012-09-01T00:00:00-06:00", required: false
40
41
  argument :locale, String, "the course-set locale, if applicable.Example: en", required: false
41
- argument :enrollments, [LMSGraphQL::Types::Canvas::CanvasEnrollmentInput], "A list of enrollments linking the current user to the course. for student enrollments, grading information may be included if include[]=total_scores.", required: false
42
+ argument :enrollments, [LMSGraphQL::Types::Canvas::CanvasEnrollment], "A list of enrollments linking the current user to the course. for student enrollments, grading information may be included if include[]=total_scores.", required: false
42
43
  argument :total_students, Int, "optional: the total number of active and invited students in the course.Example: 32", required: false
43
- argument :calendar, LMSGraphQL::Types::Canvas::CanvasCalendarLinkInput, "course calendar.", required: false
44
+ argument :calendar, LMSGraphQL::Types::Canvas::CanvasCalendarLink, "course calendar.", required: false
44
45
  argument :default_view, CourseDefaultViewEnum, "the type of page that users will see when they first visit the course - 'feed': Recent Activity Dashboard - 'wiki': Wiki Front Page - 'modules': Course Modules/Sections Page - 'assignments': Course Assignments List - 'syllabus': Course Syllabus Page other types may be added in the future.Example: feed", required: false
45
46
  argument :syllabus_body, String, "optional: user-generated HTML for the course syllabus.Example: <p>syllabus html goes here</p>", required: false
46
47
  argument :needs_grading_count, Int, "optional: the number of submissions needing grading returned only if the current user has grading rights and include[]=needs_grading_count.Example: 17", required: false
47
- argument :term, LMSGraphQL::Types::Canvas::CanvasTermInput, "optional: the enrollment term object for the course returned only if include[]=term.", required: false
48
- argument :course_progress, LMSGraphQL::Types::Canvas::CanvasCourseProgressInput, "optional (beta): information on progress through the course returned only if include[]=course_progress.", required: false
48
+ argument :term, LMSGraphQL::Types::Canvas::CanvasTerm, "optional: the enrollment term object for the course returned only if include[]=term.", required: false
49
+ argument :course_progress, LMSGraphQL::Types::Canvas::CanvasCourseProgress, "optional (beta): information on progress through the course returned only if include[]=course_progress.", required: false
49
50
  argument :apply_assignment_group_weights, Boolean, "weight final grade based on assignment group percentages.Example: true", required: false
50
51
  argument :permissions, String, "optional: the permissions the user has for the course. returned only for a single course and include[]=permissions.Example: true, true", required: false
51
52
  argument :is_public, Boolean, "Example: true", required: false
@@ -1,6 +1,6 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "lock_info_input"
3
- require_relative "file_attachment_input"
2
+ require_relative "lock_info"
3
+ require_relative "file_attachment"
4
4
 
5
5
  module LMSGraphQL
6
6
  module Types
@@ -43,7 +43,7 @@ module LMSGraphQL
43
43
  argument :locked, Boolean, "Whether or not the discussion is 'closed for comments'..", required: false
44
44
  argument :pinned, Boolean, "Whether or not the discussion has been 'pinned' by an instructor.", required: false
45
45
  argument :locked_for_user, Boolean, "Whether or not this is locked for the user..Example: true", required: false
46
- argument :lock_info, LMSGraphQL::Types::Canvas::CanvasLockInfoInput, "(Optional) Information for the user about the lock. Present when locked_for_user is true..", required: false
46
+ argument :lock_info, LMSGraphQL::Types::Canvas::CanvasLockInfo, "(Optional) Information for the user about the lock. Present when locked_for_user is true..", required: false
47
47
  argument :lock_explanation, String, "(Optional) An explanation of why this is locked for the user. Present when locked_for_user is true..Example: This discussion is locked until September 1 at 12:00am", required: false
48
48
  argument :user_name, String, "The username of the topic creator..Example: User Name", required: false
49
49
  argument :topic_children, Int, "DEPRECATED An array of topic_ids for the group discussions the user is a part of..Example: 5, 7, 10", required: false
@@ -52,7 +52,7 @@ module LMSGraphQL
52
52
  argument :podcast_url, String, "If the topic is a podcast topic this is the feed url for the current user..Example: /feeds/topics/1/enrollment_1XAcepje4u228rt4mi7Z1oFbRpn3RAkTzuXIGOPe.rss", required: false
53
53
  argument :discussion_type, DiscussionTopicDiscussionTypeEnum, "The type of discussion. Values are 'side_comment', for discussions that only allow one level of nested comments, and 'threaded' for fully threaded discussions..Example: side_comment", required: false
54
54
  argument :group_category_id, ID, "The unique identifier of the group category if the topic is a group discussion, otherwise null..", required: false
55
- argument :attachments, [LMSGraphQL::Types::Canvas::CanvasFileAttachmentInput], "Array of file attachments..", required: false
55
+ argument :attachments, [LMSGraphQL::Types::Canvas::CanvasFileAttachment], "Array of file attachments..", required: false
56
56
  argument :permissions, String, "The current user's permissions on this topic..Example: true", required: false
57
57
  argument :allow_rating, Boolean, "Whether or not users can rate entries in this topic..Example: true", required: false
58
58
  argument :only_graders_can_rate, Boolean, "Whether or not grade permissions are required to rate entries..Example: true", required: false
@@ -1,6 +1,6 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "grade_input"
3
- require_relative "user_input"
2
+ require_relative "grade"
3
+ require_relative "user"
4
4
 
5
5
  module LMSGraphQL
6
6
  module Types
@@ -33,8 +33,8 @@ module LMSGraphQL
33
33
  argument :last_attended_at, LMSGraphQL::Types::DateTimeType, "The last attended date of the user for the enrollment in a course, in ISO8601 format..Example: 2012-04-18T23:08:51Z", required: false
34
34
  argument :total_activity_time, Int, "The total activity time of the user for the enrollment, in seconds..Example: 260", required: false
35
35
  argument :html_url, String, "The URL to the Canvas web UI page for this course enrollment..Example: https://.", required: false
36
- argument :grades, LMSGraphQL::Types::Canvas::CanvasGradeInput, "The URL to the Canvas web UI page containing the grades associated with this enrollment..Example: https://., 35, , 6.67, ", required: false
37
- argument :user, LMSGraphQL::Types::Canvas::CanvasUserInput, "A description of the user..Example: 3, Student 1, 1, Student, Stud 1", required: false
36
+ argument :grades, LMSGraphQL::Types::Canvas::CanvasGrade, "The URL to the Canvas web UI page containing the grades associated with this enrollment..Example: https://., 35, , 6.67, ", required: false
37
+ argument :user, LMSGraphQL::Types::Canvas::CanvasUser, "A description of the user..Example: 3, Student 1, 1, Student, Stud 1", required: false
38
38
  argument :computed_current_score, Float, "optional: The student's score in the course, ignoring ungraded assignments. (applies only to student enrollments, and only available in course endpoints).Example: 90.25", required: false
39
39
  argument :computed_final_score, Float, "optional: The student's score in the course including ungraded assignments with a score of 0. (applies only to student enrollments, and only available in course endpoints).Example: 80.67", required: false
40
40
  argument :computed_current_grade, String, "optional: The letter grade equivalent of computed_current_score, if available. (applies only to student enrollments, and only available in course endpoints).Example: A-", required: false
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "file_input"
2
+ require_relative "file"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -16,7 +16,7 @@ module LMSGraphQL
16
16
  description "ePub Exports. API Docs: https://canvas.instructure.com/doc/api/e_pub_exports.html"
17
17
  argument :id, ID, "the unique identifier for the export.Example: 101", required: false
18
18
  argument :created_at, LMSGraphQL::Types::DateTimeType, "the date and time this export was requested.Example: 2014-01-01T00:00:00Z", required: false
19
- argument :attachment, LMSGraphQL::Types::Canvas::CanvasFileInput, "attachment api object for the export ePub (not present until the export completes).Example: https://example.com/api/v1/attachments/789?download_frd=1&verifier=bG9sY2F0cyEh", required: false
19
+ argument :attachment, LMSGraphQL::Types::Canvas::CanvasFile, "attachment api object for the export ePub (not present until the export completes).Example: https://example.com/api/v1/attachments/789?download_frd=1&verifier=bG9sY2F0cyEh", required: false
20
20
  argument :progress_url, String, "The api endpoint for polling the current progress.Example: https://example.com/api/v1/progress/4", required: false
21
21
  argument :user_id, ID, "The ID of the user who started the export.Example: 4", required: false
22
22
  argument :workflow_state, EpubExportWorkflowStateEnum, "Current state of the ePub export: created exporting exported generating generated failed.Example: exported", required: false
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "feature_flag_input"
2
+ require_relative "feature_flag"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -20,7 +20,7 @@ module LMSGraphQL
20
20
  * Course features may be controlled by flags on courses and their parent accounts.
21
21
  * User features may be controlled by flags on users and site admin only..Example: Course", required: false
22
22
  argument :enable_at, LMSGraphQL::Types::DateTimeType, "The date this feature will be globally enabled, or null if this is not planned. (This information is subject to change.).Example: 2014-01-01T00:00:00Z", required: false
23
- argument :feature_flag, LMSGraphQL::Types::Canvas::CanvasFeatureFlagInput, "The FeatureFlag that applies to the caller.Example: fancy_wickets, allowed", required: false
23
+ argument :feature_flag, LMSGraphQL::Types::Canvas::CanvasFeatureFlag, "The FeatureFlag that applies to the caller.Example: fancy_wickets, allowed", required: false
24
24
  argument :root_opt_in, Boolean, "If true, a feature that is 'allowed' globally will be 'off' by default in root accounts. Otherwise, root accounts inherit the global 'allowed' setting, which allows sub-accounts and courses to turn features on with no root account action..Example: true", required: false
25
25
  argument :beta, Boolean, "Whether the feature is a beta feature. If true, the feature may not be fully polished and may be subject to change in the future..Example: true", required: false
26
26
  argument :autoexpand, Boolean, "Whether the details of the feature are autoexpanded on page load vs. the user clicking to expand..Example: true", required: false
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "grade_change_event_link_input"
2
+ require_relative "grade_change_event_link"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -16,7 +16,7 @@ module LMSGraphQL
16
16
  argument :graded_anonymously, Boolean, "Boolean indicating whether the student name was visible when the grade was given. Could be null if the grade change record was created before this feature existed..Example: true", required: false
17
17
  argument :version_number, String, "Version Number of the grade change submission..Example: 1", required: false
18
18
  argument :request_id, ID, "The unique request id of the request during the grade change..Example: e2b76430-27a5-0131-3ca1-48e0eb13f29b", required: false
19
- argument :links, LMSGraphQL::Types::Canvas::CanvasGradeChangeEventLinkInput, "", required: false
19
+ argument :links, LMSGraphQL::Types::Canvas::CanvasGradeChangeEventLink, "", required: false
20
20
 
21
21
  end
22
22
  end
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "grading_scheme_entry_input"
2
+ require_relative "grading_scheme_entry"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -10,7 +10,7 @@ module LMSGraphQL
10
10
  argument :id, ID, "the id of the grading standard.Example: 1", required: false
11
11
  argument :context_type, String, "the context this standard is associated with, either 'Account' or 'Course'.Example: Account", required: false
12
12
  argument :context_id, ID, "the id for the context either the Account or Course id.Example: 1", required: false
13
- argument :grading_scheme, [LMSGraphQL::Types::Canvas::CanvasGradingSchemeEntryInput], "A list of GradingSchemeEntry that make up the Grading Standard as an array of values with the scheme name and value.Example: {'name'=>'A', 'value'=>0.9}, {'name'=>'B', 'value'=>0.8}, {'name'=>'C', 'value'=>0.7}, {'name'=>'D', 'value'=>0.6}", required: false
13
+ argument :grading_scheme, [LMSGraphQL::Types::Canvas::CanvasGradingSchemeEntry], "A list of GradingSchemeEntry that make up the Grading Standard as an array of values with the scheme name and value.Example: {'name'=>'A', 'value'=>0.9}, {'name'=>'B', 'value'=>0.8}, {'name'=>'C', 'value'=>0.7}, {'name'=>'D', 'value'=>0.6}", required: false
14
14
 
15
15
  end
16
16
  end
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "progress_input"
2
+ require_relative "progress"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -25,7 +25,7 @@ module LMSGraphQL
25
25
  argument :group_limit, Int, "If self-signup is enabled, group_limit can be set to cap the number of users in each group. If null, there is no limit..", required: false
26
26
  argument :sis_group_category_id, ID, "The SIS identifier for the group category. This field is only included if the user has permission to manage or view SIS information..", required: false
27
27
  argument :sis_import_id, ID, "The unique identifier for the SIS import. This field is only included if the user has permission to manage SIS information..", required: false
28
- argument :progress, LMSGraphQL::Types::Canvas::CanvasProgressInput, "If the group category has not yet finished a randomly student assignment request, a progress object will be attached, which will contain information related to the progress of the assignment request. Refer to the Progress API for more information.", required: false
28
+ argument :progress, LMSGraphQL::Types::Canvas::CanvasProgress, "If the group category has not yet finished a randomly student assignment request, a progress object will be attached, which will contain information related to the progress of the assignment request. Refer to the Progress API for more information.", required: false
29
29
 
30
30
  end
31
31
  end
@@ -0,0 +1,18 @@
1
+ require_relative "../canvas_base_type"
2
+ require_relative "help_link"
3
+ require_relative "help_link"
4
+
5
+ module LMSGraphQL
6
+ module Types
7
+ module Canvas
8
+ class CanvasHelpLink < BaseType
9
+ description "Accounts. API Docs: https://canvas.instructure.com/doc/api/accounts.html"
10
+ field :help_link_name, String, "Help link button title.Example: Help And Policies", null: true
11
+ field :help_link_icon, String, "Help link button icon.Example: help", null: true
12
+ field :custom_help_links, [LMSGraphQL::Types::Canvas::CanvasHelpLink], "Help links defined by the account. Could include default help links..Example: {'id'=>'link1', 'text'=>'Custom Link!', 'subtext'=>'Something something.', 'url'=>'https://google.com', 'type'=>'custom', 'available_to'=>['user', 'student', 'teacher', 'admin', 'observer', 'unenrolled']}", null: true
13
+ field :default_help_links, [LMSGraphQL::Types::Canvas::CanvasHelpLink], "Default help links provided when account has not set help links of their own..Example: {'available_to'=>['student'], 'text'=>'Ask Your Instructor a Question', 'subtext'=>'Questions are submitted to your instructor', 'url'=>'#teacher_feedback', 'type'=>'default', 'id'=>'instructor_question'}, {'available_to'=>['user', 'student', 'teacher', 'admin', 'observer', 'unenrolled'], 'text'=>'Search the Canvas Guides', 'subtext'=>'Find answers to common questions', 'url'=>'http://community.canvaslms.com/community/answers/guides', 'type'=>'default', 'id'=>'search_the_canvas_guides'}, {'available_to'=>['user', 'student', 'teacher', 'admin', 'observer', 'unenrolled'], 'text'=>'Report a Problem', 'subtext'=>'If Canvas misbehaves, tell us about it', 'url'=>'#create_ticket', 'type'=>'default', 'id'=>'report_a_problem'}", null: true
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../canvas_base_input_type"
2
+ require_relative "help_link"
3
+ require_relative "help_link"
4
+
5
+ module LMSGraphQL
6
+ module Types
7
+ module Canvas
8
+ class CanvasHelpLinkInput < BaseInputObject
9
+ description "Accounts. API Docs: https://canvas.instructure.com/doc/api/accounts.html"
10
+ argument :help_link_name, String, "Help link button title.Example: Help And Policies", required: false
11
+ argument :help_link_icon, String, "Help link button icon.Example: help", required: false
12
+ argument :custom_help_links, [LMSGraphQL::Types::Canvas::CanvasHelpLink], "Help links defined by the account. Could include default help links..Example: {'id'=>'link1', 'text'=>'Custom Link!', 'subtext'=>'Something something.', 'url'=>'https://google.com', 'type'=>'custom', 'available_to'=>['user', 'student', 'teacher', 'admin', 'observer', 'unenrolled']}", required: false
13
+ argument :default_help_links, [LMSGraphQL::Types::Canvas::CanvasHelpLink], "Default help links provided when account has not set help links of their own..Example: {'available_to'=>['student'], 'text'=>'Ask Your Instructor a Question', 'subtext'=>'Questions are submitted to your instructor', 'url'=>'#teacher_feedback', 'type'=>'default', 'id'=>'instructor_question'}, {'available_to'=>['user', 'student', 'teacher', 'admin', 'observer', 'unenrolled'], 'text'=>'Search the Canvas Guides', 'subtext'=>'Find answers to common questions', 'url'=>'http://community.canvaslms.com/community/answers/guides', 'type'=>'default', 'id'=>'search_the_canvas_guides'}, {'available_to'=>['user', 'student', 'teacher', 'admin', 'observer', 'unenrolled'], 'text'=>'Report a Problem', 'subtext'=>'If Canvas misbehaves, tell us about it', 'url'=>'#create_ticket', 'type'=>'default', 'id'=>'report_a_problem'}", required: false
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -12,6 +12,8 @@ module LMSGraphQL
12
12
  field :points_possible, Int, "Example: 10", null: true
13
13
  field :due_at, LMSGraphQL::Types::DateTimeType, "The due date for the assignment. If a user id is supplied and an assignment override is in place this field will reflect the due date as it applies to the user..Example: 2012-07-01T23:59:00-06:00", null: true
14
14
  field :lti_id, ID, "Example: 86157096483e6b3a50bfedc6bac902c0b20a824f", null: true
15
+ field :course_id, ID, "Example: 10000000000060", null: true
16
+ field :lti_course_id, ID, "Example: 66157096483e6b3a50bfedc6bac902c0b20a8241", null: true
15
17
 
16
18
  end
17
19
  end
@@ -12,6 +12,8 @@ module LMSGraphQL
12
12
  argument :points_possible, Int, "Example: 10", required: false
13
13
  argument :due_at, LMSGraphQL::Types::DateTimeType, "The due date for the assignment. If a user id is supplied and an assignment override is in place this field will reflect the due date as it applies to the user..Example: 2012-07-01T23:59:00-06:00", required: false
14
14
  argument :lti_id, ID, "Example: 86157096483e6b3a50bfedc6bac902c0b20a824f", required: false
15
+ argument :course_id, ID, "Example: 10000000000060", required: false
16
+ argument :lti_course_id, ID, "Example: 66157096483e6b3a50bfedc6bac902c0b20a8241", required: false
15
17
 
16
18
  end
17
19
  end
@@ -1,5 +1,5 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "module_item_input"
2
+ require_relative "module_item"
3
3
 
4
4
  module LMSGraphQL
5
5
  module Types
@@ -26,7 +26,7 @@ module LMSGraphQL
26
26
  argument :prerequisite_module_ids, [ID], "IDs of Modules that must be completed before this one is unlocked.Example: 121, 122", required: false
27
27
  argument :items_count, Int, "The number of items in the module.Example: 10", required: false
28
28
  argument :items_url, String, "The API URL to retrive this module's items.Example: https://canvas.example.com/api/v1/modules/123/items", required: false
29
- argument :items, [LMSGraphQL::Types::Canvas::CanvasModuleItemInput], "The contents of this module, as an array of Module Items. (Present only if requested via include[]=items AND the module is not deemed too large by Canvas.).", required: false
29
+ argument :items, [LMSGraphQL::Types::Canvas::CanvasModuleItem], "The contents of this module, as an array of Module Items. (Present only if requested via include[]=items AND the module is not deemed too large by Canvas.).", required: false
30
30
  argument :state, ModuleStateEnum, "The state of this Module for the calling user one of 'locked', 'unlocked', 'started', 'completed' (Optional; present only if the caller is a student or if the optional parameter 'student_id' is included).Example: started", required: false
31
31
  argument :completed_at, LMSGraphQL::Types::DateTimeType, "the date the calling user completed the module (Optional; present only if the caller is a student or if the optional parameter 'student_id' is included).", required: false
32
32
  argument :publish_final_grade, Boolean, "if the student's final grade for the course should be published to the SIS upon completion of this module.", required: false
@@ -1,6 +1,6 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "completion_requirement_input"
3
- require_relative "content_detail_input"
2
+ require_relative "completion_requirement"
3
+ require_relative "content_detail"
4
4
 
5
5
  module LMSGraphQL
6
6
  module Types
@@ -29,8 +29,8 @@ module LMSGraphQL
29
29
  argument :page_url, String, "(only for 'Page' type) unique locator for the linked wiki page.Example: my-page-title", required: false
30
30
  argument :external_url, String, "(only for 'ExternalUrl' and 'ExternalTool' types) external url that the item points to.Example: https://www.example.com/externalurl", required: false
31
31
  argument :new_tab, Boolean, "(only for 'ExternalTool' type) whether the external tool opens in a new tab.", required: false
32
- argument :completion_requirement, LMSGraphQL::Types::Canvas::CanvasCompletionRequirementInput, "Completion requirement for this module item.Example: min_score, 10, true", required: false
33
- argument :content_details, LMSGraphQL::Types::Canvas::CanvasContentDetailInput, "(Present only if requested through include[]=content_details) If applicable, returns additional details specific to the associated object.Example: 20, 2012-12-31T06:00:00-06:00, 2012-12-31T06:00:00-06:00, 2012-12-31T06:00:00-06:00", required: false
32
+ argument :completion_requirement, LMSGraphQL::Types::Canvas::CanvasCompletionRequirement, "Completion requirement for this module item.Example: min_score, 10, true", required: false
33
+ argument :content_details, LMSGraphQL::Types::Canvas::CanvasContentDetail, "(Present only if requested through include[]=content_details) If applicable, returns additional details specific to the associated object.Example: 20, 2012-12-31T06:00:00-06:00, 2012-12-31T06:00:00-06:00, 2012-12-31T06:00:00-06:00", required: false
34
34
  argument :published, Boolean, "(Optional) Whether this module item is published. This field is present only if the caller has permission to view unpublished items..Example: true", required: false
35
35
 
36
36
  end
@@ -1,14 +1,14 @@
1
1
  require_relative "../canvas_base_input_type"
2
- require_relative "module_item_sequence_node_input"
3
- require_relative "module_input"
2
+ require_relative "module_item_sequence_node"
3
+ require_relative "module"
4
4
 
5
5
  module LMSGraphQL
6
6
  module Types
7
7
  module Canvas
8
8
  class CanvasModuleItemSequenceInput < BaseInputObject
9
9
  description "Modules. API Docs: https://canvas.instructure.com/doc/api/modules.html"
10
- argument :items, [LMSGraphQL::Types::Canvas::CanvasModuleItemSequenceNodeInput], "an array containing one ModuleItemSequenceNode for each appearence of the asset in the module sequence (up to 10 total).Example: {'prev'=>nil, 'current'=>{'id'=>768, 'module_id'=>123, 'title'=>'A lonely page', 'type'=>'Page'}, 'next'=>{'id'=>769, 'module_id'=>127, 'title'=>'Project 1', 'type'=>'Assignment'}, 'mastery_path'=>{'locked'=>true, 'assignment_sets'=>[], 'selected_set_id'=>nil, 'awaiting_choice'=>false, 'still_processing'=>false, 'modules_url'=>'/courses/11/modules', 'choose_url'=>'/courses/11/modules/items/9/choose', 'modules_tab_disabled'=>false}}", required: false
11
- argument :modules, [LMSGraphQL::Types::Canvas::CanvasModuleInput], "an array containing each Module referenced above.Example: {'id'=>123, 'name'=>'Overview'}, {'id'=>127, 'name'=>'Imaginary Numbers'}", required: false
10
+ argument :items, [LMSGraphQL::Types::Canvas::CanvasModuleItemSequenceNode], "an array containing one ModuleItemSequenceNode for each appearence of the asset in the module sequence (up to 10 total).Example: {'prev'=>nil, 'current'=>{'id'=>768, 'module_id'=>123, 'title'=>'A lonely page', 'type'=>'Page'}, 'next'=>{'id'=>769, 'module_id'=>127, 'title'=>'Project 1', 'type'=>'Assignment'}, 'mastery_path'=>{'locked'=>true, 'assignment_sets'=>[], 'selected_set_id'=>nil, 'awaiting_choice'=>false, 'still_processing'=>false, 'modules_url'=>'/courses/11/modules', 'choose_url'=>'/courses/11/modules/items/9/choose', 'modules_tab_disabled'=>false}}", required: false
11
+ argument :modules, [LMSGraphQL::Types::Canvas::CanvasModule], "an array containing each Module referenced above.Example: {'id'=>123, 'name'=>'Overview'}, {'id'=>127, 'name'=>'Imaginary Numbers'}", required: false
12
12
 
13
13
  end
14
14
  end