Skip to content

Commit eb0e71e

Browse files
committed
feat(user): add status api
1 parent 0256c67 commit eb0e71e

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ MANIFEST
88
docs/_build
99
.testrepository/
1010
.tox
11+
venv/

gitlab/v4/objects.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,21 @@ class EventManager(ListMixin, RESTManager):
123123
_obj_cls = Event
124124
_list_filters = ("action", "target_type", "before", "after", "sort")
125125

126-
127126
class UserActivities(RESTObject):
128127
_id_attr = "username"
129128

130129

130+
class UserStatus(RESTObject):
131+
_short_print_attr = "email"
132+
133+
134+
class UserStatusManager(GetMixin, UpdateMixin, RESTManager):
135+
_path = "/users/%(user_id)s/status"
136+
_obj_cls = UserStatus
137+
_from_parent_attrs = {"user_id": "id"}
138+
_create_attrs = (("status",), tuple())
139+
140+
131141
class UserActivitiesManager(ListMixin, RESTManager):
132142
_path = "/user/activities"
133143
_obj_cls = UserActivities
@@ -267,6 +277,7 @@ class User(SaveMixin, ObjectDeleteMixin, RESTObject):
267277
_managers = (
268278
("customattributes", "UserCustomAttributeManager"),
269279
("emails", "UserEmailManager"),
280+
("status", "UserStatusManager"),
270281
("events", "UserEventManager"),
271282
("gpgkeys", "UserGPGKeyManager"),
272283
("impersonationtokens", "UserImpersonationTokenManager"),
@@ -410,10 +421,21 @@ class CurrentUserKeyManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager
410421
_create_attrs = (("title", "key"), tuple())
411422

412423

424+
class CurrentUserStatus(RESTObject):
425+
_short_print_attr = "emoji"
426+
427+
428+
class CurrentUserStatusManager(GetMixin, UpdateMixin, RESTManager):
429+
_path = "/user/status"
430+
_obj_cls = CurrentUserStatus
431+
_create_attrs = (("emoji", "message", "message_html"), tuple())
432+
433+
413434
class CurrentUser(RESTObject):
414435
_id_attr = None
415436
_short_print_attr = "username"
416437
_managers = (
438+
("status", "CurrentUserStatusManager"),
417439
("emails", "CurrentUserEmailManager"),
418440
("gpgkeys", "CurrentUserGPGKeyManager"),
419441
("keys", "CurrentUserKeyManager"),

0 commit comments

Comments
 (0)