API: restore broken merge request commenting

This commit is contained in:
Nihad Abbasov 2012-11-29 12:10:07 -08:00
parent c946bf886c
commit 961cb285b0
2 changed files with 20 additions and 15 deletions

View file

@ -75,5 +75,10 @@ module Gitlab
expose :author, using: Entities::UserBasic expose :author, using: Entities::UserBasic
expose :updated_at, :created_at expose :updated_at, :created_at
end end
class MRNote < Grape::Entity
expose :note
expose :author, using: Entities::UserBasic
end
end end
end end

View file

@ -4,9 +4,9 @@ module Gitlab
before { authenticate! } before { authenticate! }
resource :projects do resource :projects do
# List merge requests # List merge requests
# #
# Parameters: # Parameters:
# id (required) - The ID or code name of a project # id (required) - The ID or code name of a project
# #
@ -15,24 +15,24 @@ module Gitlab
# #
get ":id/merge_requests" do get ":id/merge_requests" do
authorize! :read_merge_request, user_project authorize! :read_merge_request, user_project
present paginate(user_project.merge_requests), with: Entities::MergeRequest present paginate(user_project.merge_requests), with: Entities::MergeRequest
end end
# Show MR # Show MR
# #
# Parameters: # Parameters:
# id (required) - The ID or code name of a project # id (required) - The ID or code name of a project
# merge_request_id (required) - The ID of MR # merge_request_id (required) - The ID of MR
# #
# Example: # Example:
# GET /projects/:id/merge_request/:merge_request_id # GET /projects/:id/merge_request/:merge_request_id
# #
get ":id/merge_request/:merge_request_id" do get ":id/merge_request/:merge_request_id" do
merge_request = user_project.merge_requests.find(params[:merge_request_id]) merge_request = user_project.merge_requests.find(params[:merge_request_id])
authorize! :read_merge_request, merge_request authorize! :read_merge_request, merge_request
present merge_request, with: Entities::MergeRequest present merge_request, with: Entities::MergeRequest
end end
@ -45,17 +45,17 @@ module Gitlab
# target_branch (required) - The target branch # target_branch (required) - The target branch
# assignee_id - Assignee user ID # assignee_id - Assignee user ID
# title (required) - Title of MR # title (required) - Title of MR
# #
# Example: # Example:
# POST /projects/:id/merge_requests # POST /projects/:id/merge_requests
# #
post ":id/merge_requests" do post ":id/merge_requests" do
authorize! :write_merge_request, user_project authorize! :write_merge_request, user_project
attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title] attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title]
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
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
@ -80,9 +80,9 @@ module Gitlab
put ":id/merge_request/:merge_request_id" do put ":id/merge_request/:merge_request_id" do
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 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
@ -98,7 +98,7 @@ module Gitlab
# id (required) - The ID or code name of a project # id (required) - The ID or code name of a project
# merge_request_id (required) - ID of MR # merge_request_id (required) - ID of MR
# note (required) - Text of comment # note (required) - Text of comment
# Examples: # Examples:
# POST /projects/:id/merge_request/:merge_request_id/comments # POST /projects/:id/merge_request/:merge_request_id/comments
# #
post ":id/merge_request/:merge_request_id/comments" do post ":id/merge_request/:merge_request_id/comments" do
@ -107,7 +107,7 @@ module Gitlab
note.author = current_user note.author = current_user
if note.save if note.save
present note, with: Entities::Note present note, with: Entities::MRNote
else else
not_found! not_found!
end end