diff options
Diffstat (limited to 'gitlab/v4/objects/discussions.py')
-rw-r--r-- | gitlab/v4/objects/discussions.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gitlab/v4/objects/discussions.py b/gitlab/v4/objects/discussions.py index 94f0a39..fa874c4 100644 --- a/gitlab/v4/objects/discussions.py +++ b/gitlab/v4/objects/discussions.py @@ -1,3 +1,5 @@ +from typing import Any, cast, Union + from gitlab.base import RequiredOptional, RESTManager, RESTObject from gitlab.mixins import CreateMixin, RetrieveMixin, SaveMixin, UpdateMixin @@ -30,6 +32,11 @@ class ProjectCommitDiscussionManager(RetrieveMixin, CreateMixin, RESTManager): _from_parent_attrs = {"project_id": "project_id", "commit_id": "id"} _create_attrs = RequiredOptional(required=("body",), optional=("created_at",)) + def get( + self, id: Union[str, int], lazy: bool = False, **kwargs: Any + ) -> ProjectCommitDiscussion: + return cast(ProjectCommitDiscussion, super().get(id=id, lazy=lazy, **kwargs)) + class ProjectIssueDiscussion(RESTObject): notes: ProjectIssueDiscussionNoteManager @@ -41,6 +48,11 @@ class ProjectIssueDiscussionManager(RetrieveMixin, CreateMixin, RESTManager): _from_parent_attrs = {"project_id": "project_id", "issue_iid": "iid"} _create_attrs = RequiredOptional(required=("body",), optional=("created_at",)) + def get( + self, id: Union[str, int], lazy: bool = False, **kwargs: Any + ) -> ProjectIssueDiscussion: + return cast(ProjectIssueDiscussion, super().get(id=id, lazy=lazy, **kwargs)) + class ProjectMergeRequestDiscussion(SaveMixin, RESTObject): notes: ProjectMergeRequestDiscussionNoteManager @@ -57,6 +69,13 @@ class ProjectMergeRequestDiscussionManager( ) _update_attrs = RequiredOptional(required=("resolved",)) + def get( + self, id: Union[str, int], lazy: bool = False, **kwargs: Any + ) -> ProjectMergeRequestDiscussion: + return cast( + ProjectMergeRequestDiscussion, super().get(id=id, lazy=lazy, **kwargs) + ) + class ProjectSnippetDiscussion(RESTObject): notes: ProjectSnippetDiscussionNoteManager @@ -67,3 +86,8 @@ class ProjectSnippetDiscussionManager(RetrieveMixin, CreateMixin, RESTManager): _obj_cls = ProjectSnippetDiscussion _from_parent_attrs = {"project_id": "project_id", "snippet_id": "id"} _create_attrs = RequiredOptional(required=("body",), optional=("created_at",)) + + def get( + self, id: Union[str, int], lazy: bool = False, **kwargs: Any + ) -> ProjectSnippetDiscussion: + return cast(ProjectSnippetDiscussion, super().get(id=id, lazy=lazy, **kwargs)) |