diff options
| author | John L. Villalovos <john@sodarock.com> | 2021-03-07 11:31:23 -0800 |
|---|---|---|
| committer | Nejc Habjan <hab.nejc@gmail.com> | 2021-04-17 17:09:41 +0200 |
| commit | aee1f496c1f414c1e30909767d53ae624fe875e7 (patch) | |
| tree | 04a7fe9d8f77cffeae733bb8dd3447911995f3a1 /gitlab/v4/objects/users.py | |
| parent | 8603248f73d8c751023fbfd2a394c5b7d939af7f (diff) | |
| download | gitlab-aee1f496c1f414c1e30909767d53ae624fe875e7.tar.gz | |
chore: have _create_attrs & _update_attrs be a namedtuple
Convert _create_attrs and _update_attrs to use a NamedTuple
(RequiredOptional) to help with code readability. Update all code to
use the NamedTuple.
Diffstat (limited to 'gitlab/v4/objects/users.py')
| -rw-r--r-- | gitlab/v4/objects/users.py | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/gitlab/v4/objects/users.py b/gitlab/v4/objects/users.py index 4f14e86..940cf07 100644 --- a/gitlab/v4/objects/users.py +++ b/gitlab/v4/objects/users.py @@ -1,6 +1,6 @@ from gitlab import cli, types from gitlab import exceptions as exc -from gitlab.base import RESTManager, RESTObject +from gitlab.base import RequiredOptional, RESTManager, RESTObject from gitlab.mixins import ( CRUDMixin, CreateMixin, @@ -60,7 +60,7 @@ class CurrentUserEmail(ObjectDeleteMixin, RESTObject): class CurrentUserEmailManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager): _path = "/user/emails" _obj_cls = CurrentUserEmail - _create_attrs = (("email",), tuple()) + _create_attrs = RequiredOptional(required=("email",)) class CurrentUserGPGKey(ObjectDeleteMixin, RESTObject): @@ -70,7 +70,7 @@ class CurrentUserGPGKey(ObjectDeleteMixin, RESTObject): class CurrentUserGPGKeyManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager): _path = "/user/gpg_keys" _obj_cls = CurrentUserGPGKey - _create_attrs = (("key",), tuple()) + _create_attrs = RequiredOptional(required=("key",)) class CurrentUserKey(ObjectDeleteMixin, RESTObject): @@ -80,7 +80,7 @@ class CurrentUserKey(ObjectDeleteMixin, RESTObject): class CurrentUserKeyManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager): _path = "/user/keys" _obj_cls = CurrentUserKey - _create_attrs = (("title", "key"), tuple()) + _create_attrs = RequiredOptional(required=("title", "key")) class CurrentUserStatus(SaveMixin, RESTObject): @@ -91,7 +91,7 @@ class CurrentUserStatus(SaveMixin, RESTObject): class CurrentUserStatusManager(GetWithoutIdMixin, UpdateMixin, RESTManager): _path = "/user/status" _obj_cls = CurrentUserStatus - _update_attrs = (tuple(), ("emoji", "message")) + _update_attrs = RequiredOptional(optional=("emoji", "message")) class CurrentUser(RESTObject): @@ -264,9 +264,8 @@ class UserManager(CRUDMixin, RESTManager): "status", "two_factor", ) - _create_attrs = ( - tuple(), - ( + _create_attrs = RequiredOptional( + optional=( "email", "username", "name", @@ -293,9 +292,9 @@ class UserManager(CRUDMixin, RESTManager): "theme_id", ), ) - _update_attrs = ( - ("email", "username", "name"), - ( + _update_attrs = RequiredOptional( + required=("email", "username", "name"), + optional=( "password", "skype", "linkedin", @@ -340,7 +339,7 @@ class UserEmailManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager): _path = "/users/%(user_id)s/emails" _obj_cls = UserEmail _from_parent_attrs = {"user_id": "id"} - _create_attrs = (("email",), tuple()) + _create_attrs = RequiredOptional(required=("email",)) class UserActivities(RESTObject): @@ -371,7 +370,7 @@ class UserGPGKeyManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager): _path = "/users/%(user_id)s/gpg_keys" _obj_cls = UserGPGKey _from_parent_attrs = {"user_id": "id"} - _create_attrs = (("key",), tuple()) + _create_attrs = RequiredOptional(required=("key",)) class UserKey(ObjectDeleteMixin, RESTObject): @@ -382,7 +381,7 @@ class UserKeyManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): _path = "/users/%(user_id)s/keys" _obj_cls = UserKey _from_parent_attrs = {"user_id": "id"} - _create_attrs = (("title", "key"), tuple()) + _create_attrs = RequiredOptional(required=("title", "key")) class UserIdentityProviderManager(DeleteMixin, RESTManager): @@ -404,7 +403,9 @@ class UserImpersonationTokenManager(NoUpdateMixin, RESTManager): _path = "/users/%(user_id)s/impersonation_tokens" _obj_cls = UserImpersonationToken _from_parent_attrs = {"user_id": "id"} - _create_attrs = (("name", "scopes"), ("expires_at",)) + _create_attrs = RequiredOptional( + required=("name", "scopes"), optional=("expires_at",) + ) _list_filters = ("state",) @@ -428,9 +429,9 @@ class UserProjectManager(ListMixin, CreateMixin, RESTManager): _path = "/projects/user/%(user_id)s" _obj_cls = UserProject _from_parent_attrs = {"user_id": "id"} - _create_attrs = ( - ("name",), - ( + _create_attrs = RequiredOptional( + required=("name",), + optional=( "default_branch", "issues_enabled", "wall_enabled", |
