summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/gl_objects/users.py71
-rw-r--r--docs/gl_objects/users.rst218
2 files changed, 151 insertions, 138 deletions
diff --git a/docs/gl_objects/users.py b/docs/gl_objects/users.py
index 798678d..c3618b9 100644
--- a/docs/gl_objects/users.py
+++ b/docs/gl_objects/users.py
@@ -36,37 +36,44 @@ user.unblock()
# end block
# key list
-keys = gl.user_keys.list(user_id=1)
-# or
keys = user.keys.list()
# end key list
# key get
-key = gl.user_keys.list(1, user_id=1)
-# or
key = user.keys.get(1)
# end key get
# key create
-k = gl.user_keys.create({'title': 'my_key',
- 'key': open('/home/me/.ssh/id_rsa.pub').read()},
- user_id=2)
-# or
k = user.keys.create({'title': 'my_key',
'key': open('/home/me/.ssh/id_rsa.pub').read()})
# end key create
# key delete
-gl.user_keys.delete(1, user_id=1)
-# or
user.keys.delete(1)
# or
key.delete()
# end key delete
-# email list
-emails = gl.user_emails.list(user_id=1)
+# gpgkey list
+gpgkeys = user.gpgkeys.list()
+# end gpgkey list
+
+# gpgkey get
+gpgkey = user.gpgkeys.get(1)
+# end gpgkey get
+
+# gpgkey create
+# get the key with `gpg --export -a GPG_KEY_ID`
+k = user.gpgkeys.create({'key': public_key_content})
+# end gpgkey create
+
+# gpgkey delete
+user.gpgkeys.delete(1)
# or
+gpgkey.delete()
+# end gpgkey delete
+
+# email list
emails = user.emails.list()
# end email list
@@ -77,14 +84,10 @@ email = user.emails.get(1)
# end email get
# email create
-k = gl.user_emails.create({'email': 'foo@bar.com'}, user_id=2)
-# or
k = user.emails.create({'email': 'foo@bar.com'})
# end email create
# email delete
-gl.user_emails.delete(1, user_id=1)
-# or
user.emails.delete(1)
# or
email.delete()
@@ -94,39 +97,3 @@ email.delete()
gl.auth()
current_user = gl.user
# end currentuser get
-
-# currentuser key list
-keys = gl.user.keys.list()
-# end currentuser key list
-
-# currentuser key get
-key = gl.user.keys.get(1)
-# end currentuser key get
-
-# currentuser key create
-key = gl.user.keys.create({'id': 'my_key', 'key': key_content})
-# end currentuser key create
-
-# currentuser key delete
-gl.user.keys.delete(1)
-# or
-key.delete()
-# end currentuser key delete
-
-# currentuser email list
-emails = gl.user.emails.list()
-# end currentuser email list
-
-# currentuser email get
-email = gl.user.emails.get(1)
-# end currentuser email get
-
-# currentuser email create
-email = gl.user.emails.create({'email': 'foo@bar.com'})
-# end currentuser email create
-
-# currentuser email delete
-gl.user.emails.delete(1)
-# or
-email.delete()
-# end currentuser email delete
diff --git a/docs/gl_objects/users.rst b/docs/gl_objects/users.rst
index 8df93b0..d5b2976 100644
--- a/docs/gl_objects/users.rst
+++ b/docs/gl_objects/users.rst
@@ -1,14 +1,32 @@
-#####
+######################
+Users and current user
+######################
+
+The Gitlab API exposes user-related method that can be manipulated by admins
+only.
+
+The currently logged-in user is also exposed.
+
Users
-#####
+=====
+
+References
+----------
+
+* v4 API:
+
+ + :class:`gitlab.v4.objects.User`
+ + :class:`gitlab.v4.objects.UserManager`
+ + :attr:`gitlab.Gitlab.users`
-Use :class:`~gitlab.objects.User` objects to manipulate repository branches.
+* v3 API:
-To create :class:`~gitlab.objects.User` objects use the
-:attr:`gitlab.Gitlab.users` manager.
+ + :class:`gitlab.v3.objects.User`
+ + :class:`gitlab.v3.objects.UserManager`
+ + :attr:`gitlab.Gitlab.users`
Examples
-========
+--------
Get the list of users:
@@ -52,14 +70,97 @@ Block/Unblock a user:
:start-after: # block
:end-before: # end block
+Current User
+============
+
+* v4 API:
+
+ + :class:`gitlab.v4.objects.CurrentUser`
+ + :class:`gitlab.v4.objects.CurrentUserManager`
+ + :attr:`gitlab.Gitlab.user`
+
+* v3 API:
+
+ + :class:`gitlab.v3.objects.CurrentUser`
+ + :class:`gitlab.v3.objects.CurrentUserManager`
+ + :attr:`gitlab.Gitlab.user`
+
+Examples
+--------
+
+Get the current user:
+
+.. literalinclude:: users.py
+ :start-after: # currentuser get
+ :end-before: # end currentuser get
+
+GPG keys
+========
+
+You can manipulate GPG keys for the current user and for the other users if you
+are admin.
+
+* v4 API:
+
+ + :class:`gitlab.v4.objects.CurrentUserGPGKey`
+ + :class:`gitlab.v4.objects.CurrentUserGPGKeyManager`
+ + :attr:`gitlab.v4.objects.CurrentUser.gpgkeys`
+ + :class:`gitlab.v4.objects.UserGPGKey`
+ + :class:`gitlab.v4.objects.UserGPGKeyManager`
+ + :attr:`gitlab.v4.objects.User.gpgkeys`
+
+Exemples
+--------
+
+List GPG keys for a user:
+
+.. literalinclude:: users.py
+ :start-after: # gpgkey list
+ :end-before: # end gpgkey list
+
+Get an GPG gpgkey for a user:
+
+.. literalinclude:: users.py
+ :start-after: # gpgkey get
+ :end-before: # end gpgkey get
+
+Create an GPG gpgkey for a user:
+
+.. literalinclude:: users.py
+ :start-after: # gpgkey create
+ :end-before: # end gpgkey create
+
+Delete an GPG gpgkey for a user:
+
+.. literalinclude:: users.py
+ :start-after: # gpgkey delete
+ :end-before: # end gpgkey delete
+
SSH keys
========
-Use the :class:`~gitlab.objects.UserKey` objects to manage user keys.
+You can manipulate SSH keys for the current user and for the other users if you
+are admin.
+
+* v4 API:
+
+ + :class:`gitlab.v4.objects.CurrentUserKey`
+ + :class:`gitlab.v4.objects.CurrentUserKeyManager`
+ + :attr:`gitlab.v4.objects.CurrentUser.keys`
+ + :class:`gitlab.v4.objects.UserKey`
+ + :class:`gitlab.v4.objects.UserKeyManager`
+ + :attr:`gitlab.v4.objects.User.keys`
-To create :class:`~gitlab.objects.UserKey` objects use the
-:attr:`User.keys <gitlab.objects.User.keys>` or :attr:`gitlab.Gitlab.user_keys`
-managers.
+* v3 API:
+
+ + :class:`gitlab.v3.objects.CurrentUserKey`
+ + :class:`gitlab.v3.objects.CurrentUserKeyManager`
+ + :attr:`gitlab.v3.objects.CurrentUser.keys`
+ + :attr:`gitlab.Gitlab.user.keys`
+ + :class:`gitlab.v3.objects.UserKey`
+ + :class:`gitlab.v3.objects.UserKeyManager`
+ + :attr:`gitlab.v3.objects.User.keys`
+ + :attr:`gitlab.Gitlab.user_keys`
Exemples
--------
@@ -91,10 +192,28 @@ Delete an SSH key for a user:
Emails
======
-Use the :class:`~gitlab.objects.UserEmail` objects to manage user emails.
+You can manipulate emails for the current user and for the other users if you
+are admin.
+
+* v4 API:
+
+ + :class:`gitlab.v4.objects.CurrentUserEmail`
+ + :class:`gitlab.v4.objects.CurrentUserEmailManager`
+ + :attr:`gitlab.v4.objects.CurrentUser.emails`
+ + :class:`gitlab.v4.objects.UserEmail`
+ + :class:`gitlab.v4.objects.UserEmailManager`
+ + :attr:`gitlab.v4.objects.User.emails`
-To create :class:`~gitlab.objects.UserEmail` objects use the :attr:`User.emails
-<gitlab.objects.User.emails>` or :attr:`gitlab.Gitlab.user_emails` managers.
+* v3 API:
+
+ + :class:`gitlab.v3.objects.CurrentUserEmail`
+ + :class:`gitlab.v3.objects.CurrentUserEmailManager`
+ + :attr:`gitlab.v3.objects.CurrentUser.emails`
+ + :attr:`gitlab.Gitlab.user.emails`
+ + :class:`gitlab.v3.objects.UserEmail`
+ + :class:`gitlab.v3.objects.UserEmailManager`
+ + :attr:`gitlab.v3.objects.User.emails`
+ + :attr:`gitlab.Gitlab.user_emails`
Exemples
--------
@@ -122,76 +241,3 @@ Delete an email for a user:
.. literalinclude:: users.py
:start-after: # email delete
:end-before: # end email delete
-
-Current User
-============
-
-Use the :class:`~gitlab.objects.CurrentUser` object to get information about
-the currently logged-in user.
-
-Use the :class:`~gitlab.objects.CurrentUserKey` objects to manage user keys.
-
-To create :class:`~gitlab.objects.CurrentUserKey` objects use the
-:attr:`gitlab.objects.CurrentUser.keys <CurrentUser.keys>` manager.
-
-Use the :class:`~gitlab.objects.CurrentUserEmail` objects to manage user emails.
-
-To create :class:`~gitlab.objects.CurrentUserEmail` objects use the
-:attr:`gitlab.objects.CurrentUser.emails <CurrentUser.emails>` manager.
-
-Examples
---------
-
-Get the current user:
-
-.. literalinclude:: users.py
- :start-after: # currentuser get
- :end-before: # end currentuser get
-
-List the current user SSH keys:
-
-.. literalinclude:: users.py
- :start-after: # currentuser key list
- :end-before: # end currentuser key list
-
-Get a key for the current user:
-
-.. literalinclude:: users.py
- :start-after: # currentuser key get
- :end-before: # end currentuser key get
-
-Create a key for the current user:
-
-.. literalinclude:: users.py
- :start-after: # currentuser key create
- :end-before: # end currentuser key create
-
-Delete a key for the current user:
-
-.. literalinclude:: users.py
- :start-after: # currentuser key delete
- :end-before: # end currentuser key delete
-
-List the current user emails:
-
-.. literalinclude:: users.py
- :start-after: # currentuser email list
- :end-before: # end currentuser email list
-
-Get an email for the current user:
-
-.. literalinclude:: users.py
- :start-after: # currentuser email get
- :end-before: # end currentuser email get
-
-Create an email for the current user:
-
-.. literalinclude:: users.py
- :start-after: # currentuser email create
- :end-before: # end currentuser email create
-
-Delete an email for the current user:
-
-.. literalinclude:: users.py
- :start-after: # currentuser email delete
- :end-before: # end currentuser email delete