diff options
Diffstat (limited to 'gitlab/v4/objects/notes.py')
-rw-r--r-- | gitlab/v4/objects/notes.py | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/gitlab/v4/objects/notes.py b/gitlab/v4/objects/notes.py index c4055ad..833f632 100644 --- a/gitlab/v4/objects/notes.py +++ b/gitlab/v4/objects/notes.py @@ -13,12 +13,17 @@ from gitlab.mixins import ( ) from .award_emojis import ( # noqa: F401 + GroupEpicNoteAwardEmojiManager, ProjectIssueNoteAwardEmojiManager, ProjectMergeRequestNoteAwardEmojiManager, ProjectSnippetNoteAwardEmojiManager, ) __all__ = [ + "GroupEpicNote", + "GroupEpicNoteManager", + "GroupEpicDiscussionNote", + "GroupEpicDiscussionNoteManager", "ProjectNote", "ProjectNoteManager", "ProjectCommitDiscussionNote", @@ -38,6 +43,46 @@ __all__ = [ ] +class GroupEpicNote(SaveMixin, ObjectDeleteMixin, RESTObject): + awardemojis: GroupEpicNoteAwardEmojiManager + + +class GroupEpicNoteManager(CRUDMixin, RESTManager): + _path = "/groups/{group_id}/epics/{epic_iid}/notes" + _obj_cls = GroupEpicNote + _from_parent_attrs = {"group_id": "group_id", "epic_iid": "iid"} + _create_attrs = RequiredOptional(required=("body",), optional=("created_at",)) + _update_attrs = RequiredOptional(required=("body",)) + + def get( + self, id: Union[str, int], lazy: bool = False, **kwargs: Any + ) -> GroupEpicNote: + return cast(GroupEpicNote, super().get(id=id, lazy=lazy, **kwargs)) + + +class GroupEpicDiscussionNote(SaveMixin, ObjectDeleteMixin, RESTObject): + pass + + +class GroupEpicDiscussionNoteManager( + GetMixin, CreateMixin, UpdateMixin, DeleteMixin, RESTManager +): + _path = "/groups/{group_id}/epics/{epic_iid}/discussions/{discussion_id}/notes" + _obj_cls = GroupEpicDiscussionNote + _from_parent_attrs = { + "group_id": "group_id", + "epic_iid": "epic_iid", + "discussion_id": "id", + } + _create_attrs = RequiredOptional(required=("body",), optional=("created_at",)) + _update_attrs = RequiredOptional(required=("body",)) + + def get( + self, id: Union[str, int], lazy: bool = False, **kwargs: Any + ) -> GroupEpicDiscussionNote: + return cast(GroupEpicDiscussionNote, super().get(id=id, lazy=lazy, **kwargs)) + + class ProjectNote(RESTObject): pass @@ -172,7 +217,7 @@ class ProjectMergeRequestDiscussionNoteManager( class ProjectSnippetNote(SaveMixin, ObjectDeleteMixin, RESTObject): - awardemojis: ProjectMergeRequestNoteAwardEmojiManager + awardemojis: ProjectSnippetNoteAwardEmojiManager class ProjectSnippetNoteManager(CRUDMixin, RESTManager): |