codegrade 16.1.66__tar.gz → 16.1.68__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.66 → codegrade-16.1.68}/PKG-INFO +1 -1
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_maybe/__init__.py +0 -2
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/__init__.py +1 -1
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/client.py +2 -2
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/__init__.py +9 -0
- codegrade-16.1.68/codegrade/models/access_token_modal_warning_time_setting.py +58 -0
- codegrade-16.1.68/codegrade/models/access_token_toast_warning_time_setting.py +58 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/all_site_settings.py +15 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment.py +6 -6
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_lms_capabilities.py +25 -22
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/frontend_site_settings.py +62 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/result_data_post_login_link_login.py +10 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/result_data_post_user_login.py +10 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/result_data_post_user_register.py +10 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/site_setting_input.py +15 -0
- codegrade-16.1.68/codegrade/models/student_payment_main_option_setting.py +56 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/user_login_response.py +10 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/pyproject.toml +2 -1
- {codegrade-16.1.66 → codegrade-16.1.68}/setup.py +1 -1
- {codegrade-16.1.66 → codegrade-16.1.68}/README.md +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_dt_utils/__init__.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_maybe/_just.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_maybe/_maybe.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_maybe/_nothing.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_maybe/_type_helpers.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_maybe/cg_maybe_plugin.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_maybe/utils.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/__init__.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_any_value.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_convert.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_enum.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_form.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_lazy.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_list.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_literal.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_mapping.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_multipart.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_nullable.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_parse_utils.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_query.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_rich_value.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_set.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_swagger_utils.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_swaggerize.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/_utils.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/exceptions.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/cg_request_args/request_args_plugin.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/__init__.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/about.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/assignment.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/auto_test.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/comment.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/course.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/course_price.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/file.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/git_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/group.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/group_set.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/login_link.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/lti.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/notification.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/oauth_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/oauth_token.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/permission.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/plagiarism.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/role.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/saml.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/section.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/site_settings.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/snippet.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/sso_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/submission.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/task_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/tenant.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/transaction.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/user.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/user_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/_api/webhook.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/errors.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/_base_price.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/_saml_ui_logo_info.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/_submission_rubric_item_data_parser.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/about.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/abstract_role.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/add_users_section_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/ai_assistant_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/all_auto_test_results.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/always_update_pii_with_lti_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/analytics_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/any_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/any_error.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/any_non_redacted_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/any_redacted_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/api_codes.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_anonymization_algo.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_default_grading_scale_points_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_default_grading_scale_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_description_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_description_on_teachers_submissions_page_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_done_type.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_export_column.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_feedback.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_grader.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_grading_scale_points_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_kind.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_login_link.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_max_points_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_peer_feedback_connection.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_peer_feedback_settings.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_percentage_decimals_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_percentage_grading_settings.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_point_decimals_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_points_grading_settings.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_section_timeframe.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_state_enum.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_submission_mode.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_template.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/assignment_timeframes.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/at_image_caching_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_capture_points_message_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_checkpoint_message_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_code_quality_message_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_fixture.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_global_setup_output.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_global_setup_script.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_heartbeat_interval_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_heartbeat_max_missed_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_io_test_message_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_io_test_sub_message_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_max_concurrent_batch_runs_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_max_global_setup_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_max_jobs_per_runner_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_max_per_student_setup_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_max_result_not_started_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_max_time_command_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_max_unit_test_metadata_length_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_quality_comment.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_result_state.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_result_with_extra_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_run.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_run_program_message_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_runner.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_runner_state.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_set.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_step_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_step_base_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_step_base_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_step_log_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_step_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_step_result_state.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_step_validation_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_suite.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/auto_test_unit_test_message_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/automatic_lti1p3_assignment_import_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/automatic_lti_role_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_about.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_auto_test_quality_comment.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_comment_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_comment_base_with_normal_replies.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_comment_reply.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_course_coupon.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_directory.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_error.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_file.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_lti1p1_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_lti1p3_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_lti_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_notification.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_release_info.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_rubric_item.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/base_tenant_coupon.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/blackboard_zip_upload_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/bulk_enroll_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/canvas_course_id_copying_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/cg_ignore_version.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/change_user_role_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/check_points_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/check_points_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/check_points_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/check_points_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/clone_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_editor_output_viewer_title_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_editor_start_on_assignment_description_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_quality_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_quality_base_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_quality_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_quality_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_quality_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/code_quality_penalties.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/column_range.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/comment_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/comment_reply.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/comment_reply_edit.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/comment_reply_type.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/comment_type.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/community_library_publishing_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/community_library_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/connect_repository_git_provider_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/copy_auto_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/copy_rubric_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/coupon_data_parser.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/coupon_with_code.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/coupon_without_code.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_bulk_enroll_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_bulk_register_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_coupon.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_coupon_usage.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_gradebook_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_gradebook_render_warning_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_of_course_price.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_of_tenant_coupon_usage.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_perm_map.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_permission.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_price.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_register_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_registration_link.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_role.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_role_as_json_with_perms.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_section.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_section_division.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_section_division_connection.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_section_division_user.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_snippet.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_state.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/course_statistics_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_assignment_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_auto_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_comment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_comment_reply_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_division_section_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_group_group_set_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_group_set_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_lti_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_output_html_proxy_auto_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_proxy_submission_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_repository_git_provider_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_role_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_section_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_snippet_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_snippet_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_sso_provider_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/create_tenant_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/csv_large_file_limit_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/csv_too_many_errors_limit_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/currency.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/custom_output_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/custom_output_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/custom_output_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/custom_output_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/custom_output_log.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/custom_output_log_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/default_course_ta_role_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/default_course_teacher_role_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/default_submission_page_tab_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/deleted_comment_reply.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/deletion_type.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/directory_with_children.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/disabled_setting_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/display_grades_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/editor_enabled_for_teachers_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/editor_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/email_notification_types.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/email_students_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/email_users_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/exam_login_max_length_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/export_assignment_csv_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/export_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/export_assignment_files_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_auto_test_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_auto_test_run.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_course.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_course_registration_link.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_course_section.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_group.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_job.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_non_deleted_comment_reply.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_tenant.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_transaction.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_user.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extended_work.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extract_file_tree_directory.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/extract_file_tree_file.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/failed_to_send_email_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/feedback_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/feedback_threads_initially_collapsed_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/feedback_with_replies.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/feedback_without_replies.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/file_deletion.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/file_rule.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/file_rule_input_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/file_tree.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/file_type.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/finalized_lti1p1_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/finalized_lti1p3_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/first_phase_lti_launch_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/fixed_availability.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/fixed_grade_availability.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/fixture_like.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/fraction.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/general_feedback_comment_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/general_feedback_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/general_feedback_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/git_repositories_page.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/git_repository_like.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/git_user_info.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/github_template_repo_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/global_perm_map.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/global_permission.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/grade_history.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/grade_origin.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/grading_notifications_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/group.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/group_not_ready_for_submission_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/group_set.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/groups_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/has_unread_notifcation_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/health_information.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/hide_code_editor_filetree_controls_with_only_quiz_steps_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/hide_code_editor_output_viewer_with_only_quiz_steps_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/hide_empty_rubric_row_description_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/hide_no_deadline_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/hubspot_syncing_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/ignore_handling.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/ignored_files_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/import_into_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/import_into_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/incremental_rubric_submission_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/inline_feedback_comment_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/inline_feedback_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/inline_feedback_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/inline_rubric_viewer_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/invalid_group_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/invalid_io_cases_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/invalid_options_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_base_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_input_case.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_log.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_option.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_step_log.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/io_test_step_log_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/is_admin_permission_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/job.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/json_create_auto_test.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/json_create_tenant.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/json_patch_auto_test.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/json_patch_submit_types_assignment.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/junit_test_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/junit_test_base_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/junit_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/junit_test_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/junit_test_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/junit_test_log.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/junit_test_log_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/jwt_access_token_expires_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/legacy_features.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/line_range.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/linters_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lms_capabilities.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/login_token_before_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/login_user_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/logout_response.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/logout_user_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p1_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p1_provider_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p3_nonce_and_state_validation_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p3_parse_most_privileged_role_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p3_prevent_nonce_reuse_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p3_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p3_provider_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p3_provider_presentation_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti1p3_system_role_from_context_role_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti_first_launch_content_id_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti_launch_data_logging_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti_lock_date_copying_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti_provider_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/lti_unset_deadline_lock_date_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_document_update_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_dynamo_file_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_dynamo_submission_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_file_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_large_upload_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_lines_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_normal_upload_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_number_of_files_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_plagiarism_matches_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/max_user_setting_amount_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/min_password_score_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/mirror_file_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/missing_cookie_error.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/missing_file.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/name_and_email_from_nrps_only_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_allowed_initial_build_ids_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_build_max_command_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_build_output_limit_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_copying_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_current_initial_build_ids_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_diff_viewer_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_initial_build_id_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_max_dynamodb_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_max_file_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_max_output_files_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_max_storage_size_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_old_submission_age_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_test_max_command_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_test_output_limit_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/new_auto_test_uncollapsing_step_output_delay_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/no_permissions.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/non_deleted_comment_reply.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/non_finalized_lti1p1_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/non_finalized_lti1p3_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/non_present_preference.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notification.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notification_comment_reply_notification_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notification_general_feedback_reply_notification_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notification_poll_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notification_reasons.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notification_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notification_setting_option.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/notifications_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/oauth_provider.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/oauth_token.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/option.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/options_input_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/output_viewer_animation_limit_lines_count_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/parse_api_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch1_p1_provider_lti_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch1_p3_provider_lti_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_all_notification_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_auto_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_comment_reply_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_grader_submission_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_notification_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_notification_setting_user_setting_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_provider_lti_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_role_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_role_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_role_tenant_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_rubric_category_type_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_rubric_result_submission_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_section_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_settings_tenant_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_site_settings_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_snippet_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_snippet_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_submission_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_submit_types_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_tenant_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_ui_preference_user_setting_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/patch_user_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/pay_with_coupon_course_price_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/pearson_templates_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/peer_feedback_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/permission_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_bulk_export_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_bulk_export_max_cases_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_case.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_pdf_export_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_run.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_run_plagiarism_assignment_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_run_plagiarism_course_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/plagiarism_state.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/post_oauth_token_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/present_preference.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/proxy.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/put_description_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/put_enroll_link_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/put_price_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/put_price_tenant_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/put_rubric_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/quality_comment_severity.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/quality_comments_in_code_editor_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/quality_test_log.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/quality_test_log_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/register_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/register_user_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/register_user_with_link_course_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/release_info.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/release_message_max_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/removed_permissions.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rename_group_group_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/render_html_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/repository_connection_limit_reached_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/reset_token_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/result_data_get_auto_test_get.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/result_data_get_task_result_get_all.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/result_data_post_section_create_division.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/retry_group_submission_grade_passback_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/role_as_json_with_perms.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/root_file_trees_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_description_type.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_enabled_for_teacher_on_submissions_page_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_item.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_item_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_lock_reason.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_row_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_row_base_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubric_row_base_input_base_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rubrics_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/rule_type.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/run_program_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/run_program_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/run_program_extra.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/run_program_input_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/run_program_log.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/saml2_provider_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/saml_ui_info.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/sections_in_submission_list_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/send_registration_email_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/server_time_correction_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/server_time_diff_tolerance_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/server_time_sync_interval_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/session_restriction_context.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/session_restriction_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/setting_token_time_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/setup_oauth_result.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/simple_submission_mode_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/simple_submission_navigate_to_latest_editor_session_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/site_email_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/snippet.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/sso_infer_global_staff_role_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/sso_username_decollision_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/staged_assignment_importer_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/start_payment_course_price_close_tab_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/start_payment_course_price_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/start_payment_course_price_redirect_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/started_transaction.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/student_payment_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/student_view_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/submission_validator_input_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/submissions_per_page_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/task_result_state.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tax_behavior.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_coupon.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_coupon_usage.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_coupon_with_code.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_coupon_without_code.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_course_statistics.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_of_tenant_price.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_permissions.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_price.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_role_as_json_with_perms.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/tenant_statistics.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/test_submission_copying_on_import_enabled_setting.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/timed_availability.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/timeframe_like.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/token_revoked_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/transaction.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/transaction_state.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/types.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/update_peer_feedback_settings_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/update_set_auto_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/update_suite_auto_test_base_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/update_suite_auto_test_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/upgraded_lti_provider_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/upload_submission_assignment_data.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/user.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/user_course.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/user_info_with_role.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/user_input.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/user_without_group.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/weak_password_exception.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/weak_password_feedback.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/webhook_base.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/webhook_configuration_disabled_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/webhook_configuration_enabled_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/work.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/work_origin.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/work_rubric_item.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/work_rubric_result_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/work_rubric_result_points_as_json.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/parsers.py +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/py.typed +0 -0
- {codegrade-16.1.66 → codegrade-16.1.68}/codegrade/utils.py +0 -0
|
@@ -538,7 +538,7 @@ class Client(_BaseClient):
|
|
|
538
538
|
return httpx.Client(
|
|
539
539
|
base_url=self.base_url,
|
|
540
540
|
headers={
|
|
541
|
-
"User-Agent": "CodeGradeAPI/16.1.
|
|
541
|
+
"User-Agent": "CodeGradeAPI/16.1.68",
|
|
542
542
|
},
|
|
543
543
|
follow_redirects=True,
|
|
544
544
|
)
|
|
@@ -558,7 +558,7 @@ class AuthenticatedClient(_BaseClient):
|
|
|
558
558
|
base_url=self.base_url,
|
|
559
559
|
headers={
|
|
560
560
|
"Authorization": f"Bearer {self.token}",
|
|
561
|
-
"User-Agent": "CodeGradeAPI/16.1.
|
|
561
|
+
"User-Agent": "CodeGradeAPI/16.1.68",
|
|
562
562
|
},
|
|
563
563
|
follow_redirects=True,
|
|
564
564
|
)
|
|
@@ -10,6 +10,12 @@ from ._submission_rubric_item_data_parser import (
|
|
|
10
10
|
)
|
|
11
11
|
from .about import About
|
|
12
12
|
from .abstract_role import AbstractRole
|
|
13
|
+
from .access_token_modal_warning_time_setting import (
|
|
14
|
+
AccessTokenModalWarningTimeSetting,
|
|
15
|
+
)
|
|
16
|
+
from .access_token_toast_warning_time_setting import (
|
|
17
|
+
AccessTokenToastWarningTimeSetting,
|
|
18
|
+
)
|
|
13
19
|
from .add_users_section_data import AddUsersSectionData
|
|
14
20
|
from .ai_assistant_enabled_setting import AiAssistantEnabledSetting
|
|
15
21
|
from .all_auto_test_results import AllAutoTestResults
|
|
@@ -675,6 +681,9 @@ from .start_payment_course_price_redirect_data import (
|
|
|
675
681
|
)
|
|
676
682
|
from .started_transaction import StartedTransaction
|
|
677
683
|
from .student_payment_enabled_setting import StudentPaymentEnabledSetting
|
|
684
|
+
from .student_payment_main_option_setting import (
|
|
685
|
+
StudentPaymentMainOptionSetting,
|
|
686
|
+
)
|
|
678
687
|
from .student_view_enabled_setting import StudentViewEnabledSetting
|
|
679
688
|
from .submission_validator_input_data import SubmissionValidatorInputData
|
|
680
689
|
from .submissions_per_page_enabled_setting import (
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""The module that defines the ``AccessTokenModalWarningTimeSetting`` model.
|
|
2
|
+
|
|
3
|
+
SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import datetime
|
|
7
|
+
import typing as t
|
|
8
|
+
from dataclasses import dataclass, field
|
|
9
|
+
|
|
10
|
+
import cg_request_args as rqa
|
|
11
|
+
|
|
12
|
+
from ..utils import to_dict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass
|
|
16
|
+
class AccessTokenModalWarningTimeSetting:
|
|
17
|
+
""" """
|
|
18
|
+
|
|
19
|
+
name: "t.Literal['ACCESS_TOKEN_MODAL_WARNING_TIME']"
|
|
20
|
+
value: "t.Optional[datetime.timedelta]"
|
|
21
|
+
|
|
22
|
+
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
23
|
+
|
|
24
|
+
data_parser: t.ClassVar = rqa.Lazy(
|
|
25
|
+
lambda: rqa.FixedMapping(
|
|
26
|
+
rqa.RequiredArgument(
|
|
27
|
+
"name",
|
|
28
|
+
rqa.StringEnum("ACCESS_TOKEN_MODAL_WARNING_TIME"),
|
|
29
|
+
doc="",
|
|
30
|
+
),
|
|
31
|
+
rqa.RequiredArgument(
|
|
32
|
+
"value",
|
|
33
|
+
rqa.Nullable(rqa.RichValue.TimeDelta),
|
|
34
|
+
doc="",
|
|
35
|
+
),
|
|
36
|
+
).use_readable_describe(True)
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
def to_dict(self) -> t.Dict[str, t.Any]:
|
|
40
|
+
res: t.Dict[str, t.Any] = {
|
|
41
|
+
"name": to_dict(self.name),
|
|
42
|
+
"value": to_dict(self.value),
|
|
43
|
+
}
|
|
44
|
+
return res
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_dict(
|
|
48
|
+
cls: t.Type["AccessTokenModalWarningTimeSetting"],
|
|
49
|
+
d: t.Dict[str, t.Any],
|
|
50
|
+
) -> "AccessTokenModalWarningTimeSetting":
|
|
51
|
+
parsed = cls.data_parser.try_parse(d)
|
|
52
|
+
|
|
53
|
+
res = cls(
|
|
54
|
+
name=parsed.name,
|
|
55
|
+
value=parsed.value,
|
|
56
|
+
)
|
|
57
|
+
res.raw_data = d
|
|
58
|
+
return res
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""The module that defines the ``AccessTokenToastWarningTimeSetting`` model.
|
|
2
|
+
|
|
3
|
+
SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import datetime
|
|
7
|
+
import typing as t
|
|
8
|
+
from dataclasses import dataclass, field
|
|
9
|
+
|
|
10
|
+
import cg_request_args as rqa
|
|
11
|
+
|
|
12
|
+
from ..utils import to_dict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass
|
|
16
|
+
class AccessTokenToastWarningTimeSetting:
|
|
17
|
+
""" """
|
|
18
|
+
|
|
19
|
+
name: "t.Literal['ACCESS_TOKEN_TOAST_WARNING_TIME']"
|
|
20
|
+
value: "t.Optional[datetime.timedelta]"
|
|
21
|
+
|
|
22
|
+
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
23
|
+
|
|
24
|
+
data_parser: t.ClassVar = rqa.Lazy(
|
|
25
|
+
lambda: rqa.FixedMapping(
|
|
26
|
+
rqa.RequiredArgument(
|
|
27
|
+
"name",
|
|
28
|
+
rqa.StringEnum("ACCESS_TOKEN_TOAST_WARNING_TIME"),
|
|
29
|
+
doc="",
|
|
30
|
+
),
|
|
31
|
+
rqa.RequiredArgument(
|
|
32
|
+
"value",
|
|
33
|
+
rqa.Nullable(rqa.RichValue.TimeDelta),
|
|
34
|
+
doc="",
|
|
35
|
+
),
|
|
36
|
+
).use_readable_describe(True)
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
def to_dict(self) -> t.Dict[str, t.Any]:
|
|
40
|
+
res: t.Dict[str, t.Any] = {
|
|
41
|
+
"name": to_dict(self.name),
|
|
42
|
+
"value": to_dict(self.value),
|
|
43
|
+
}
|
|
44
|
+
return res
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_dict(
|
|
48
|
+
cls: t.Type["AccessTokenToastWarningTimeSetting"],
|
|
49
|
+
d: t.Dict[str, t.Any],
|
|
50
|
+
) -> "AccessTokenToastWarningTimeSetting":
|
|
51
|
+
parsed = cls.data_parser.try_parse(d)
|
|
52
|
+
|
|
53
|
+
res = cls(
|
|
54
|
+
name=parsed.name,
|
|
55
|
+
value=parsed.value,
|
|
56
|
+
)
|
|
57
|
+
res.raw_data = d
|
|
58
|
+
return res
|
|
@@ -706,6 +706,14 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
706
706
|
res["RESET_TOKEN_TIME"] = to_dict(self.reset_token_time.value)
|
|
707
707
|
if self.site_email.is_just:
|
|
708
708
|
res["SITE_EMAIL"] = to_dict(self.site_email.value)
|
|
709
|
+
if self.access_token_toast_warning_time.is_just:
|
|
710
|
+
res["ACCESS_TOKEN_TOAST_WARNING_TIME"] = to_dict(
|
|
711
|
+
self.access_token_toast_warning_time.value
|
|
712
|
+
)
|
|
713
|
+
if self.access_token_modal_warning_time.is_just:
|
|
714
|
+
res["ACCESS_TOKEN_MODAL_WARNING_TIME"] = to_dict(
|
|
715
|
+
self.access_token_modal_warning_time.value
|
|
716
|
+
)
|
|
709
717
|
if self.max_lines.is_just:
|
|
710
718
|
res["MAX_LINES"] = to_dict(self.max_lines.value)
|
|
711
719
|
if self.notification_poll_time.is_just:
|
|
@@ -788,6 +796,10 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
788
796
|
res["STUDENT_PAYMENT_ENABLED"] = to_dict(
|
|
789
797
|
self.student_payment_enabled.value
|
|
790
798
|
)
|
|
799
|
+
if self.student_payment_main_option.is_just:
|
|
800
|
+
res["STUDENT_PAYMENT_MAIN_OPTION"] = to_dict(
|
|
801
|
+
self.student_payment_main_option.value
|
|
802
|
+
)
|
|
791
803
|
if self.editor_enabled.is_just:
|
|
792
804
|
res["EDITOR_ENABLED"] = to_dict(self.editor_enabled.value)
|
|
793
805
|
if self.new_auto_test_enabled.is_just:
|
|
@@ -1185,6 +1197,8 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
1185
1197
|
login_token_before_time=parsed.LOGIN_TOKEN_BEFORE_TIME,
|
|
1186
1198
|
reset_token_time=parsed.RESET_TOKEN_TIME,
|
|
1187
1199
|
site_email=parsed.SITE_EMAIL,
|
|
1200
|
+
access_token_toast_warning_time=parsed.ACCESS_TOKEN_TOAST_WARNING_TIME,
|
|
1201
|
+
access_token_modal_warning_time=parsed.ACCESS_TOKEN_MODAL_WARNING_TIME,
|
|
1188
1202
|
max_lines=parsed.MAX_LINES,
|
|
1189
1203
|
notification_poll_time=parsed.NOTIFICATION_POLL_TIME,
|
|
1190
1204
|
release_message_max_time=parsed.RELEASE_MESSAGE_MAX_TIME,
|
|
@@ -1209,6 +1223,7 @@ class AllSiteSettings(FrontendSiteSettings):
|
|
|
1209
1223
|
peer_feedback_enabled=parsed.PEER_FEEDBACK_ENABLED,
|
|
1210
1224
|
at_image_caching_enabled=parsed.AT_IMAGE_CACHING_ENABLED,
|
|
1211
1225
|
student_payment_enabled=parsed.STUDENT_PAYMENT_ENABLED,
|
|
1226
|
+
student_payment_main_option=parsed.STUDENT_PAYMENT_MAIN_OPTION,
|
|
1212
1227
|
editor_enabled=parsed.EDITOR_ENABLED,
|
|
1213
1228
|
new_auto_test_enabled=parsed.NEW_AUTO_TEST_ENABLED,
|
|
1214
1229
|
server_time_correction_enabled=parsed.SERVER_TIME_CORRECTION_ENABLED,
|
|
@@ -93,7 +93,7 @@ class Assignment(TimeframeLike):
|
|
|
93
93
|
#: Can you upload files to this assignment.
|
|
94
94
|
files_upload_enabled: "bool"
|
|
95
95
|
#: Can you connect git to this assignment. Deprecated, use
|
|
96
|
-
#: `webhook_configuration
|
|
96
|
+
#: `webhook_configuration` instead.
|
|
97
97
|
webhook_upload_enabled: "bool"
|
|
98
98
|
#: Settings for the git connection to this assignment.
|
|
99
99
|
webhook_configuration: "t.Union[WebhookConfigurationEnabledAsJSON, WebhookConfigurationDisabledAsJSON]"
|
|
@@ -106,8 +106,8 @@ class Assignment(TimeframeLike):
|
|
|
106
106
|
#: `amount_in_cool_off_period` amount.
|
|
107
107
|
cool_off_period: "datetime.timedelta"
|
|
108
108
|
#: The maximum amount of time a user can submit within
|
|
109
|
-
#: `amount_in_cool_off_period`. This value is always
|
|
110
|
-
#: is 0 a user can submit an unlimited amount of time.
|
|
109
|
+
#: `amount_in_cool_off_period`. This value is always greater than or equal
|
|
110
|
+
#: to 0, if this value is 0 a user can submit an unlimited amount of time.
|
|
111
111
|
amount_in_cool_off_period: "int"
|
|
112
112
|
#: The moment reminder emails will be sent. This will be `None` if you
|
|
113
113
|
#: don't have the permission to see this or if it is unset.
|
|
@@ -303,7 +303,7 @@ class Assignment(TimeframeLike):
|
|
|
303
303
|
rqa.SimpleValue.bool,
|
|
304
304
|
doc=(
|
|
305
305
|
"Can you connect git to this assignment. Deprecated,"
|
|
306
|
-
" use `webhook_configuration
|
|
306
|
+
" use `webhook_configuration` instead."
|
|
307
307
|
),
|
|
308
308
|
),
|
|
309
309
|
rqa.RequiredArgument(
|
|
@@ -346,8 +346,8 @@ class Assignment(TimeframeLike):
|
|
|
346
346
|
doc=(
|
|
347
347
|
"The maximum amount of time a user can submit within"
|
|
348
348
|
" `amount_in_cool_off_period`. This value is always"
|
|
349
|
-
"
|
|
350
|
-
" unlimited amount of time."
|
|
349
|
+
" greater than or equal to 0, if this value is 0 a"
|
|
350
|
+
" user can submit an unlimited amount of time."
|
|
351
351
|
),
|
|
352
352
|
),
|
|
353
353
|
rqa.RequiredArgument(
|
|
@@ -57,20 +57,22 @@ class BaseLMSCapabilities:
|
|
|
57
57
|
#: don't want to send replacement variables to an LMS we know it will never
|
|
58
58
|
#: support. This property contains a list of custom replacement groups
|
|
59
59
|
#: supported by this LMS. For example: we have a replacement variable
|
|
60
|
-
#: called `name'`, this variable will be included
|
|
61
|
-
#: wanted config), if the
|
|
62
|
-
#: `['$com']`. It will also
|
|
63
|
-
#: 'custom_lms']`. However, it will
|
|
64
|
-
#: `custom_lms']` or `['$com',
|
|
60
|
+
#: called `'$com.custom_lms.User.name'`, this variable will be included
|
|
61
|
+
#: (parsed and returned as wanted config), if the
|
|
62
|
+
#: `supported_custom_replacement_groups` contains `['$com']`. It will also
|
|
63
|
+
#: be included if it contains `['$com', 'custom_lms']`. However, it will
|
|
64
|
+
#: not be included if it only contains `['$com.custom_lms']` or `['$com',
|
|
65
|
+
#: 'other_lms']`.
|
|
65
66
|
supported_custom_replacement_groups: "t.Sequence[t.Sequence[str]]"
|
|
66
|
-
#: Should we use the `id` in the url. Some LMSes do not
|
|
67
|
-
#: `iss` and the `client_id` in all launches. This means
|
|
68
|
-
#: correct `LTI1p3Provider` is not always correct
|
|
69
|
-
#: often gets used multiple times). For some LMSes
|
|
70
|
-
#: idea to simply include the id of the provider
|
|
71
|
-
#: verify with the given information that the
|
|
72
|
-
#: be the correct one (i.e. all given
|
|
73
|
-
#: information in the LTI provider that
|
|
67
|
+
#: Should we use the `LTI1p3Provider.id` in the url. Some LMSes do not
|
|
68
|
+
#: provide both the `iss` and the `client_id` in all launches. This means
|
|
69
|
+
#: that finding the correct `LTI1p3Provider` is not always correct
|
|
70
|
+
#: (especially as the `iss` often gets used multiple times). For some LMSes
|
|
71
|
+
#: therefore it is a better idea to simply include the id of the provider
|
|
72
|
+
#: in the launch url, and verify with the given information that the
|
|
73
|
+
#: provider could theoretically be the correct one (i.e. all given
|
|
74
|
+
#: information matches with the information in the LTI provider that
|
|
75
|
+
#: belongs to the `id`).
|
|
74
76
|
use_id_in_urls: "bool"
|
|
75
77
|
#: Does this LMS require actual deep linking, where the user inputs a name
|
|
76
78
|
#: and deadline.
|
|
@@ -156,12 +158,13 @@ class BaseLMSCapabilities:
|
|
|
156
158
|
" replacement variables to an LMS we know it will never"
|
|
157
159
|
" support. This property contains a list of custom"
|
|
158
160
|
" replacement groups supported by this LMS. For example:"
|
|
159
|
-
" we have a replacement variable called
|
|
160
|
-
" variable will be
|
|
161
|
-
" config), if the
|
|
162
|
-
"
|
|
163
|
-
"
|
|
164
|
-
"
|
|
161
|
+
" we have a replacement variable called"
|
|
162
|
+
" `'$com.custom_lms.User.name'`, this variable will be"
|
|
163
|
+
" included (parsed and returned as wanted config), if the"
|
|
164
|
+
" `supported_custom_replacement_groups` contains"
|
|
165
|
+
" `['$com']`. It will also be included if it contains"
|
|
166
|
+
" `['$com', 'custom_lms']`. However, it will not be"
|
|
167
|
+
" included if it only contains `['$com.custom_lms']` or"
|
|
165
168
|
" `['$com', 'other_lms']`."
|
|
166
169
|
),
|
|
167
170
|
),
|
|
@@ -169,9 +172,9 @@ class BaseLMSCapabilities:
|
|
|
169
172
|
"use_id_in_urls",
|
|
170
173
|
rqa.SimpleValue.bool,
|
|
171
174
|
doc=(
|
|
172
|
-
"Should we use the `id` in the url. Some
|
|
173
|
-
" provide both the `iss` and the `client_id`
|
|
174
|
-
" launches. This means that finding the correct"
|
|
175
|
+
"Should we use the `LTI1p3Provider.id` in the url. Some"
|
|
176
|
+
" LMSes do not provide both the `iss` and the `client_id`"
|
|
177
|
+
" in all launches. This means that finding the correct"
|
|
175
178
|
" `LTI1p3Provider` is not always correct (especially as"
|
|
176
179
|
" the `iss` often gets used multiple times). For some"
|
|
177
180
|
" LMSes therefore it is a better idea to simply include"
|
|
@@ -65,6 +65,12 @@ class FrontendSiteSettings:
|
|
|
65
65
|
reset_token_time: Maybe["datetime.timedelta"] = Nothing
|
|
66
66
|
#: The email shown to users as the email of CodeGrade.
|
|
67
67
|
site_email: Maybe["str"] = Nothing
|
|
68
|
+
#: The amount of time before an access token expires when we will show a
|
|
69
|
+
#: toast message warning the user that their session is about to expire.
|
|
70
|
+
access_token_toast_warning_time: Maybe["datetime.timedelta"] = Nothing
|
|
71
|
+
#: The amount of time before an access token expires when we will show a
|
|
72
|
+
#: modal with a warning that the user's session is about to expire.
|
|
73
|
+
access_token_modal_warning_time: Maybe["datetime.timedelta"] = Nothing
|
|
68
74
|
#: The maximum amount of lines that we should in render in one go. If a
|
|
69
75
|
#: file contains more lines than this we will show a warning asking the
|
|
70
76
|
#: user what to do.
|
|
@@ -140,6 +146,11 @@ class FrontendSiteSettings:
|
|
|
140
146
|
#: to enable this deploy config needs to be updated, so don't just enable
|
|
141
147
|
#: it.
|
|
142
148
|
student_payment_enabled: Maybe["bool"] = Nothing
|
|
149
|
+
#: Define what will be shown as the main option for student payment, the
|
|
150
|
+
#: default will show stripe as the main payment option.
|
|
151
|
+
student_payment_main_option: Maybe[
|
|
152
|
+
"t.Literal['coupon', 'stripe']"
|
|
153
|
+
] = Nothing
|
|
143
154
|
#: Can students submit using the online editor.
|
|
144
155
|
editor_enabled: Maybe["bool"] = Nothing
|
|
145
156
|
#: Can AutoTest configurations be created and run using the 2.0
|
|
@@ -446,6 +457,24 @@ class FrontendSiteSettings:
|
|
|
446
457
|
rqa.SimpleValue.str,
|
|
447
458
|
doc="The email shown to users as the email of CodeGrade.",
|
|
448
459
|
),
|
|
460
|
+
rqa.OptionalArgument(
|
|
461
|
+
"ACCESS_TOKEN_TOAST_WARNING_TIME",
|
|
462
|
+
rqa.RichValue.TimeDelta,
|
|
463
|
+
doc=(
|
|
464
|
+
"The amount of time before an access token expires when we"
|
|
465
|
+
" will show a toast message warning the user that their"
|
|
466
|
+
" session is about to expire."
|
|
467
|
+
),
|
|
468
|
+
),
|
|
469
|
+
rqa.OptionalArgument(
|
|
470
|
+
"ACCESS_TOKEN_MODAL_WARNING_TIME",
|
|
471
|
+
rqa.RichValue.TimeDelta,
|
|
472
|
+
doc=(
|
|
473
|
+
"The amount of time before an access token expires when we"
|
|
474
|
+
" will show a modal with a warning that the user's session"
|
|
475
|
+
" is about to expire."
|
|
476
|
+
),
|
|
477
|
+
),
|
|
449
478
|
rqa.OptionalArgument(
|
|
450
479
|
"MAX_LINES",
|
|
451
480
|
rqa.SimpleValue.int,
|
|
@@ -634,6 +663,15 @@ class FrontendSiteSettings:
|
|
|
634
663
|
" be updated, so don't just enable it."
|
|
635
664
|
),
|
|
636
665
|
),
|
|
666
|
+
rqa.OptionalArgument(
|
|
667
|
+
"STUDENT_PAYMENT_MAIN_OPTION",
|
|
668
|
+
rqa.StringEnum("coupon", "stripe"),
|
|
669
|
+
doc=(
|
|
670
|
+
"Define what will be shown as the main option for student"
|
|
671
|
+
" payment, the default will show stripe as the main"
|
|
672
|
+
" payment option."
|
|
673
|
+
),
|
|
674
|
+
),
|
|
637
675
|
rqa.OptionalArgument(
|
|
638
676
|
"EDITOR_ENABLED",
|
|
639
677
|
rqa.SimpleValue.bool,
|
|
@@ -1146,6 +1184,12 @@ class FrontendSiteSettings:
|
|
|
1146
1184
|
)
|
|
1147
1185
|
self.reset_token_time = maybe_from_nullable(self.reset_token_time)
|
|
1148
1186
|
self.site_email = maybe_from_nullable(self.site_email)
|
|
1187
|
+
self.access_token_toast_warning_time = maybe_from_nullable(
|
|
1188
|
+
self.access_token_toast_warning_time
|
|
1189
|
+
)
|
|
1190
|
+
self.access_token_modal_warning_time = maybe_from_nullable(
|
|
1191
|
+
self.access_token_modal_warning_time
|
|
1192
|
+
)
|
|
1149
1193
|
self.max_lines = maybe_from_nullable(self.max_lines)
|
|
1150
1194
|
self.notification_poll_time = maybe_from_nullable(
|
|
1151
1195
|
self.notification_poll_time
|
|
@@ -1206,6 +1250,9 @@ class FrontendSiteSettings:
|
|
|
1206
1250
|
self.student_payment_enabled = maybe_from_nullable(
|
|
1207
1251
|
self.student_payment_enabled
|
|
1208
1252
|
)
|
|
1253
|
+
self.student_payment_main_option = maybe_from_nullable(
|
|
1254
|
+
self.student_payment_main_option
|
|
1255
|
+
)
|
|
1209
1256
|
self.editor_enabled = maybe_from_nullable(self.editor_enabled)
|
|
1210
1257
|
self.new_auto_test_enabled = maybe_from_nullable(
|
|
1211
1258
|
self.new_auto_test_enabled
|
|
@@ -1434,6 +1481,14 @@ class FrontendSiteSettings:
|
|
|
1434
1481
|
res["RESET_TOKEN_TIME"] = to_dict(self.reset_token_time.value)
|
|
1435
1482
|
if self.site_email.is_just:
|
|
1436
1483
|
res["SITE_EMAIL"] = to_dict(self.site_email.value)
|
|
1484
|
+
if self.access_token_toast_warning_time.is_just:
|
|
1485
|
+
res["ACCESS_TOKEN_TOAST_WARNING_TIME"] = to_dict(
|
|
1486
|
+
self.access_token_toast_warning_time.value
|
|
1487
|
+
)
|
|
1488
|
+
if self.access_token_modal_warning_time.is_just:
|
|
1489
|
+
res["ACCESS_TOKEN_MODAL_WARNING_TIME"] = to_dict(
|
|
1490
|
+
self.access_token_modal_warning_time.value
|
|
1491
|
+
)
|
|
1437
1492
|
if self.max_lines.is_just:
|
|
1438
1493
|
res["MAX_LINES"] = to_dict(self.max_lines.value)
|
|
1439
1494
|
if self.notification_poll_time.is_just:
|
|
@@ -1516,6 +1571,10 @@ class FrontendSiteSettings:
|
|
|
1516
1571
|
res["STUDENT_PAYMENT_ENABLED"] = to_dict(
|
|
1517
1572
|
self.student_payment_enabled.value
|
|
1518
1573
|
)
|
|
1574
|
+
if self.student_payment_main_option.is_just:
|
|
1575
|
+
res["STUDENT_PAYMENT_MAIN_OPTION"] = to_dict(
|
|
1576
|
+
self.student_payment_main_option.value
|
|
1577
|
+
)
|
|
1519
1578
|
if self.editor_enabled.is_just:
|
|
1520
1579
|
res["EDITOR_ENABLED"] = to_dict(self.editor_enabled.value)
|
|
1521
1580
|
if self.new_auto_test_enabled.is_just:
|
|
@@ -1757,6 +1816,8 @@ class FrontendSiteSettings:
|
|
|
1757
1816
|
login_token_before_time=parsed.LOGIN_TOKEN_BEFORE_TIME,
|
|
1758
1817
|
reset_token_time=parsed.RESET_TOKEN_TIME,
|
|
1759
1818
|
site_email=parsed.SITE_EMAIL,
|
|
1819
|
+
access_token_toast_warning_time=parsed.ACCESS_TOKEN_TOAST_WARNING_TIME,
|
|
1820
|
+
access_token_modal_warning_time=parsed.ACCESS_TOKEN_MODAL_WARNING_TIME,
|
|
1760
1821
|
max_lines=parsed.MAX_LINES,
|
|
1761
1822
|
notification_poll_time=parsed.NOTIFICATION_POLL_TIME,
|
|
1762
1823
|
release_message_max_time=parsed.RELEASE_MESSAGE_MAX_TIME,
|
|
@@ -1781,6 +1842,7 @@ class FrontendSiteSettings:
|
|
|
1781
1842
|
peer_feedback_enabled=parsed.PEER_FEEDBACK_ENABLED,
|
|
1782
1843
|
at_image_caching_enabled=parsed.AT_IMAGE_CACHING_ENABLED,
|
|
1783
1844
|
student_payment_enabled=parsed.STUDENT_PAYMENT_ENABLED,
|
|
1845
|
+
student_payment_main_option=parsed.STUDENT_PAYMENT_MAIN_OPTION,
|
|
1784
1846
|
editor_enabled=parsed.EDITOR_ENABLED,
|
|
1785
1847
|
new_auto_test_enabled=parsed.NEW_AUTO_TEST_ENABLED,
|
|
1786
1848
|
server_time_correction_enabled=parsed.SERVER_TIME_CORRECTION_ENABLED,
|
{codegrade-16.1.66 → codegrade-16.1.68}/codegrade/models/result_data_post_login_link_login.py
RENAMED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
import datetime
|
|
6
7
|
import typing as t
|
|
7
8
|
from dataclasses import dataclass, field
|
|
8
9
|
|
|
@@ -24,6 +25,8 @@ class ResultDataPostLoginLinkLogin:
|
|
|
24
25
|
access_token: "str"
|
|
25
26
|
#: The restrictions of this access token.
|
|
26
27
|
restrictions: "SessionRestrictionData"
|
|
28
|
+
#: When this token expires.
|
|
29
|
+
expires_at: "datetime.datetime"
|
|
27
30
|
|
|
28
31
|
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
29
32
|
|
|
@@ -47,6 +50,11 @@ class ResultDataPostLoginLinkLogin:
|
|
|
47
50
|
parsers.ParserFor.make(SessionRestrictionData),
|
|
48
51
|
doc="The restrictions of this access token.",
|
|
49
52
|
),
|
|
53
|
+
rqa.RequiredArgument(
|
|
54
|
+
"expires_at",
|
|
55
|
+
rqa.RichValue.DateTime,
|
|
56
|
+
doc="When this token expires.",
|
|
57
|
+
),
|
|
50
58
|
).use_readable_describe(True)
|
|
51
59
|
)
|
|
52
60
|
|
|
@@ -55,6 +63,7 @@ class ResultDataPostLoginLinkLogin:
|
|
|
55
63
|
"user": to_dict(self.user),
|
|
56
64
|
"access_token": to_dict(self.access_token),
|
|
57
65
|
"restrictions": to_dict(self.restrictions),
|
|
66
|
+
"expires_at": to_dict(self.expires_at),
|
|
58
67
|
}
|
|
59
68
|
return res
|
|
60
69
|
|
|
@@ -68,6 +77,7 @@ class ResultDataPostLoginLinkLogin:
|
|
|
68
77
|
user=parsed.user,
|
|
69
78
|
access_token=parsed.access_token,
|
|
70
79
|
restrictions=parsed.restrictions,
|
|
80
|
+
expires_at=parsed.expires_at,
|
|
71
81
|
)
|
|
72
82
|
res.raw_data = d
|
|
73
83
|
return res
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
import datetime
|
|
6
7
|
import typing as t
|
|
7
8
|
from dataclasses import dataclass, field
|
|
8
9
|
|
|
@@ -24,6 +25,8 @@ class ResultDataPostUserLogin:
|
|
|
24
25
|
access_token: "str"
|
|
25
26
|
#: The restrictions of this access token.
|
|
26
27
|
restrictions: "SessionRestrictionData"
|
|
28
|
+
#: When this token expires.
|
|
29
|
+
expires_at: "datetime.datetime"
|
|
27
30
|
|
|
28
31
|
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
29
32
|
|
|
@@ -47,6 +50,11 @@ class ResultDataPostUserLogin:
|
|
|
47
50
|
parsers.ParserFor.make(SessionRestrictionData),
|
|
48
51
|
doc="The restrictions of this access token.",
|
|
49
52
|
),
|
|
53
|
+
rqa.RequiredArgument(
|
|
54
|
+
"expires_at",
|
|
55
|
+
rqa.RichValue.DateTime,
|
|
56
|
+
doc="When this token expires.",
|
|
57
|
+
),
|
|
50
58
|
).use_readable_describe(True)
|
|
51
59
|
)
|
|
52
60
|
|
|
@@ -55,6 +63,7 @@ class ResultDataPostUserLogin:
|
|
|
55
63
|
"user": to_dict(self.user),
|
|
56
64
|
"access_token": to_dict(self.access_token),
|
|
57
65
|
"restrictions": to_dict(self.restrictions),
|
|
66
|
+
"expires_at": to_dict(self.expires_at),
|
|
58
67
|
}
|
|
59
68
|
return res
|
|
60
69
|
|
|
@@ -68,6 +77,7 @@ class ResultDataPostUserLogin:
|
|
|
68
77
|
user=parsed.user,
|
|
69
78
|
access_token=parsed.access_token,
|
|
70
79
|
restrictions=parsed.restrictions,
|
|
80
|
+
expires_at=parsed.expires_at,
|
|
71
81
|
)
|
|
72
82
|
res.raw_data = d
|
|
73
83
|
return res
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
import datetime
|
|
6
7
|
import typing as t
|
|
7
8
|
from dataclasses import dataclass, field
|
|
8
9
|
|
|
@@ -24,6 +25,8 @@ class ResultDataPostUserRegister:
|
|
|
24
25
|
access_token: "str"
|
|
25
26
|
#: The restrictions of this access token.
|
|
26
27
|
restrictions: "SessionRestrictionData"
|
|
28
|
+
#: When this token expires.
|
|
29
|
+
expires_at: "datetime.datetime"
|
|
27
30
|
|
|
28
31
|
raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
|
|
29
32
|
|
|
@@ -47,6 +50,11 @@ class ResultDataPostUserRegister:
|
|
|
47
50
|
parsers.ParserFor.make(SessionRestrictionData),
|
|
48
51
|
doc="The restrictions of this access token.",
|
|
49
52
|
),
|
|
53
|
+
rqa.RequiredArgument(
|
|
54
|
+
"expires_at",
|
|
55
|
+
rqa.RichValue.DateTime,
|
|
56
|
+
doc="When this token expires.",
|
|
57
|
+
),
|
|
50
58
|
).use_readable_describe(True)
|
|
51
59
|
)
|
|
52
60
|
|
|
@@ -55,6 +63,7 @@ class ResultDataPostUserRegister:
|
|
|
55
63
|
"user": to_dict(self.user),
|
|
56
64
|
"access_token": to_dict(self.access_token),
|
|
57
65
|
"restrictions": to_dict(self.restrictions),
|
|
66
|
+
"expires_at": to_dict(self.expires_at),
|
|
58
67
|
}
|
|
59
68
|
return res
|
|
60
69
|
|
|
@@ -68,6 +77,7 @@ class ResultDataPostUserRegister:
|
|
|
68
77
|
user=parsed.user,
|
|
69
78
|
access_token=parsed.access_token,
|
|
70
79
|
restrictions=parsed.restrictions,
|
|
80
|
+
expires_at=parsed.expires_at,
|
|
71
81
|
)
|
|
72
82
|
res.raw_data = d
|
|
73
83
|
return res
|
|
@@ -10,6 +10,12 @@ import cg_request_args as rqa
|
|
|
10
10
|
|
|
11
11
|
from ..parsers import ParserFor, make_union
|
|
12
12
|
from ..utils import to_dict
|
|
13
|
+
from .access_token_modal_warning_time_setting import (
|
|
14
|
+
AccessTokenModalWarningTimeSetting,
|
|
15
|
+
)
|
|
16
|
+
from .access_token_toast_warning_time_setting import (
|
|
17
|
+
AccessTokenToastWarningTimeSetting,
|
|
18
|
+
)
|
|
13
19
|
from .ai_assistant_enabled_setting import AiAssistantEnabledSetting
|
|
14
20
|
from .always_update_pii_with_lti_setting import AlwaysUpdatePiiWithLtiSetting
|
|
15
21
|
from .analytics_enabled_setting import AnalyticsEnabledSetting
|
|
@@ -291,6 +297,9 @@ from .staged_assignment_importer_enabled_setting import (
|
|
|
291
297
|
StagedAssignmentImporterEnabledSetting,
|
|
292
298
|
)
|
|
293
299
|
from .student_payment_enabled_setting import StudentPaymentEnabledSetting
|
|
300
|
+
from .student_payment_main_option_setting import (
|
|
301
|
+
StudentPaymentMainOptionSetting,
|
|
302
|
+
)
|
|
294
303
|
from .student_view_enabled_setting import StudentViewEnabledSetting
|
|
295
304
|
from .submissions_per_page_enabled_setting import (
|
|
296
305
|
SubmissionsPerPageEnabledSetting,
|
|
@@ -340,6 +349,8 @@ SiteSettingInput = t.Union[
|
|
|
340
349
|
MaxDynamoFileSizeSetting,
|
|
341
350
|
MaxDocumentUpdateSizeSetting,
|
|
342
351
|
JwtAccessTokenExpiresSetting,
|
|
352
|
+
AccessTokenToastWarningTimeSetting,
|
|
353
|
+
AccessTokenModalWarningTimeSetting,
|
|
343
354
|
MaxLinesSetting,
|
|
344
355
|
NotificationPollTimeSetting,
|
|
345
356
|
ReleaseMessageMaxTimeSetting,
|
|
@@ -364,6 +375,7 @@ SiteSettingInput = t.Union[
|
|
|
364
375
|
PeerFeedbackEnabledSetting,
|
|
365
376
|
AtImageCachingEnabledSetting,
|
|
366
377
|
StudentPaymentEnabledSetting,
|
|
378
|
+
StudentPaymentMainOptionSetting,
|
|
367
379
|
EditorEnabledSetting,
|
|
368
380
|
NewAutoTestEnabledSetting,
|
|
369
381
|
ServerTimeCorrectionEnabledSetting,
|
|
@@ -477,6 +489,8 @@ SiteSettingInputParser = rqa.Lazy(
|
|
|
477
489
|
ParserFor.make(MaxDynamoFileSizeSetting),
|
|
478
490
|
ParserFor.make(MaxDocumentUpdateSizeSetting),
|
|
479
491
|
ParserFor.make(JwtAccessTokenExpiresSetting),
|
|
492
|
+
ParserFor.make(AccessTokenToastWarningTimeSetting),
|
|
493
|
+
ParserFor.make(AccessTokenModalWarningTimeSetting),
|
|
480
494
|
ParserFor.make(MaxLinesSetting),
|
|
481
495
|
ParserFor.make(NotificationPollTimeSetting),
|
|
482
496
|
ParserFor.make(ReleaseMessageMaxTimeSetting),
|
|
@@ -501,6 +515,7 @@ SiteSettingInputParser = rqa.Lazy(
|
|
|
501
515
|
ParserFor.make(PeerFeedbackEnabledSetting),
|
|
502
516
|
ParserFor.make(AtImageCachingEnabledSetting),
|
|
503
517
|
ParserFor.make(StudentPaymentEnabledSetting),
|
|
518
|
+
ParserFor.make(StudentPaymentMainOptionSetting),
|
|
504
519
|
ParserFor.make(EditorEnabledSetting),
|
|
505
520
|
ParserFor.make(NewAutoTestEnabledSetting),
|
|
506
521
|
ParserFor.make(ServerTimeCorrectionEnabledSetting),
|