@@ -128,6 +128,17 @@ class UserActivities(RESTObject):
128128 _id_attr = "username"
129129
130130
131+ class UserStatus (RESTObject ):
132+ _id_attr = None
133+ _short_print_attr = "message"
134+
135+
136+ class UserStatusManager (GetWithoutIdMixin , RESTManager ):
137+ _path = "/users/%(user_id)s/status"
138+ _obj_cls = UserStatus
139+ _from_parent_attrs = {"user_id" : "id" }
140+
141+
131142class UserActivitiesManager (ListMixin , RESTManager ):
132143 _path = "/user/activities"
133144 _obj_cls = UserActivities
@@ -186,6 +197,16 @@ class UserKeyManager(ListMixin, CreateMixin, DeleteMixin, RESTManager):
186197 _create_attrs = (("title" , "key" ), tuple ())
187198
188199
200+ class UserStatus (RESTObject ):
201+ pass
202+
203+
204+ class UserStatusManager (GetWithoutIdMixin , RESTManager ):
205+ _path = "/users/%(user_id)s/status"
206+ _obj_cls = UserStatus
207+ _from_parent_attrs = {"user_id" : "id" }
208+
209+
189210class UserImpersonationToken (ObjectDeleteMixin , RESTObject ):
190211 pass
191212
@@ -272,6 +293,7 @@ class User(SaveMixin, ObjectDeleteMixin, RESTObject):
272293 ("impersonationtokens" , "UserImpersonationTokenManager" ),
273294 ("keys" , "UserKeyManager" ),
274295 ("projects" , "UserProjectManager" ),
296+ ("status" , "UserStatusManager" ),
275297 )
276298
277299 @cli .register_custom_action ("User" )
@@ -330,6 +352,7 @@ class UserManager(CRUDMixin, RESTManager):
330352 "external" ,
331353 "search" ,
332354 "custom_attributes" ,
355+ "status" ,
333356 )
334357 _create_attrs = (
335358 tuple (),
@@ -410,10 +433,22 @@ class CurrentUserKeyManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager
410433 _create_attrs = (("title" , "key" ), tuple ())
411434
412435
436+ class CurrentUserStatus (SaveMixin , RESTObject ):
437+ _id_attr = None
438+ _short_print_attr = "message"
439+
440+
441+ class CurrentUserStatusManager (GetWithoutIdMixin , UpdateMixin , RESTManager ):
442+ _path = "/user/status"
443+ _obj_cls = CurrentUserStatus
444+ _update_attrs = (tuple (), ("emoji" , "message" ))
445+
446+
413447class CurrentUser (RESTObject ):
414448 _id_attr = None
415449 _short_print_attr = "username"
416450 _managers = (
451+ ("status" , "CurrentUserStatusManager" ),
417452 ("emails" , "CurrentUserEmailManager" ),
418453 ("gpgkeys" , "CurrentUserGPGKeyManager" ),
419454 ("keys" , "CurrentUserKeyManager" ),
0 commit comments