summaryrefslogtreecommitdiff
path: root/lib/api/projects.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-03-17 13:44:54 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-03-17 13:44:54 +0200
commit7c60713e82982066e187b8c16ce327978b451b0a (patch)
tree3edd4eb262a1954289070b1e91d84a4af5ce3db3 /lib/api/projects.rb
parent7bce8748a442a24efa6352cf2df5fff614e33283 (diff)
downloadgitlab-ce-7c60713e82982066e187b8c16ce327978b451b0a.tar.gz
Move project members api to separate file
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'lib/api/projects.rb')
-rw-r--r--lib/api/projects.rb105
1 files changed, 0 insertions, 105 deletions
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index bcca69ff49a..618a582a451 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -5,13 +5,6 @@ module API
resource :projects do
helpers do
- def handle_project_member_errors(errors)
- if errors[:project_access].any?
- error!(errors[:project_access], 422)
- end
- not_found!
- end
-
def map_public_to_visibility_level(attrs)
publik = attrs.delete(:public)
publik = [ true, 1, '1', 't', 'T', 'true', 'TRUE', 'on', 'ON' ].include?(publik)
@@ -196,104 +189,6 @@ module API
user_project.forked_project_link.destroy
end
end
-
- # Get a project team members
- #
- # Parameters:
- # id (required) - The ID of a project
- # query - Query string
- # Example Request:
- # GET /projects/:id/members
- get ":id/members" do
- if params[:query].present?
- @members = paginate user_project.users.where("username LIKE ?", "%#{params[:query]}%")
- else
- @members = paginate user_project.users
- end
- present @members, with: Entities::ProjectMember, project: user_project
- end
-
- # Get a project team members
- #
- # Parameters:
- # id (required) - The ID of a project
- # user_id (required) - The ID of a user
- # Example Request:
- # GET /projects/:id/members/:user_id
- get ":id/members/:user_id" do
- @member = user_project.users.find params[:user_id]
- present @member, with: Entities::ProjectMember, project: user_project
- end
-
- # Add a new project team member
- #
- # Parameters:
- # id (required) - The ID of a project
- # user_id (required) - The ID of a user
- # access_level (required) - Project access level
- # Example Request:
- # POST /projects/:id/members
- post ":id/members" do
- authorize! :admin_project, user_project
- required_attributes! [:user_id, :access_level]
-
- # either the user is already a team member or a new one
- team_member = user_project.team_member_by_id(params[:user_id])
- if team_member.nil?
- team_member = user_project.users_projects.new(
- user_id: params[:user_id],
- project_access: params[:access_level]
- )
- end
-
- if team_member.save
- @member = team_member.user
- present @member, with: Entities::ProjectMember, project: user_project
- else
- handle_project_member_errors team_member.errors
- end
- end
-
- # Update project team member
- #
- # Parameters:
- # id (required) - The ID of a project
- # user_id (required) - The ID of a team member
- # access_level (required) - Project access level
- # Example Request:
- # PUT /projects/:id/members/:user_id
- put ":id/members/:user_id" do
- authorize! :admin_project, user_project
- required_attributes! [:access_level]
-
- team_member = user_project.users_projects.find_by(user_id: params[:user_id])
- not_found!("User can not be found") if team_member.nil?
-
- if team_member.update_attributes(project_access: params[:access_level])
- @member = team_member.user
- present @member, with: Entities::ProjectMember, project: user_project
- else
- handle_project_member_errors team_member.errors
- end
- end
-
- # Remove a team member from project
- #
- # Parameters:
- # id (required) - The ID of a project
- # user_id (required) - The ID of a team member
- # Example Request:
- # DELETE /projects/:id/members/:user_id
- delete ":id/members/:user_id" do
- authorize! :admin_project, user_project
- team_member = user_project.users_projects.find_by(user_id: params[:user_id])
- unless team_member.nil?
- team_member.destroy
- else
- {message: "Access revoked", id: params[:user_id].to_i}
- end
- end
-
# search for projects current_user has access to
#
# Parameters: