diff --git a/docs/source/_static/openapi/schemas.yml b/docs/source/_static/openapi/schemas.yml index 0882cfbd..7ba7aaa4 100644 --- a/docs/source/_static/openapi/schemas.yml +++ b/docs/source/_static/openapi/schemas.yml @@ -89,6 +89,9 @@ components: - "full_auto" - "unassisted" default: "auto" + group: + type: "string" + example: "Chapter 1: Data Types" example: late_submission: - period: "P1W1D" diff --git a/grader_service/api/models/assignment_settings.py b/grader_service/api/models/assignment_settings.py index 527ee92b..3ce5bbc5 100644 --- a/grader_service/api/models/assignment_settings.py +++ b/grader_service/api/models/assignment_settings.py @@ -14,7 +14,7 @@ class AssignmentSettings(Model): Do not edit the class manually. """ - def __init__(self, deadline=None, max_submissions=None, allowed_files=[], late_submission=None, autograde_type='auto'): # noqa: E501 + def __init__(self, deadline=None, max_submissions=None, allowed_files=[], late_submission=None, autograde_type='auto', group=None): # noqa: E501 """AssignmentSettings - a model defined in OpenAPI :param deadline: The deadline of this AssignmentSettings. # noqa: E501 @@ -27,13 +27,16 @@ def __init__(self, deadline=None, max_submissions=None, allowed_files=[], late_s :type late_submission: List[SubmissionPeriod] :param autograde_type: The autograde_type of this AssignmentSettings. # noqa: E501 :type autograde_type: str + :param group: The group of this AssignmentSettings. # noqa: E501 + :type group: str """ self.openapi_types = { 'deadline': datetime, 'max_submissions': int, 'allowed_files': List[str], 'late_submission': List[SubmissionPeriod], - 'autograde_type': str + 'autograde_type': str, + 'group': str } self.attribute_map = { @@ -41,7 +44,8 @@ def __init__(self, deadline=None, max_submissions=None, allowed_files=[], late_s 'max_submissions': 'max_submissions', 'allowed_files': 'allowed_files', 'late_submission': 'late_submission', - 'autograde_type': 'autograde_type' + 'autograde_type': 'autograde_type', + 'group': 'group' } self._deadline = deadline @@ -49,6 +53,7 @@ def __init__(self, deadline=None, max_submissions=None, allowed_files=[], late_s self._allowed_files = allowed_files self._late_submission = late_submission self._autograde_type = autograde_type + self._group = group @classmethod def from_dict(cls, dikt) -> 'AssignmentSettings': @@ -171,3 +176,24 @@ def autograde_type(self, autograde_type: str): ) self._autograde_type = autograde_type + + @property + def group(self) -> str: + """Gets the group of this AssignmentSettings. + + + :return: The group of this AssignmentSettings. + :rtype: str + """ + return self._group + + @group.setter + def group(self, group: str): + """Sets the group of this AssignmentSettings. + + + :param group: The group of this AssignmentSettings. + :type group: str + """ + + self._group = group diff --git a/grader_service/api/models/base_model.py b/grader_service/api/models/base_model.py index 9451125e..ccdf3de0 100644 --- a/grader_service/api/models/base_model.py +++ b/grader_service/api/models/base_model.py @@ -1,6 +1,5 @@ -from datetime import datetime import pprint - +from datetime import datetime import typing from grader_service.api import util diff --git a/grader_service/tests/handlers/test_base_handler.py b/grader_service/tests/handlers/test_base_handler.py index b5a88d32..3acc191c 100644 --- a/grader_service/tests/handlers/test_base_handler.py +++ b/grader_service/tests/handlers/test_base_handler.py @@ -63,6 +63,7 @@ def test_assignment_serialization(): "settings": { "late_submission": None, "deadline": datetime.now(tz=timezone.utc).isoformat(), + "group": None, "max_submissions": 1, "autograde_type": "unassisted", "allowed_files": None,