codegrade 16.1.49__tar.gz → 16.1.52__tar.gz
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.
- {codegrade-16.1.49 → codegrade-16.1.52}/PKG-INFO +1 -1
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/__init__.py +1 -1
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/client.py +2 -2
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/__init__.py +6 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/all_site_settings.py +47 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_perm_map.py +15 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_permission.py +1 -0
- codegrade-16.1.52/codegrade/models/lti1p3_nonce_and_state_validation_enabled_setting.py +57 -0
- codegrade-16.1.52/codegrade/models/lti1p3_prevent_nonce_reuse_enabled_setting.py +57 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/site_setting_input.py +10 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/pyproject.toml +1 -1
- {codegrade-16.1.49 → codegrade-16.1.52}/setup.py +1 -1
- {codegrade-16.1.49 → codegrade-16.1.52}/README.md +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_dt_utils/__init__.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_maybe/__init__.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_maybe/_just.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_maybe/_maybe.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_maybe/_nothing.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_maybe/_type_helpers.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_maybe/cg_maybe_plugin.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_maybe/utils.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/__init__.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_any_value.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_convert.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_enum.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_form.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_lazy.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_list.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_literal.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_mapping.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_multipart.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_nullable.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_parse_utils.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_query.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_rich_value.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_swagger_utils.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_swaggerize.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/_utils.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/exceptions.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/cg_request_args/request_args_plugin.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/__init__.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/about.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/assignment.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/auto_test.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/comment.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/course.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/course_price.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/file.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/git_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/group.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/group_set.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/login_link.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/lti.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/notification.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/oauth_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/oauth_token.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/permission.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/plagiarism.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/role.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/section.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/site_settings.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/snippet.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/sso_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/submission.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/task_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/tenant.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/transaction.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/user.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/user_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/_api/webhook.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/errors.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/_base_price.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/_saml_ui_logo_info.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/_submission_rubric_item_data_parser.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/about.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/abstract_role.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/add_users_section_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/all_auto_test_results.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/any_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/any_error.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/any_non_redacted_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/any_redacted_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/api_codes.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_anonymization_algo.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_default_grading_scale_points_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_default_grading_scale_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_description_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_description_on_teachers_submissions_page_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_done_type.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_export_column.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_feedback.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_grader.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_grading_scale_points_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_kind.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_login_link.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_max_points_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_peer_feedback_connection.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_peer_feedback_settings.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_percentage_decimals_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_percentage_grading_settings.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_point_decimals_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_points_grading_settings.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_section_timeframe.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_state_enum.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_submission_mode.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_template.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_timeframes.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/at_image_caching_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_capture_points_message_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_checkpoint_message_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_code_quality_message_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_fixture.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_global_setup_output.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_global_setup_script.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_heartbeat_interval_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_heartbeat_max_missed_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_io_test_message_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_io_test_sub_message_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_max_concurrent_batch_runs_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_max_global_setup_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_max_jobs_per_runner_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_max_per_student_setup_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_max_result_not_started_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_max_time_command_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_max_unit_test_metadata_length_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_quality_comment.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_result_state.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_result_with_extra_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_run.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_run_program_message_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_runner.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_runner_state.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_set.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_step_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_step_base_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_step_base_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_step_log_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_step_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_step_result_state.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_step_validation_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_suite.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_unit_test_message_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/automatic_lti1p3_assignment_import_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/automatic_lti_role_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_about.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_auto_test_quality_comment.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_comment_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_comment_base_with_normal_replies.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_comment_reply.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_course_coupon.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_directory.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_error.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_file.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_lms_capabilities.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_lti1p1_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_lti1p3_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_lti_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_notification.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_release_info.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_rubric_item.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/base_tenant_coupon.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/blackboard_zip_upload_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/bulk_enroll_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/canvas_course_id_copying_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/cg_ignore_version.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/change_user_role_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/check_points_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/check_points_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/check_points_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/check_points_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/clone_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/code_editor_output_viewer_title_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/code_quality_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/code_quality_base_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/code_quality_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/code_quality_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/code_quality_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/code_quality_penalties.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/column_range.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/comment_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/comment_reply.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/comment_reply_edit.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/comment_reply_type.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/comment_type.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/community_library_publishing_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/community_library_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/connect_repository_git_provider_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/copy_auto_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/copy_rubric_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/coupon_data_parser.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/coupon_with_code.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/coupon_without_code.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_bulk_enroll_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_bulk_register_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_coupon.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_coupon_usage.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_gradebook_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_gradebook_render_warning_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_of_course_price.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_of_tenant_coupon_usage.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_price.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_register_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_register_response.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_registration_link.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_role.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_role_as_json_with_perms.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_section.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_section_division.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_section_division_connection.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_section_division_user.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_snippet.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_state.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/course_statistics_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_assignment_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_auto_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_comment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_comment_reply_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_division_section_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_group_group_set_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_group_set_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_lti_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_output_html_proxy_auto_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_proxy_submission_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_repository_git_provider_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_role_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_section_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_snippet_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_snippet_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_sso_provider_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/create_tenant_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/csv_large_file_limit_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/csv_too_many_errors_limit_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/currency.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/custom_output_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/custom_output_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/custom_output_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/custom_output_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/custom_output_log.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/custom_output_log_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/default_course_ta_role_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/default_course_teacher_role_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/deleted_comment_reply.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/deletion_type.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/directory_with_children.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/disabled_setting_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/editor_enabled_for_teachers_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/editor_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/email_notification_types.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/email_students_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/email_users_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/exam_login_max_length_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/export_assignment_csv_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/export_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/export_assignment_files_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_auto_test_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_auto_test_run.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_course.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_course_registration_link.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_course_section.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_group.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_job.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_non_deleted_comment_reply.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_tenant.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_transaction.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_user.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extended_work.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extract_file_tree_directory.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/extract_file_tree_file.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/failed_to_send_email_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/feedback_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/feedback_threads_initially_collapsed_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/feedback_with_replies.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/feedback_without_replies.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/file_deletion.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/file_rule.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/file_rule_input_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/file_tree.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/file_type.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/finalized_lti1p1_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/finalized_lti1p3_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/first_phase_lti_launch_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/fixed_availability.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/fixed_grade_availability.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/fixture_like.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/fraction.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/frontend_site_settings.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/general_feedback_comment_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/general_feedback_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/general_feedback_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/git_repositories_page.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/git_repository_like.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/git_user_info.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/github_template_repo_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/global_perm_map.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/global_permission.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/grade_history.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/grade_origin.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/grade_viewer_and_editor_on_submission_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/grading_notifications_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/group.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/group_not_ready_for_submission_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/group_set.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/groups_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/has_unread_notifcation_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/health_information.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/hide_code_editor_output_viewer_with_only_quiz_steps_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/hide_empty_rubric_row_description_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/ignore_handling.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/ignored_files_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/import_into_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/import_into_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/incremental_rubric_submission_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/inline_feedback_comment_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/inline_feedback_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/inline_feedback_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/inline_rubric_viewer_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/invalid_group_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/invalid_io_cases_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/invalid_options_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_base_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_input_case.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_log.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_option.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_step_log.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/io_test_step_log_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/is_admin_permission_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/job.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/json_create_auto_test.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/json_create_tenant.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/json_patch_auto_test.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/json_patch_submit_types_assignment.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/junit_test_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/junit_test_base_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/junit_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/junit_test_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/junit_test_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/junit_test_log.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/junit_test_log_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/jwt_access_token_expires_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/legacy_features.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/line_range.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/linter_comment.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/linters_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lms_capabilities.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/login_token_before_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/login_user_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/logout_response.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/logout_user_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti1p1_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti1p1_provider_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti1p3_parse_most_privileged_role_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti1p3_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti1p3_provider_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti1p3_provider_presentation_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti1p3_system_role_from_context_role_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti_first_launch_content_id_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti_launch_data_logging_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti_lock_date_copying_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti_provider_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/lti_unset_deadline_lock_date_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_document_update_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_dynamo_file_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_dynamo_submission_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_file_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_large_upload_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_lines_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_mirror_file_age_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_normal_upload_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_number_of_files_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_plagiarism_matches_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/max_user_setting_amount_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/min_password_score_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/mirror_file_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/missing_cookie_error.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/missing_file.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_allowed_initial_build_ids_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_build_max_command_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_build_output_limit_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_copying_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_current_initial_build_ids_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_diff_viewer_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_initial_build_id_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_max_dynamodb_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_max_file_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_max_output_files_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_max_storage_size_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_old_submission_age_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_test_max_command_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_test_output_limit_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/new_auto_test_uncollapsing_step_output_delay_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/no_permissions.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/non_deleted_comment_reply.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/non_finalized_lti1p1_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/non_finalized_lti1p3_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/non_present_preference.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notification.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notification_comment_reply_notification_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notification_general_feedback_reply_notification_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notification_poll_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notification_reasons.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notification_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notification_setting_option.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/notifications_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/oauth_provider.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/oauth_token.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/option.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/options_input_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/output_viewer_animation_limit_lines_count_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/parse_api_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch1_p1_provider_lti_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch1_p3_provider_lti_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_all_notification_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_auto_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_comment_reply_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_grader_submission_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_notification_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_notification_setting_user_setting_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_provider_lti_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_role_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_role_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_role_tenant_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_rubric_category_type_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_rubric_result_submission_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_section_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_settings_tenant_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_site_settings_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_snippet_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_snippet_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_submission_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_submit_types_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_tenant_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_ui_preference_user_setting_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/patch_user_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/pay_with_coupon_course_price_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/pearson_templates_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/peer_feedback_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/permission_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_bulk_export_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_bulk_export_max_cases_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_case.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_pdf_export_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_run.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_run_plagiarism_assignment_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_run_plagiarism_course_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/plagiarism_state.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/post_oauth_token_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/present_preference.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/proxy.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/put_description_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/put_enroll_link_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/put_price_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/put_price_tenant_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/put_rubric_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/quality_comment_severity.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/quality_comments_in_code_editor_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/quality_test_log.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/quality_test_log_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/register_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/register_user_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/register_user_with_link_course_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/release_info.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/release_message_max_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rename_group_group_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/render_html_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/repository_connection_limit_reached_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/reset_token_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/result_data_get_auto_test_get.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/result_data_get_task_result_get_all.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/result_data_post_login_link_login.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/result_data_post_section_create_division.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/result_data_post_user_login.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/result_data_post_user_register.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/role_as_json_with_perms.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/root_file_trees_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_description_type.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_enabled_for_teacher_on_submissions_page_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_item.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_item_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_lock_reason.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_row_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_row_base_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubric_row_base_input_base_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rubrics_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/rule_type.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/run_program_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/run_program_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/run_program_extra.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/run_program_input_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/run_program_log.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/saml2_provider_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/saml_ui_info.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/sections_in_submission_list_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/send_registration_email_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/server_time_correction_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/server_time_diff_tolerance_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/server_time_sync_interval_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/setting_token_time_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/setup_oauth_result.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/simple_submission_mode_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/simple_submission_navigate_to_latest_editor_session_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/site_email_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/snippet.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/sso_infer_global_staff_role_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/sso_username_decollision_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/staged_assignment_importer_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/start_payment_course_price_close_tab_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/start_payment_course_price_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/start_payment_course_price_redirect_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/started_transaction.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/student_payment_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/submission_validator_input_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/submissions_page_v2_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/submissions_per_page_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/task_result_state.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tax_behavior.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_coupon.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_coupon_usage.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_coupon_with_code.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_coupon_without_code.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_course_statistics.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_of_tenant_price.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_permissions.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_price.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_role_as_json_with_perms.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/tenant_statistics.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/test_submission_copying_on_import_enabled_setting.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/timed_availability.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/timeframe_like.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/token_revoked_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/transaction.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/transaction_state.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/types.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/update_peer_feedback_settings_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/update_set_auto_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/update_suite_auto_test_base_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/update_suite_auto_test_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/upgraded_lti_provider_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/upload_submission_assignment_data.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/user.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/user_course.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/user_info_with_role.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/user_input.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/user_without_group.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/weak_password_exception.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/weak_password_feedback.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/webhook_base.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/webhook_configuration_disabled_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/webhook_configuration_enabled_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/work.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/work_origin.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/work_rubric_item.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/work_rubric_result_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/work_rubric_result_points_as_json.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/parsers.py +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/py.typed +0 -0
- {codegrade-16.1.49 → codegrade-16.1.52}/codegrade/utils.py +0 -0
|
@@ -526,7 +526,7 @@ class Client(_BaseClient):
|
|
|
526
526
|
return httpx.Client(
|
|
527
527
|
base_url=self.base_url,
|
|
528
528
|
headers={
|
|
529
|
-
"User-Agent": "CodeGradeAPI/16.1.
|
|
529
|
+
"User-Agent": "CodeGradeAPI/16.1.52",
|
|
530
530
|
},
|
|
531
531
|
follow_redirects=True,
|
|
532
532
|
)
|
|
@@ -546,7 +546,7 @@ class AuthenticatedClient(_BaseClient):
|
|
|
546
546
|
base_url=self.base_url,
|
|
547
547
|
headers={
|
|
548
548
|
"Authorization": f"Bearer {self.token}",
|
|
549
|
-
"User-Agent": "CodeGradeAPI/16.1.
|
|
549
|
+
"User-Agent": "CodeGradeAPI/16.1.52",
|
|
550
550
|
},
|
|
551
551
|
follow_redirects=True,
|
|
552
552
|
)
|
|
@@ -398,9 +398,15 @@ from .logout_response import LogoutResponse
|
|
|
398
398
|
from .logout_user_data import LogoutUserData
|
|
399
399
|
from .lti1p1_provider import LTI1p1Provider
|
|
400
400
|
from .lti1p1_provider_data import LTI1p1ProviderData
|
|
401
|
+
from .lti1p3_nonce_and_state_validation_enabled_setting import (
|
|
402
|
+
Lti1p3NonceAndStateValidationEnabledSetting,
|
|
403
|
+
)
|
|
401
404
|
from .lti1p3_parse_most_privileged_role_setting import (
|
|
402
405
|
Lti1p3ParseMostPrivilegedRoleSetting,
|
|
403
406
|
)
|
|
407
|
+
from .lti1p3_prevent_nonce_reuse_enabled_setting import (
|
|
408
|
+
Lti1p3PreventNonceReuseEnabledSetting,
|
|
409
|
+
)
|
|
404
410
|
from .lti1p3_provider import LTI1p3Provider
|
|
405
411
|
from .lti1p3_provider_data import LTI1p3ProviderData
|
|
406
412
|
from .lti1p3_provider_presentation_as_json import (
|
|
@@ -141,6 +141,15 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
141
141
|
default_course_ta_role: Maybe[
|
|
142
142
|
"t.Literal['Full TA', 'Non-Editing TA']"
|
|
143
143
|
] = Nothing
|
|
144
|
+
#: Whether LTI 1.3 launches using cookies (and sessions) should check for
|
|
145
|
+
#: correct nonce and state. When disabling this feature flag, please be
|
|
146
|
+
#: mindful. These validations protect us from certain attacks. If unsure,
|
|
147
|
+
#: consult with the Security Officer before disabling.
|
|
148
|
+
lti_1p3_nonce_and_state_validation_enabled: Maybe["bool"] = Nothing
|
|
149
|
+
#: Whether LTI 1.3 launches should check nonces against the cached value.
|
|
150
|
+
#: Enabling this prevents replay attacks. If unsure, consult with the
|
|
151
|
+
#: Security Officer before disabling.
|
|
152
|
+
lti_1p3_prevent_nonce_reuse_enabled: Maybe["bool"] = Nothing
|
|
144
153
|
|
|
145
154
|
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
146
155
|
|
|
@@ -473,6 +482,28 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
473
482
|
" Existing courses will not be affected."
|
|
474
483
|
),
|
|
475
484
|
),
|
|
485
|
+
rqa.OptionalArgument(
|
|
486
|
+
"LTI_1P3_NONCE_AND_STATE_VALIDATION_ENABLED",
|
|
487
|
+
rqa.SimpleValue.bool,
|
|
488
|
+
doc=(
|
|
489
|
+
"Whether LTI 1.3 launches using cookies (and sessions)"
|
|
490
|
+
" should check for correct nonce and state. When"
|
|
491
|
+
" disabling this feature flag, please be mindful."
|
|
492
|
+
" These validations protect us from certain attacks."
|
|
493
|
+
" If unsure, consult with the Security Officer before"
|
|
494
|
+
" disabling."
|
|
495
|
+
),
|
|
496
|
+
),
|
|
497
|
+
rqa.OptionalArgument(
|
|
498
|
+
"LTI_1P3_PREVENT_NONCE_REUSE_ENABLED",
|
|
499
|
+
rqa.SimpleValue.bool,
|
|
500
|
+
doc=(
|
|
501
|
+
"Whether LTI 1.3 launches should check nonces against"
|
|
502
|
+
" the cached value. Enabling this prevents replay"
|
|
503
|
+
" attacks. If unsure, consult with the Security"
|
|
504
|
+
" Officer before disabling."
|
|
505
|
+
),
|
|
506
|
+
),
|
|
476
507
|
)
|
|
477
508
|
).use_readable_describe(True)
|
|
478
509
|
)
|
|
@@ -582,6 +613,12 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
582
613
|
self.default_course_ta_role = maybe_from_nullable(
|
|
583
614
|
self.default_course_ta_role
|
|
584
615
|
)
|
|
616
|
+
self.lti_1p3_nonce_and_state_validation_enabled = maybe_from_nullable(
|
|
617
|
+
self.lti_1p3_nonce_and_state_validation_enabled
|
|
618
|
+
)
|
|
619
|
+
self.lti_1p3_prevent_nonce_reuse_enabled = maybe_from_nullable(
|
|
620
|
+
self.lti_1p3_prevent_nonce_reuse_enabled
|
|
621
|
+
)
|
|
585
622
|
|
|
586
623
|
def to_dict(self) -> t.Dict[str, t.Any]:
|
|
587
624
|
res: t.Dict[str, t.Any] = {}
|
|
@@ -1053,6 +1090,14 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
1053
1090
|
res["DEFAULT_COURSE_TA_ROLE"] = to_dict(
|
|
1054
1091
|
self.default_course_ta_role.value
|
|
1055
1092
|
)
|
|
1093
|
+
if self.lti_1p3_nonce_and_state_validation_enabled.is_just:
|
|
1094
|
+
res["LTI_1P3_NONCE_AND_STATE_VALIDATION_ENABLED"] = to_dict(
|
|
1095
|
+
self.lti_1p3_nonce_and_state_validation_enabled.value
|
|
1096
|
+
)
|
|
1097
|
+
if self.lti_1p3_prevent_nonce_reuse_enabled.is_just:
|
|
1098
|
+
res["LTI_1P3_PREVENT_NONCE_REUSE_ENABLED"] = to_dict(
|
|
1099
|
+
self.lti_1p3_prevent_nonce_reuse_enabled.value
|
|
1100
|
+
)
|
|
1056
1101
|
return res
|
|
1057
1102
|
|
|
1058
1103
|
@classmethod
|
|
@@ -1185,6 +1230,8 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
1185
1230
|
pearson_templates=parsed.PEARSON_TEMPLATES,
|
|
1186
1231
|
default_course_teacher_role=parsed.DEFAULT_COURSE_TEACHER_ROLE,
|
|
1187
1232
|
default_course_ta_role=parsed.DEFAULT_COURSE_TA_ROLE,
|
|
1233
|
+
lti_1p3_nonce_and_state_validation_enabled=parsed.LTI_1P3_NONCE_AND_STATE_VALIDATION_ENABLED,
|
|
1234
|
+
lti_1p3_prevent_nonce_reuse_enabled=parsed.LTI_1P3_PREVENT_NONCE_REUSE_ENABLED,
|
|
1188
1235
|
)
|
|
1189
1236
|
res.raw_data = d
|
|
1190
1237
|
return res
|
|
@@ -283,6 +283,9 @@ class CoursePermMap:
|
|
|
283
283
|
#: Users with this permission are allowed to see the details of Pearson
|
|
284
284
|
#: templates in a course (context).
|
|
285
285
|
can_view_pearson_context_templates: "bool"
|
|
286
|
+
#: Users with this permission are allowed to edit the details ofr Pearson
|
|
287
|
+
#: templates in a course (context).
|
|
288
|
+
can_edit_pearson_context_templates: "bool"
|
|
286
289
|
|
|
287
290
|
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
288
291
|
|
|
@@ -1017,6 +1020,14 @@ class CoursePermMap:
|
|
|
1017
1020
|
" of Pearson templates in a course (context)."
|
|
1018
1021
|
),
|
|
1019
1022
|
),
|
|
1023
|
+
rqa.RequiredArgument(
|
|
1024
|
+
"can_edit_pearson_context_templates",
|
|
1025
|
+
rqa.SimpleValue.bool,
|
|
1026
|
+
doc=(
|
|
1027
|
+
"Users with this permission are allowed to edit the"
|
|
1028
|
+
" details ofr Pearson templates in a course (context)."
|
|
1029
|
+
),
|
|
1030
|
+
),
|
|
1020
1031
|
).use_readable_describe(True)
|
|
1021
1032
|
)
|
|
1022
1033
|
|
|
@@ -1188,6 +1199,9 @@ class CoursePermMap:
|
|
|
1188
1199
|
"can_view_pearson_context_templates": to_dict(
|
|
1189
1200
|
self.can_view_pearson_context_templates
|
|
1190
1201
|
),
|
|
1202
|
+
"can_edit_pearson_context_templates": to_dict(
|
|
1203
|
+
self.can_edit_pearson_context_templates
|
|
1204
|
+
),
|
|
1191
1205
|
}
|
|
1192
1206
|
return res
|
|
1193
1207
|
|
|
@@ -1284,6 +1298,7 @@ class CoursePermMap:
|
|
|
1284
1298
|
can_view_all_assignment_timeframes=parsed.can_view_all_assignment_timeframes,
|
|
1285
1299
|
can_create_test_submissions=parsed.can_create_test_submissions,
|
|
1286
1300
|
can_view_pearson_context_templates=parsed.can_view_pearson_context_templates,
|
|
1301
|
+
can_edit_pearson_context_templates=parsed.can_edit_pearson_context_templates,
|
|
1287
1302
|
)
|
|
1288
1303
|
res.raw_data = d
|
|
1289
1304
|
return res
|
|
@@ -106,3 +106,4 @@ class CoursePermission(str, Enum):
|
|
|
106
106
|
can_view_all_assignment_timeframes = "can_view_all_assignment_timeframes"
|
|
107
107
|
can_create_test_submissions = "can_create_test_submissions"
|
|
108
108
|
can_view_pearson_context_templates = "can_view_pearson_context_templates"
|
|
109
|
+
can_edit_pearson_context_templates = "can_edit_pearson_context_templates"
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""The module that defines the ``Lti1p3NonceAndStateValidationEnabledSetting`` model.
|
|
2
|
+
|
|
3
|
+
SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import typing as t
|
|
7
|
+
from dataclasses import dataclass, field
|
|
8
|
+
|
|
9
|
+
import cg_request_args as rqa
|
|
10
|
+
|
|
11
|
+
from ..utils import to_dict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass
|
|
15
|
+
class Lti1p3NonceAndStateValidationEnabledSetting:
|
|
16
|
+
""" """
|
|
17
|
+
|
|
18
|
+
name: "t.Literal['LTI_1P3_NONCE_AND_STATE_VALIDATION_ENABLED']"
|
|
19
|
+
value: "t.Optional[bool]"
|
|
20
|
+
|
|
21
|
+
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
22
|
+
|
|
23
|
+
data_parser: t.ClassVar = rqa.Lazy(
|
|
24
|
+
lambda: rqa.FixedMapping(
|
|
25
|
+
rqa.RequiredArgument(
|
|
26
|
+
"name",
|
|
27
|
+
rqa.StringEnum("LTI_1P3_NONCE_AND_STATE_VALIDATION_ENABLED"),
|
|
28
|
+
doc="",
|
|
29
|
+
),
|
|
30
|
+
rqa.RequiredArgument(
|
|
31
|
+
"value",
|
|
32
|
+
rqa.Nullable(rqa.SimpleValue.bool),
|
|
33
|
+
doc="",
|
|
34
|
+
),
|
|
35
|
+
).use_readable_describe(True)
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
def to_dict(self) -> t.Dict[str, t.Any]:
|
|
39
|
+
res: t.Dict[str, t.Any] = {
|
|
40
|
+
"name": to_dict(self.name),
|
|
41
|
+
"value": to_dict(self.value),
|
|
42
|
+
}
|
|
43
|
+
return res
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def from_dict(
|
|
47
|
+
cls: t.Type["Lti1p3NonceAndStateValidationEnabledSetting"],
|
|
48
|
+
d: t.Dict[str, t.Any],
|
|
49
|
+
) -> "Lti1p3NonceAndStateValidationEnabledSetting":
|
|
50
|
+
parsed = cls.data_parser.try_parse(d)
|
|
51
|
+
|
|
52
|
+
res = cls(
|
|
53
|
+
name=parsed.name,
|
|
54
|
+
value=parsed.value,
|
|
55
|
+
)
|
|
56
|
+
res.raw_data = d
|
|
57
|
+
return res
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""The module that defines the ``Lti1p3PreventNonceReuseEnabledSetting`` model.
|
|
2
|
+
|
|
3
|
+
SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import typing as t
|
|
7
|
+
from dataclasses import dataclass, field
|
|
8
|
+
|
|
9
|
+
import cg_request_args as rqa
|
|
10
|
+
|
|
11
|
+
from ..utils import to_dict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass
|
|
15
|
+
class Lti1p3PreventNonceReuseEnabledSetting:
|
|
16
|
+
""" """
|
|
17
|
+
|
|
18
|
+
name: "t.Literal['LTI_1P3_PREVENT_NONCE_REUSE_ENABLED']"
|
|
19
|
+
value: "t.Optional[bool]"
|
|
20
|
+
|
|
21
|
+
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
22
|
+
|
|
23
|
+
data_parser: t.ClassVar = rqa.Lazy(
|
|
24
|
+
lambda: rqa.FixedMapping(
|
|
25
|
+
rqa.RequiredArgument(
|
|
26
|
+
"name",
|
|
27
|
+
rqa.StringEnum("LTI_1P3_PREVENT_NONCE_REUSE_ENABLED"),
|
|
28
|
+
doc="",
|
|
29
|
+
),
|
|
30
|
+
rqa.RequiredArgument(
|
|
31
|
+
"value",
|
|
32
|
+
rqa.Nullable(rqa.SimpleValue.bool),
|
|
33
|
+
doc="",
|
|
34
|
+
),
|
|
35
|
+
).use_readable_describe(True)
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
def to_dict(self) -> t.Dict[str, t.Any]:
|
|
39
|
+
res: t.Dict[str, t.Any] = {
|
|
40
|
+
"name": to_dict(self.name),
|
|
41
|
+
"value": to_dict(self.value),
|
|
42
|
+
}
|
|
43
|
+
return res
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def from_dict(
|
|
47
|
+
cls: t.Type["Lti1p3PreventNonceReuseEnabledSetting"],
|
|
48
|
+
d: t.Dict[str, t.Any],
|
|
49
|
+
) -> "Lti1p3PreventNonceReuseEnabledSetting":
|
|
50
|
+
parsed = cls.data_parser.try_parse(d)
|
|
51
|
+
|
|
52
|
+
res = cls(
|
|
53
|
+
name=parsed.name,
|
|
54
|
+
value=parsed.value,
|
|
55
|
+
)
|
|
56
|
+
res.raw_data = d
|
|
57
|
+
return res
|
|
@@ -144,9 +144,15 @@ from .is_admin_permission_enabled_setting import (
|
|
|
144
144
|
from .jwt_access_token_expires_setting import JwtAccessTokenExpiresSetting
|
|
145
145
|
from .linters_enabled_setting import LintersEnabledSetting
|
|
146
146
|
from .login_token_before_time_setting import LoginTokenBeforeTimeSetting
|
|
147
|
+
from .lti1p3_nonce_and_state_validation_enabled_setting import (
|
|
148
|
+
Lti1p3NonceAndStateValidationEnabledSetting,
|
|
149
|
+
)
|
|
147
150
|
from .lti1p3_parse_most_privileged_role_setting import (
|
|
148
151
|
Lti1p3ParseMostPrivilegedRoleSetting,
|
|
149
152
|
)
|
|
153
|
+
from .lti1p3_prevent_nonce_reuse_enabled_setting import (
|
|
154
|
+
Lti1p3PreventNonceReuseEnabledSetting,
|
|
155
|
+
)
|
|
150
156
|
from .lti1p3_system_role_from_context_role_setting import (
|
|
151
157
|
Lti1p3SystemRoleFromContextRoleSetting,
|
|
152
158
|
)
|
|
@@ -402,6 +408,8 @@ SiteSettingInput = t.Union[
|
|
|
402
408
|
HideEmptyRubricRowDescriptionSetting,
|
|
403
409
|
DefaultCourseTeacherRoleSetting,
|
|
404
410
|
DefaultCourseTaRoleSetting,
|
|
411
|
+
Lti1p3NonceAndStateValidationEnabledSetting,
|
|
412
|
+
Lti1p3PreventNonceReuseEnabledSetting,
|
|
405
413
|
]
|
|
406
414
|
SiteSettingInputParser = rqa.Lazy(
|
|
407
415
|
lambda: make_union(
|
|
@@ -528,5 +536,7 @@ SiteSettingInputParser = rqa.Lazy(
|
|
|
528
536
|
ParserFor.make(HideEmptyRubricRowDescriptionSetting),
|
|
529
537
|
ParserFor.make(DefaultCourseTeacherRoleSetting),
|
|
530
538
|
ParserFor.make(DefaultCourseTaRoleSetting),
|
|
539
|
+
ParserFor.make(Lti1p3NonceAndStateValidationEnabledSetting),
|
|
540
|
+
ParserFor.make(Lti1p3PreventNonceReuseEnabledSetting),
|
|
531
541
|
),
|
|
532
542
|
)
|
|
@@ -21,7 +21,7 @@ install_requires = \
|
|
|
21
21
|
|
|
22
22
|
setup_kwargs = {
|
|
23
23
|
'name': 'codegrade',
|
|
24
|
-
'version': '16.1.
|
|
24
|
+
'version': '16.1.52',
|
|
25
25
|
'description': 'A client library for accessing CodeGrade',
|
|
26
26
|
'long_description': '# CodeGrade API\n\nThis library makes it easier to use the CodeGrade API. Its API allows you to\nautomate your usage of CodeGrade. We are currently still busy documenting the\nentire API, but everything that is possible in the UI of CodeGrade is also\npossible through the API.\n## Installation\nYou can install the library through [pypi](https://pypi.org/), simply run\n`python3 -m pip install codegrade`. If you want to get a dev version with support\nfor the latest features, simply email [support@codegrade.com](mailto:support@codegrade.com)\nand we\'ll provide you with a dev version.\n## Usage\nFirst, create a client:\n\n```python\nimport codegrade\n\n# Don\'t store your password in your code!\nwith codegrade.login(\n username=\'my-username\',\n password=os.getenv(\'CG_PASSWORD\'),\n tenant=\'My University\',\n) as client:\n pass\n\n# Or supply information interactively.\nwith codegrade.login_from_cli() as client:\n pass\n```\n\nNow call your endpoint and use your models:\n\n```python\nfrom codegrade.models import PatchCourseData\n\ncourses = client.course.get_all()\nfor course in courses:\n client.course.patch(\n PatchCourseData(name=course.name + \' (NEW)\'),\n course_id=course.id,\n )\n\n# Or, simply use dictionaries.\nfor course in courses:\n client.course.patch(\n {"name": course.name + \' (NEW)\'},\n course_id=course.id,\n )\n```\n\nFor the complete documentation go to\nhttps://python.api.codegrade.com.\n## Backwards compatibility\nCodeGrade is constantly upgrading its API, but we try to minimize backwards\nincompatible changes. We\'ll announce every backwards incompatible change in the\n[changelog](http://codegrade.com/changelog). A new version of the API\nclient is released with every release of CodeGrade, which is approximately every\nmonth. To upgrade simply run `pip install --upgrade codegrade`.\n## Supported python versions\nWe support python 3.6 and above, `pypy` is currently not tested but should work\njust fine.\n## License\nThe library is licensed under AGPL-3.0-only or BSD-3-Clause-Clear.',
|
|
27
27
|
'author': 'None',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/_submission_rubric_item_data_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/any_non_redacted_auto_test_step_as_json.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/any_redacted_auto_test_step_as_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_default_grading_scale_setting.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_description_enabled_setting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_max_points_enabled_setting.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_peer_feedback_connection.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_peer_feedback_settings.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_percentage_decimals_setting.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_percentage_grading_settings.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_point_decimals_setting.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/assignment_points_grading_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/at_image_caching_enabled_setting.py
RENAMED
|
File without changes
|
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_capture_points_message_setting.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_checkpoint_message_setting.py
RENAMED
|
File without changes
|
{codegrade-16.1.49 → codegrade-16.1.52}/codegrade/models/auto_test_code_quality_message_setting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|