diff options
author | miks <miks@cubesystems.lv> | 2012-09-05 23:01:03 +0300 |
---|---|---|
committer | miks <miks@cubesystems.lv> | 2012-09-05 23:01:03 +0300 |
commit | 8f7360f3901ae27a457f252b1a9a091a857434ee (patch) | |
tree | b93b90cea3c78bdb9fb43f0e69ba6dc518747304 | |
parent | 19a52197462b9b508af6e90ed3ae55b653d4949e (diff) | |
download | gitlab-ce-8f7360f3901ae27a457f252b1a9a091a857434ee.tar.gz |
API on adding users to project implemented
-rw-r--r-- | doc/api/projects.md | 15 | ||||
-rw-r--r-- | lib/api/projects.rb | 12 | ||||
-rw-r--r-- | spec/requests/api/projects_spec.rb | 12 |
3 files changed, 39 insertions, 0 deletions
diff --git a/doc/api/projects.md b/doc/api/projects.md index e029522be18..85b88d40fe8 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -106,6 +106,21 @@ Parameters: Will return created project with status `201 Created` on success, or `404 Not found` on fail. +## Add project users + +Add users to exiting project + +``` +PUT /projects/:id/add_users +``` + +Parameters: + ++ `id` (required) - The ID or code name of a project ++ `user_ids` (required) - new project name ++ `project_access` (required) - new project name + +Will return updated project with status `200 OK` on success, or `404 Not found` on fail. ## Project repository branches diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 3d4fde9270f..46e688e47f0 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -44,6 +44,18 @@ module Gitlab end end + # Add users to project with 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) - Project access level + # Example Request: + # PUT /projects/:id/add_users + put ":id/add_users" do + user_project.add_users_ids_to_team(params[:user_ids], params[:project_access]) + end + # Get a project repository branches # # Parameters: diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index cc6843ccb66..f8434654317 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -62,6 +62,18 @@ describe Gitlab::API do end end + describe "PUT /projects/:id/add_users" do + @user2 = Factory :user + @user3 = Factory :user + + it "should add users to existing project" do + expect { + put api("/projects/#{project.code}/add_users", user), + user_ids: [@user2.id, @user3.id], project_access: UsersProject::DEVELOPER + }.to change {Project.users_projects.where(:project_access => UsersProject::DEVELOPER).count}.by(2) + end + end + describe "GET /projects/:id" do it "should return a project by id" do get api("/projects/#{project.id}", user) |