Merge pull request #1387 from miks/project_users_api

Project users api
This commit is contained in:
Dmitriy Zaporozhets 2012-09-09 01:18:46 -07:00
commit ebd2a5d0ce
6 changed files with 187 additions and 0 deletions

View file

@ -16,6 +16,11 @@ module Gitlab
expose :issues_enabled, :merge_requests_enabled, :wall_enabled, :wiki_enabled, :created_at
end
class UsersProject < Grape::Entity
expose :user, using: Entities::UserBasic
expose :project_access
end
class RepoObject < Grape::Entity
expose :name, :commit
end

View file

@ -54,6 +54,55 @@ 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:
# 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:
# POST /projects/:id/users
post ":id/users" do
user_project.add_users_ids_to_team(params[:user_ids].values, params[:project_access])
nil
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])
nil
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)
nil
end
# Get a project repository branches
#
# Parameters: