summaryrefslogtreecommitdiff
path: root/lib/api/merge_requests.rb
diff options
context:
space:
mode:
authorRobert Schilling <rschilling@student.tugraz.at>2016-04-08 15:03:34 +0200
committerRobert Schilling <rschilling@student.tugraz.at>2016-04-13 13:45:01 +0200
commitf875189b3962bde6e4b7b8c4ffdd18af83cbc922 (patch)
tree3a97828c01963824d200c85b20195a6f9538fafa /lib/api/merge_requests.rb
parentbd0be13f5b52b8eaee019d722980b29acbc55b05 (diff)
downloadgitlab-ce-f875189b3962bde6e4b7b8c4ffdd18af83cbc922.tar.gz
API: Ability to subscribe and unsubscribe from a merge request
Diffstat (limited to 'lib/api/merge_requests.rb')
-rw-r--r--lib/api/merge_requests.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index 4e7de8867b4..d166484ba54 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -327,6 +327,42 @@ module API
issues = ::Kaminari.paginate_array(merge_request.closes_issues(current_user))
present paginate(issues), with: Entities::Issue, current_user: current_user
end
+
+ # Subscribes to a merge request
+ #
+ # Parameters:
+ # id (required) - The ID of a project
+ # merge_request_id (required) - The ID of a merge request
+ # Example Request:
+ # POST /projects/:id/issues/:merge_request_id/subscribe
+ post "#{path}/subscribe" do
+ merge_request = user_project.merge_requests.find(params[:merge_request_id])
+
+ if !merge_request.subscribed?(current_user)
+ merge_request.toggle_subscription(current_user)
+ present merge_request, with: Entities::MergeRequest, current_user: current_user
+ else
+ not_modified!
+ end
+ end
+
+ # Unsubscribes from a merge request
+ #
+ # Parameters:
+ # id (required) - The ID of a project
+ # merge_request_id (required) - The ID of a merge request
+ # Example Request:
+ # POST /projects/:id/merge_requests/:merge_request_id/unsubscribe
+ post "#{path}/unsubscribe" do
+ merge_request = user_project.merge_requests.find(params[:merge_request_id])
+
+ if merge_request.subscribed?(current_user)
+ merge_request.unsubscribe(current_user)
+ present merge_request, with: Entities::MergeRequest, current_user: current_user
+ else
+ not_modified!
+ end
+ end
end
end
end