Skip to content

Commit

Permalink
Add upvote/downvote fields to merge request and note API to preserve …
Browse files Browse the repository at this point in the history
…compatibility
  • Loading branch information
Razer6 committed Nov 21, 2015
1 parent 319808f commit 26b12e2
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 10 deletions.
10 changes: 10 additions & 0 deletions app/models/concerns/issuable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,16 @@ def open?
opened? || reopened?
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)
subscription = subscriptions.find_by_user_id(user.id)

Expand Down
10 changes: 10 additions & 0 deletions app/models/note.rb
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,16 @@ def system?
read_attribute(:system)
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?
!system?
end
Expand Down
32 changes: 25 additions & 7 deletions doc/api/merge_requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
## List merge requests

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 pagination parameters `page` and `per_page` can be used to restrict the list of merge requests.
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. With GitLab 8.2 the return fields `upvotes` and
`downvotes` are deprecated and always return `0`.

```
GET /projects/:id/merge_requests
Expand All @@ -31,6 +32,8 @@ Parameters:
"project_id": 3,
"title": "test1",
"state": "opened",
"upvotes": 0,
"downvotes": 0,
"author": {
"id": 1,
"username": "admin",
Expand All @@ -55,7 +58,7 @@ Parameters:

## 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
Expand All @@ -75,6 +78,8 @@ Parameters:
"project_id": 3,
"title": "test1",
"state": "merged",
"upvotes": 0,
"downvotes": 0,
"author": {
"id": 1,
"username": "admin",
Expand All @@ -98,7 +103,9 @@ Parameters:

## 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
Expand All @@ -122,6 +129,8 @@ Parameters:
"updated_at": "2015-02-02T20:08:49.959Z",
"target_branch": "secret_token",
"source_branch": "version-1-9",
"upvotes": 0,
"downvotes": 0,
"author": {
"name": "Chad Hamill",
"username": "jarrett",
Expand Down Expand Up @@ -167,7 +176,8 @@ Parameters:

## 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
Expand All @@ -192,6 +202,8 @@ Parameters:
"project_id": 3,
"title": "test1",
"state": "opened",
"upvotes": 0,
"downvotes": 0,
"author": {
"id": 1,
"username": "admin",
Expand All @@ -217,7 +229,8 @@ If an error occurs, an error number and a message explaining the reason is retur

## 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
Expand All @@ -242,6 +255,8 @@ Parameters:
"title": "test1",
"description": "description1",
"state": "opened",
"upvotes": 0,
"downvotes": 0,
"author": {
"id": 1,
"username": "admin",
Expand All @@ -266,7 +281,8 @@ If an error occurs, an error number and a message explaining the reason is retur

## 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`.

Expand Down Expand Up @@ -294,6 +310,8 @@ Parameters:
"project_id": 3,
"title": "test1",
"state": "merged",
"upvotes": 0,
"downvotes": 0,
"author": {
"id": 1,
"username": "admin",
Expand Down
11 changes: 8 additions & 3 deletions doc/api/notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ Notes are comments on snippets, issues or merge requests.

### 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
Expand All @@ -32,7 +33,9 @@ Parameters:
"created_at": "2013-09-30T13:46:01Z"
},
"created_at": "2013-10-02T09:22:45Z",
"system": true
"system": true,
"upvote": false,
"downvote": false
},
{
"id": 305,
Expand All @@ -47,7 +50,9 @@ Parameters:
"created_at": "2013-09-30T13:46:01Z"
},
"created_at": "2013-10-02T09:56:03Z",
"system": false
"system": true,
"upvote": false,
"downvote": false
}
]
```
Expand Down
5 changes: 5 additions & 0 deletions lib/api/entities.rb
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@ class Issue < ProjectEntity

class MergeRequest < ProjectEntity
expose :target_branch, :source_branch
# deprecated, always returns 0
expose :upvotes, :downvotes
expose :author, :assignee, using: Entities::UserBasic
expose :source_project_id, :target_project_id
expose :label_names, as: :labels
Expand Down Expand Up @@ -192,6 +194,9 @@ class Note < Grape::Entity
expose :author, using: Entities::UserBasic
expose :created_at
expose :system?, as: :system
# upvote? and downvote? are deprecated, always return false
expose :upvote?, as: :upvote
expose :downvote?, as: :downvote
end

class MRNote < Grape::Entity
Expand Down

0 comments on commit 26b12e2

Please sign in to comment.