summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/api-objects.rst1
-rw-r--r--docs/gl_objects/users.py88
-rw-r--r--docs/gl_objects/users.rst128
3 files changed, 217 insertions, 0 deletions
diff --git a/docs/api-objects.rst b/docs/api-objects.rst
index 7b5d40b..8a15164 100644
--- a/docs/api-objects.rst
+++ b/docs/api-objects.rst
@@ -5,3 +5,4 @@ API objects manipulation
.. toctree::
gl_objects/branches
+ gl_objects/users
diff --git a/docs/gl_objects/users.py b/docs/gl_objects/users.py
new file mode 100644
index 0000000..99b986f
--- /dev/null
+++ b/docs/gl_objects/users.py
@@ -0,0 +1,88 @@
+# list
+users = gl.users.list()
+# end list
+
+# search
+users = gl.users.list(search='oo')
+# end search
+
+# get
+# by ID
+user = gl.users.get(2)
+# by username
+user = gl.users.list(username='root')
+# end get
+
+# create
+user = gl.users.create({'email': 'john@doe.com',
+ 'password': 's3cur3s3cr3T',
+ 'username': 'jdoe',
+ 'name': 'John Doe'})
+# end create
+
+# update
+user.name = 'Real Name'
+user.save()
+# end update
+
+# delete
+gl.users.delete(2)
+user.delete()
+# end delete
+
+# block
+user.block()
+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
+
+# currentuser get
+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
diff --git a/docs/gl_objects/users.rst b/docs/gl_objects/users.rst
new file mode 100644
index 0000000..dfcfe73
--- /dev/null
+++ b/docs/gl_objects/users.rst
@@ -0,0 +1,128 @@
+#####
+Users
+#####
+
+Use :class:`User` objects to manipulate repository branches.
+
+To create :class:`User` objects use the :class:`Gitlab.users` manager.
+
+Examples
+========
+
+Get the list of users:
+
+.. literalinclude:: users.py
+ :start-after: # list
+ :end-before: # end list
+
+Search users whose username match the given string:
+
+.. literalinclude:: users.py
+ :start-after: # search
+ :end-before: # end search
+
+Get a single user:
+
+.. literalinclude:: users.py
+ :start-after: # get
+ :end-before: # end get
+
+Create a user:
+
+.. literalinclude:: users.py
+ :start-after: # create
+ :end-before: # end create
+
+Update a user:
+
+.. literalinclude:: users.py
+ :start-after: # update
+ :end-before: # end update
+
+Delete a user:
+
+.. literalinclude:: users.py
+ :start-after: # delete
+ :end-before: # end delete
+
+Block/Unblock a user:
+
+.. literalinclude:: users.py
+ :start-after: # block
+ :end-before: # end block
+
+SSH keys
+========
+
+Use the :class:`UserKey` objects to manage user keys.
+
+To create :class:`UserKey` objects use the :class:`User.keys` or
+:class:`Gitlab.user_keys` managers.
+
+Exemples
+--------
+
+List SSH keys for a user:
+
+.. literalinclude:: users.py
+ :start-after: # key list
+ :end-before: # end key list
+
+Get an SSH key for a user:
+
+.. literalinclude:: users.py
+ :start-after: # key get
+ :end-before: # end key get
+
+Create an SSH key for a user:
+
+.. literalinclude:: users.py
+ :start-after: # key create
+ :end-before: # end key create
+
+Delete an SSH key for a user:
+
+.. literalinclude:: users.py
+ :start-after: # key delete
+ :end-before: # end key delete
+
+Current User
+============
+
+Use the :class:`CurrentUser` object to get information about the currently
+logged-in user.
+
+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
+
+