diff options
| -rw-r--r-- | lib/api/entities.rb | 5 | ||||
| -rw-r--r-- | lib/api/merge_requests.rb | 30 | 
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 | 
