Commit 961cb285b08aed0281bc9a6e4634388ecc8e914c
1 parent
c946bf88
Exists in
master
and in
4 other branches
API: restore broken merge request commenting
Showing
2 changed files
with
20 additions
and
15 deletions
Show diff stats
lib/api/entities.rb
| @@ -75,5 +75,10 @@ module Gitlab | @@ -75,5 +75,10 @@ module Gitlab | ||
| 75 | expose :author, using: Entities::UserBasic | 75 | expose :author, using: Entities::UserBasic |
| 76 | expose :updated_at, :created_at | 76 | expose :updated_at, :created_at |
| 77 | end | 77 | end |
| 78 | + | ||
| 79 | + class MRNote < Grape::Entity | ||
| 80 | + expose :note | ||
| 81 | + expose :author, using: Entities::UserBasic | ||
| 82 | + end | ||
| 78 | end | 83 | end |
| 79 | end | 84 | end |
lib/api/merge_requests.rb
| @@ -4,9 +4,9 @@ module Gitlab | @@ -4,9 +4,9 @@ module Gitlab | ||
| 4 | before { authenticate! } | 4 | before { authenticate! } |
| 5 | 5 | ||
| 6 | resource :projects do | 6 | resource :projects do |
| 7 | - | 7 | + |
| 8 | # List merge requests | 8 | # List merge requests |
| 9 | - # | 9 | + # |
| 10 | # Parameters: | 10 | # Parameters: |
| 11 | # id (required) - The ID or code name of a project | 11 | # id (required) - The ID or code name of a project |
| 12 | # | 12 | # |
| @@ -15,24 +15,24 @@ module Gitlab | @@ -15,24 +15,24 @@ module Gitlab | ||
| 15 | # | 15 | # |
| 16 | get ":id/merge_requests" do | 16 | get ":id/merge_requests" do |
| 17 | authorize! :read_merge_request, user_project | 17 | authorize! :read_merge_request, user_project |
| 18 | - | 18 | + |
| 19 | present paginate(user_project.merge_requests), with: Entities::MergeRequest | 19 | present paginate(user_project.merge_requests), with: Entities::MergeRequest |
| 20 | end | 20 | end |
| 21 | - | 21 | + |
| 22 | # Show MR | 22 | # Show MR |
| 23 | - # | 23 | + # |
| 24 | # Parameters: | 24 | # Parameters: |
| 25 | # id (required) - The ID or code name of a project | 25 | # id (required) - The ID or code name of a project |
| 26 | # merge_request_id (required) - The ID of MR | 26 | # merge_request_id (required) - The ID of MR |
| 27 | - # | 27 | + # |
| 28 | # Example: | 28 | # Example: |
| 29 | # GET /projects/:id/merge_request/:merge_request_id | 29 | # GET /projects/:id/merge_request/:merge_request_id |
| 30 | # | 30 | # |
| 31 | get ":id/merge_request/:merge_request_id" do | 31 | get ":id/merge_request/:merge_request_id" do |
| 32 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) | 32 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) |
| 33 | - | 33 | + |
| 34 | authorize! :read_merge_request, merge_request | 34 | authorize! :read_merge_request, merge_request |
| 35 | - | 35 | + |
| 36 | present merge_request, with: Entities::MergeRequest | 36 | present merge_request, with: Entities::MergeRequest |
| 37 | end | 37 | end |
| 38 | 38 | ||
| @@ -45,17 +45,17 @@ module Gitlab | @@ -45,17 +45,17 @@ module Gitlab | ||
| 45 | # target_branch (required) - The target branch | 45 | # target_branch (required) - The target branch |
| 46 | # assignee_id - Assignee user ID | 46 | # assignee_id - Assignee user ID |
| 47 | # title (required) - Title of MR | 47 | # title (required) - Title of MR |
| 48 | - # | 48 | + # |
| 49 | # Example: | 49 | # Example: |
| 50 | # POST /projects/:id/merge_requests | 50 | # POST /projects/:id/merge_requests |
| 51 | # | 51 | # |
| 52 | post ":id/merge_requests" do | 52 | post ":id/merge_requests" do |
| 53 | authorize! :write_merge_request, user_project | 53 | authorize! :write_merge_request, user_project |
| 54 | - | 54 | + |
| 55 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title] | 55 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title] |
| 56 | merge_request = user_project.merge_requests.new(attrs) | 56 | merge_request = user_project.merge_requests.new(attrs) |
| 57 | merge_request.author = current_user | 57 | merge_request.author = current_user |
| 58 | - | 58 | + |
| 59 | if merge_request.save | 59 | if merge_request.save |
| 60 | merge_request.reload_code | 60 | merge_request.reload_code |
| 61 | present merge_request, with: Entities::MergeRequest | 61 | present merge_request, with: Entities::MergeRequest |
| @@ -80,9 +80,9 @@ module Gitlab | @@ -80,9 +80,9 @@ module Gitlab | ||
| 80 | put ":id/merge_request/:merge_request_id" do | 80 | put ":id/merge_request/:merge_request_id" do |
| 81 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title, :closed] | 81 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title, :closed] |
| 82 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) | 82 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) |
| 83 | - | 83 | + |
| 84 | authorize! :modify_merge_request, merge_request | 84 | authorize! :modify_merge_request, merge_request |
| 85 | - | 85 | + |
| 86 | if merge_request.update_attributes attrs | 86 | if merge_request.update_attributes attrs |
| 87 | merge_request.reload_code | 87 | merge_request.reload_code |
| 88 | merge_request.mark_as_unchecked | 88 | merge_request.mark_as_unchecked |
| @@ -98,7 +98,7 @@ module Gitlab | @@ -98,7 +98,7 @@ module Gitlab | ||
| 98 | # id (required) - The ID or code name of a project | 98 | # id (required) - The ID or code name of a project |
| 99 | # merge_request_id (required) - ID of MR | 99 | # merge_request_id (required) - ID of MR |
| 100 | # note (required) - Text of comment | 100 | # note (required) - Text of comment |
| 101 | - # Examples: | 101 | + # Examples: |
| 102 | # POST /projects/:id/merge_request/:merge_request_id/comments | 102 | # POST /projects/:id/merge_request/:merge_request_id/comments |
| 103 | # | 103 | # |
| 104 | post ":id/merge_request/:merge_request_id/comments" do | 104 | post ":id/merge_request/:merge_request_id/comments" do |
| @@ -107,7 +107,7 @@ module Gitlab | @@ -107,7 +107,7 @@ module Gitlab | ||
| 107 | note.author = current_user | 107 | note.author = current_user |
| 108 | 108 | ||
| 109 | if note.save | 109 | if note.save |
| 110 | - present note, with: Entities::Note | 110 | + present note, with: Entities::MRNote |
| 111 | else | 111 | else |
| 112 | not_found! | 112 | not_found! |
| 113 | end | 113 | end |