Commit b166ee6b authored by Robert Speicher's avatar Robert Speicher

Merge branch 'fix-award-emoji-api' into 'master'

Add upvote/downvote fields to merge request and note API to preserve compatibility

As discussed in !1825 we should not break the API compatibility.

* This MR adds the fields `upvotes`/`downvotes` to the merge request API again, which always return `0`.
* Add the fields `upvote`/`downvote` to the notes API, which always return `false`

This behavior is documented in the API docs.

See merge request !1867
parents 9155c82f 26b12e2c
...@@ -92,6 +92,16 @@ module Issuable ...@@ -92,6 +92,16 @@ module Issuable
opened? || reopened? opened? || reopened?
end end
# Deprecated. Still exists to preserve API compatibility.
def downvotes
0
end
# Deprecated. Still exists to preserve API compatibility.
def upvotes
0
end
def subscribed?(user) def subscribed?(user)
subscription = subscriptions.find_by_user_id(user.id) subscription = subscriptions.find_by_user_id(user.id)
......
...@@ -335,6 +335,16 @@ class Note < ActiveRecord::Base ...@@ -335,6 +335,16 @@ class Note < ActiveRecord::Base
read_attribute(:system) read_attribute(:system)
end end
# Deprecated. Still exists to preserve API compatibility.
def downvote?
false
end
# Deprecated. Still exists to preserve API compatibility.
def upvote?
false
end
def editable? def editable?
!system? !system?
end end
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
Get all merge requests for this project. Get all merge requests for this project.
The `state` parameter can be used to get only merge requests with a given state (`opened`, `closed`, or `merged`) or all of them (`all`). The `state` parameter can be used to get only merge requests with a given state (`opened`, `closed`, or `merged`) or all of them (`all`).
The pagination parameters `page` and `per_page` can be used to restrict the list of merge requests. The pagination parameters `page` and `per_page` can be used to restrict the list of merge requests. With GitLab 8.2 the return fields `upvotes` and
`downvotes` are deprecated and always return `0`.
``` ```
GET /projects/:id/merge_requests GET /projects/:id/merge_requests
...@@ -31,6 +32,8 @@ Parameters: ...@@ -31,6 +32,8 @@ Parameters:
"project_id": 3, "project_id": 3,
"title": "test1", "title": "test1",
"state": "opened", "state": "opened",
"upvotes": 0,
"downvotes": 0,
"author": { "author": {
"id": 1, "id": 1,
"username": "admin", "username": "admin",
...@@ -55,7 +58,7 @@ Parameters: ...@@ -55,7 +58,7 @@ Parameters:
## Get single MR ## Get single MR
Shows information about a single merge request. Shows information about a single merge request. With GitLab 8.2 the return fields `upvotes` and `downvotes` are deprecated and always return `0`.
``` ```
GET /projects/:id/merge_request/:merge_request_id GET /projects/:id/merge_request/:merge_request_id
...@@ -75,6 +78,8 @@ Parameters: ...@@ -75,6 +78,8 @@ Parameters:
"project_id": 3, "project_id": 3,
"title": "test1", "title": "test1",
"state": "merged", "state": "merged",
"upvotes": 0,
"downvotes": 0,
"author": { "author": {
"id": 1, "id": 1,
"username": "admin", "username": "admin",
...@@ -98,7 +103,9 @@ Parameters: ...@@ -98,7 +103,9 @@ Parameters:
## Get single MR changes ## Get single MR changes
Shows information about the merge request including its files and changes Shows information about the merge request including its files and changes.
With GitLab 8.2 the return fields `upvotes` and `downvotes` are deprecated and
always return `0`.
``` ```
GET /projects/:id/merge_request/:merge_request_id/changes GET /projects/:id/merge_request/:merge_request_id/changes
...@@ -122,6 +129,8 @@ Parameters: ...@@ -122,6 +129,8 @@ Parameters:
"updated_at": "2015-02-02T20:08:49.959Z", "updated_at": "2015-02-02T20:08:49.959Z",
"target_branch": "secret_token", "target_branch": "secret_token",
"source_branch": "version-1-9", "source_branch": "version-1-9",
"upvotes": 0,
"downvotes": 0,
"author": { "author": {
"name": "Chad Hamill", "name": "Chad Hamill",
"username": "jarrett", "username": "jarrett",
...@@ -167,7 +176,8 @@ Parameters: ...@@ -167,7 +176,8 @@ Parameters:
## Create MR ## Create MR
Creates a new merge request. Creates a new merge request. With GitLab 8.2 the return fields `upvotes` and `
downvotes` are deprecated and always return `0`.
``` ```
POST /projects/:id/merge_requests POST /projects/:id/merge_requests
...@@ -192,6 +202,8 @@ Parameters: ...@@ -192,6 +202,8 @@ Parameters:
"project_id": 3, "project_id": 3,
"title": "test1", "title": "test1",
"state": "opened", "state": "opened",
"upvotes": 0,
"downvotes": 0,
"author": { "author": {
"id": 1, "id": 1,
"username": "admin", "username": "admin",
...@@ -217,7 +229,8 @@ If an error occurs, an error number and a message explaining the reason is retur ...@@ -217,7 +229,8 @@ If an error occurs, an error number and a message explaining the reason is retur
## Update MR ## Update MR
Updates an existing merge request. You can change the target branch, title, or even close the MR. Updates an existing merge request. You can change the target branch, title, or even close the MR. With GitLab 8.2 the return fields `upvotes` and `downvotes`
are deprecated and always return `0`.
``` ```
PUT /projects/:id/merge_request/:merge_request_id PUT /projects/:id/merge_request/:merge_request_id
...@@ -242,6 +255,8 @@ Parameters: ...@@ -242,6 +255,8 @@ Parameters:
"title": "test1", "title": "test1",
"description": "description1", "description": "description1",
"state": "opened", "state": "opened",
"upvotes": 0,
"downvotes": 0,
"author": { "author": {
"id": 1, "id": 1,
"username": "admin", "username": "admin",
...@@ -266,7 +281,8 @@ If an error occurs, an error number and a message explaining the reason is retur ...@@ -266,7 +281,8 @@ If an error occurs, an error number and a message explaining the reason is retur
## Accept MR ## Accept MR
Merge changes submitted with MR using this API. Merge changes submitted with MR using this API. With GitLab 8.2 the return
fields `upvotes` and `downvotes` are deprecated and always return `0`.
If merge success you get `200 OK`. If merge success you get `200 OK`.
...@@ -294,6 +310,8 @@ Parameters: ...@@ -294,6 +310,8 @@ Parameters:
"project_id": 3, "project_id": 3,
"title": "test1", "title": "test1",
"state": "merged", "state": "merged",
"upvotes": 0,
"downvotes": 0,
"author": { "author": {
"id": 1, "id": 1,
"username": "admin", "username": "admin",
......
...@@ -6,7 +6,8 @@ Notes are comments on snippets, issues or merge requests. ...@@ -6,7 +6,8 @@ Notes are comments on snippets, issues or merge requests.
### List project issue notes ### List project issue notes
Gets a list of all notes for a single issue. Gets a list of all notes for a single issue. With GitLab 8.2 the return fields
`upvote` and `downvote` are deprecated and always return `false`.
``` ```
GET /projects/:id/issues/:issue_id/notes GET /projects/:id/issues/:issue_id/notes
...@@ -32,7 +33,9 @@ Parameters: ...@@ -32,7 +33,9 @@ Parameters:
"created_at": "2013-09-30T13:46:01Z" "created_at": "2013-09-30T13:46:01Z"
}, },
"created_at": "2013-10-02T09:22:45Z", "created_at": "2013-10-02T09:22:45Z",
"system": true "system": true,
"upvote": false,
"downvote": false
}, },
{ {
"id": 305, "id": 305,
...@@ -47,7 +50,9 @@ Parameters: ...@@ -47,7 +50,9 @@ Parameters:
"created_at": "2013-09-30T13:46:01Z" "created_at": "2013-09-30T13:46:01Z"
}, },
"created_at": "2013-10-02T09:56:03Z", "created_at": "2013-10-02T09:56:03Z",
"system": false "system": true,
"upvote": false,
"downvote": false
} }
] ]
``` ```
......
...@@ -163,6 +163,8 @@ module API ...@@ -163,6 +163,8 @@ module API
class MergeRequest < ProjectEntity class MergeRequest < ProjectEntity
expose :target_branch, :source_branch expose :target_branch, :source_branch
# deprecated, always returns 0
expose :upvotes, :downvotes
expose :author, :assignee, using: Entities::UserBasic expose :author, :assignee, using: Entities::UserBasic
expose :source_project_id, :target_project_id expose :source_project_id, :target_project_id
expose :label_names, as: :labels expose :label_names, as: :labels
...@@ -192,6 +194,9 @@ module API ...@@ -192,6 +194,9 @@ module API
expose :author, using: Entities::UserBasic expose :author, using: Entities::UserBasic
expose :created_at expose :created_at
expose :system?, as: :system expose :system?, as: :system
# upvote? and downvote? are deprecated, always return false
expose :upvote?, as: :upvote
expose :downvote?, as: :downvote
end end
class MRNote < Grape::Entity class MRNote < Grape::Entity
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment