summaryrefslogtreecommitdiff
path: root/lib/api/projects.rb
diff options
context:
space:
mode:
authormiks <miks@cubesystems.lv>2012-09-06 23:49:29 +0300
committermiks <miks@cubesystems.lv>2012-09-06 23:49:29 +0300
commit909c8c345dff0851e15d81917efe7817c7f89e22 (patch)
tree4956244a32cce076eb0aa5d1f614bdf7c042faa0 /lib/api/projects.rb
parent2dc0519277417456372d6bde5c47bec895cc497e (diff)
downloadgitlab-ce-909c8c345dff0851e15d81917efe7817c7f89e22.tar.gz
Make project users API more RESTful
Diffstat (limited to 'lib/api/projects.rb')
-rw-r--r--lib/api/projects.rb38
1 files changed, 36 insertions, 2 deletions
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index 9cd86d0b899..e56f894987c 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -44,6 +44,17 @@ module Gitlab
end
end
+ # Get project users
+ #
+ # Parameters:
+ # id (required) - The ID or code name of a project
+ # Example Request:
+ # GET /projects/:id/users
+ get ":id/users" do
+ @users_projects = paginate user_project.users_projects
+ present @users_projects, with: Entities::UsersProject
+ end
+
# Add users to project with specified access level
#
# Parameters:
@@ -51,11 +62,34 @@ module Gitlab
# user_ids (required) - The ID list of users to add
# project_access (required) - Project access level
# Example Request:
- # PUT /projects/:id/add_users
- put ":id/add_users" do
+ # POST /projects/:id/users
+ post ":id/users" do
user_project.add_users_ids_to_team(params[:user_ids].values, params[:project_access])
end
+ # Update users to specified access level
+ #
+ # Parameters:
+ # id (required) - The ID or code name of a project
+ # user_ids (required) - The ID list of users to add
+ # project_access (required) - New project access level to
+ # Example Request:
+ # PUT /projects/:id/add_users
+ put ":id/users" do
+ user_project.update_users_ids_to_role(params[:user_ids].values, params[:project_access])
+ end
+
+ # Delete project users
+ #
+ # Parameters:
+ # id (required) - The ID or code name of a project
+ # user_ids (required) - The ID list of users to delete
+ # Example Request:
+ # DELETE /projects/:id/users
+ delete ":id/users" do
+ user_project.delete_users_ids_from_team(params[:user_ids].values)
+ end
+
# Get a project repository branches
#
# Parameters: