API: MergeRequest: authorization

This commit is contained in:
Valeriy Sizov 2012-10-21 16:13:39 +03:00
parent 524b907042
commit b32a8eea93
1 changed files with 11 additions and 1 deletions

View File

@ -6,12 +6,18 @@ module Gitlab
resource :projects do resource :projects do
#list #list
get ":id/merge_requests" do get ":id/merge_requests" do
authorize! :read_merge_request, user_project
present user_project.merge_requests, with: Entities::MergeRequest present user_project.merge_requests, with: Entities::MergeRequest
end end
#show #show
get ":id/merge_request/:merge_request_id" do get ":id/merge_request/:merge_request_id" do
present user_project.merge_requests.find(params[:merge_request_id]), with: Entities::MergeRequest merge_request = user_project.merge_requests.find(params[:merge_request_id])
authorize! :read_merge_request, merge_request
present merge_request, with: Entities::MergeRequest
end end
#create merge_request #create merge_request
@ -20,6 +26,8 @@ module Gitlab
merge_request = user_project.merge_requests.new(attrs) merge_request = user_project.merge_requests.new(attrs)
merge_request.author = current_user merge_request.author = current_user
authorize! :write_merge_request, merge_request
if merge_request.save if merge_request.save
merge_request.reload_code merge_request.reload_code
present merge_request, with: Entities::MergeRequest present merge_request, with: Entities::MergeRequest
@ -33,6 +41,8 @@ module Gitlab
attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title, :closed] attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title, :closed]
merge_request = user_project.merge_requests.find(params[:merge_request_id]) merge_request = user_project.merge_requests.find(params[:merge_request_id])
authorize! :modify_merge_request, merge_request
if merge_request.update_attributes attrs if merge_request.update_attributes attrs
merge_request.reload_code merge_request.reload_code
merge_request.mark_as_unchecked merge_request.mark_as_unchecked