summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNihad Abbasov <narkoz.2008@gmail.com>2012-11-29 12:10:07 -0800
committerNihad Abbasov <narkoz.2008@gmail.com>2012-11-29 12:11:01 -0800
commit961cb285b08aed0281bc9a6e4634388ecc8e914c (patch)
treefa4b2f224ce44d0c989da3c13338e1c4fa49a91e
parentc946bf886c2c07491a4595e93861df02dbf809f4 (diff)
downloadgitlab-ce-961cb285b08aed0281bc9a6e4634388ecc8e914c.tar.gz
API: restore broken merge request commenting
-rw-r--r--lib/api/entities.rb5
-rw-r--r--lib/api/merge_requests.rb30
2 files changed, 20 insertions, 15 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 0c44f621b08..b792d3fbf8d 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -75,5 +75,10 @@ module Gitlab
expose :author, using: Entities::UserBasic
expose :updated_at, :created_at
end
+
+ class MRNote < Grape::Entity
+ expose :note
+ expose :author, using: Entities::UserBasic
+ end
end
end
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index d8f2c51293a..1fa0c549b13 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -4,9 +4,9 @@ module Gitlab
before { authenticate! }
resource :projects do
-
+
# List merge requests
- #
+ #
# Parameters:
# id (required) - The ID or code name of a project
#
@@ -15,24 +15,24 @@ module Gitlab
#
get ":id/merge_requests" do
authorize! :read_merge_request, user_project
-
+
present paginate(user_project.merge_requests), with: Entities::MergeRequest
end
-
+
# Show MR
- #
+ #
# Parameters:
# id (required) - The ID or code name of a project
# merge_request_id (required) - The ID of MR
- #
+ #
# Example:
# GET /projects/:id/merge_request/:merge_request_id
#
get ":id/merge_request/:merge_request_id" do
merge_request = user_project.merge_requests.find(params[:merge_request_id])
-
+
authorize! :read_merge_request, merge_request
-
+
present merge_request, with: Entities::MergeRequest
end
@@ -45,17 +45,17 @@ module Gitlab
# target_branch (required) - The target branch
# assignee_id - Assignee user ID
# title (required) - Title of MR
- #
+ #
# Example:
# POST /projects/:id/merge_requests
#
post ":id/merge_requests" do
authorize! :write_merge_request, user_project
-
+
attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title]
merge_request = user_project.merge_requests.new(attrs)
merge_request.author = current_user
-
+
if merge_request.save
merge_request.reload_code
present merge_request, with: Entities::MergeRequest
@@ -80,9 +80,9 @@ module Gitlab
put ":id/merge_request/:merge_request_id" do
attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title, :closed]
merge_request = user_project.merge_requests.find(params[:merge_request_id])
-
+
authorize! :modify_merge_request, merge_request
-
+
if merge_request.update_attributes attrs
merge_request.reload_code
merge_request.mark_as_unchecked
@@ -98,7 +98,7 @@ module Gitlab
# id (required) - The ID or code name of a project
# merge_request_id (required) - ID of MR
# note (required) - Text of comment
- # Examples:
+ # Examples:
# POST /projects/:id/merge_request/:merge_request_id/comments
#
post ":id/merge_request/:merge_request_id/comments" do
@@ -107,7 +107,7 @@ module Gitlab
note.author = current_user
if note.save
- present note, with: Entities::Note
+ present note, with: Entities::MRNote
else
not_found!
end