diff options
author | Max Wittig <max.wittig@siemens.com> | 2019-09-05 09:00:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-05 09:00:56 +0200 |
commit | b7f33429c75ed2f464ebd9b4d3c56d3479df3faa (patch) | |
tree | 789d02bcbf87254fb21ec2bffb1699b6e3b70bff /gitlab | |
parent | 1490b0e7f175d54cc6d35de7aac6d9e45c0e3d51 (diff) | |
parent | 62c9fe63a47ddde2792a4a5e9cd1c7aa48661492 (diff) | |
download | gitlab-b7f33429c75ed2f464ebd9b4d3c56d3479df3faa.tar.gz |
Merge pull request #875 from python-gitlab/feat/status-api
feat(user): add status api
Diffstat (limited to 'gitlab')
-rw-r--r-- | gitlab/v4/objects.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py index 14c03e4..76033b2 100644 --- a/gitlab/v4/objects.py +++ b/gitlab/v4/objects.py @@ -128,6 +128,17 @@ class UserActivities(RESTObject): _id_attr = "username" +class UserStatus(RESTObject): + _id_attr = None + _short_print_attr = "message" + + +class UserStatusManager(GetWithoutIdMixin, RESTManager): + _path = "/users/%(user_id)s/status" + _obj_cls = UserStatus + _from_parent_attrs = {"user_id": "id"} + + class UserActivitiesManager(ListMixin, RESTManager): _path = "/user/activities" _obj_cls = UserActivities @@ -186,6 +197,16 @@ class UserKeyManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): _create_attrs = (("title", "key"), tuple()) +class UserStatus(RESTObject): + pass + + +class UserStatusManager(GetWithoutIdMixin, RESTManager): + _path = "/users/%(user_id)s/status" + _obj_cls = UserStatus + _from_parent_attrs = {"user_id": "id"} + + class UserImpersonationToken(ObjectDeleteMixin, RESTObject): pass @@ -272,6 +293,7 @@ class User(SaveMixin, ObjectDeleteMixin, RESTObject): ("impersonationtokens", "UserImpersonationTokenManager"), ("keys", "UserKeyManager"), ("projects", "UserProjectManager"), + ("status", "UserStatusManager"), ) @cli.register_custom_action("User") @@ -330,6 +352,7 @@ class UserManager(CRUDMixin, RESTManager): "external", "search", "custom_attributes", + "status", ) _create_attrs = ( tuple(), @@ -410,10 +433,22 @@ class CurrentUserKeyManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager _create_attrs = (("title", "key"), tuple()) +class CurrentUserStatus(SaveMixin, RESTObject): + _id_attr = None + _short_print_attr = "message" + + +class CurrentUserStatusManager(GetWithoutIdMixin, UpdateMixin, RESTManager): + _path = "/user/status" + _obj_cls = CurrentUserStatus + _update_attrs = (tuple(), ("emoji", "message")) + + class CurrentUser(RESTObject): _id_attr = None _short_print_attr = "username" _managers = ( + ("status", "CurrentUserStatusManager"), ("emails", "CurrentUserEmailManager"), ("gpgkeys", "CurrentUserGPGKeyManager"), ("keys", "CurrentUserKeyManager"), |