summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/members.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/v4/objects/members.py')
-rw-r--r--gitlab/v4/objects/members.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/gitlab/v4/objects/members.py b/gitlab/v4/objects/members.py
index a0abb00..8fa2bb3 100644
--- a/gitlab/v4/objects/members.py
+++ b/gitlab/v4/objects/members.py
@@ -1,3 +1,5 @@
+from typing import Any, cast, Union
+
from gitlab import types
from gitlab.base import RequiredOptional, RESTManager, RESTObject
from gitlab.mixins import (
@@ -39,6 +41,11 @@ class GroupMemberManager(CRUDMixin, RESTManager):
)
_types = {"user_ids": types.ListAttribute}
+ def get(
+ self, id: Union[str, int], lazy: bool = False, **kwargs: Any
+ ) -> GroupMember:
+ return cast(GroupMember, super().get(id=id, lazy=lazy, **kwargs))
+
class GroupBillableMember(ObjectDeleteMixin, RESTObject):
_short_print_attr = "username"
@@ -68,6 +75,11 @@ class GroupMemberAllManager(RetrieveMixin, RESTManager):
_obj_cls = GroupMember
_from_parent_attrs = {"group_id": "id"}
+ def get(
+ self, id: Union[str, int], lazy: bool = False, **kwargs: Any
+ ) -> GroupMember:
+ return cast(GroupMember, super().get(id=id, lazy=lazy, **kwargs))
+
class ProjectMember(SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = "username"
@@ -85,8 +97,18 @@ class ProjectMemberManager(CRUDMixin, RESTManager):
)
_types = {"user_ids": types.ListAttribute}
+ def get(
+ self, id: Union[str, int], lazy: bool = False, **kwargs: Any
+ ) -> ProjectMember:
+ return cast(ProjectMember, super().get(id=id, lazy=lazy, **kwargs))
+
class ProjectMemberAllManager(RetrieveMixin, RESTManager):
_path = "/projects/{project_id}/members/all"
_obj_cls = ProjectMember
_from_parent_attrs = {"project_id": "id"}
+
+ def get(
+ self, id: Union[str, int], lazy: bool = False, **kwargs: Any
+ ) -> ProjectMember:
+ return cast(ProjectMember, super().get(id=id, lazy=lazy, **kwargs))