summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects.py
diff options
context:
space:
mode:
authorNejc Habjan <hab.nejc@gmail.com>2020-02-22 22:55:50 +0100
committerNejc Habjan <hab.nejc@gmail.com>2020-02-22 23:00:29 +0100
commitc313c2b01d796418539e42d578fed635f750cdc1 (patch)
tree7b53057dc000d06b1929a02b11ef929a0ff4be04 /gitlab/v4/objects.py
parente8f0921d164c4b7db78e2f62e75eb32094b4456e (diff)
downloadgitlab-c313c2b01d796418539e42d578fed635f750cdc1.tar.gz
feat: add support for user memberships API (#1009)
Diffstat (limited to 'gitlab/v4/objects.py')
-rw-r--r--gitlab/v4/objects.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py
index 83f77d3..92650b1 100644
--- a/gitlab/v4/objects.py
+++ b/gitlab/v4/objects.py
@@ -229,6 +229,17 @@ class UserImpersonationTokenManager(NoUpdateMixin, RESTManager):
_list_filters = ("state",)
+class UserMembership(RESTObject):
+ _id_attr = "source_id"
+
+
+class UserMembershipManager(RetrieveMixin, RESTManager):
+ _path = "/users/%(user_id)s/memberships"
+ _obj_cls = UserMembership
+ _from_parent_attrs = {"user_id": "id"}
+ _list_filters = ("type",)
+
+
class UserProject(RESTObject):
pass
@@ -311,6 +322,7 @@ class User(SaveMixin, ObjectDeleteMixin, RESTObject):
("gpgkeys", "UserGPGKeyManager"),
("impersonationtokens", "UserImpersonationTokenManager"),
("keys", "UserKeyManager"),
+ ("memberships", "UserMembershipManager"),
("projects", "UserProjectManager"),
("status", "UserStatusManager"),
)