Resolve "Provide ability to retrieve visibility
level via Snippets API"
This commit is contained in:
parent
a0a6e38b68
commit
4077d4f735
5 changed files with 15 additions and 2 deletions
5
changelogs/unreleased/35158-snippets-api-visibility.yml
Normal file
5
changelogs/unreleased/35158-snippets-api-visibility.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Expose visibility via Snippets API
|
||||
merge_request: 19620
|
||||
author: Jan Beckmann
|
||||
type: added
|
|
@ -49,6 +49,7 @@ Example response:
|
|||
"title": "test",
|
||||
"file_name": "add.rb",
|
||||
"description": "Ruby test snippet",
|
||||
"visibility": "private",
|
||||
"author": {
|
||||
"id": 1,
|
||||
"username": "john_smith",
|
||||
|
@ -99,6 +100,7 @@ Example response:
|
|||
"title": "This is a snippet",
|
||||
"file_name": "test.txt",
|
||||
"description": "Hello World snippet",
|
||||
"visibility": "internal",
|
||||
"author": {
|
||||
"id": 1,
|
||||
"username": "john_smith",
|
||||
|
@ -150,6 +152,7 @@ Example response:
|
|||
"title": "test",
|
||||
"file_name": "add.rb",
|
||||
"description": "description of snippet",
|
||||
"visibility": "internal",
|
||||
"author": {
|
||||
"id": 1,
|
||||
"username": "john_smith",
|
||||
|
@ -238,7 +241,8 @@ Example response:
|
|||
"raw_url": "http://localhost:3000/snippets/48/raw",
|
||||
"title": "Minus similique nesciunt vel fugiat qui ullam sunt.",
|
||||
"updated_at": "2016-11-25T16:53:34.479Z",
|
||||
"web_url": "http://localhost:3000/snippets/48"
|
||||
"web_url": "http://localhost:3000/snippets/48",
|
||||
"visibility": "public"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
|
|
@ -362,7 +362,7 @@ module API
|
|||
end
|
||||
|
||||
class Snippet < Grape::Entity
|
||||
expose :id, :title, :file_name, :description
|
||||
expose :id, :title, :file_name, :description, :visibility
|
||||
expose :author, using: Entities::UserBasic
|
||||
expose :updated_at, :created_at
|
||||
expose :project_id
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"title": { "type": "string" },
|
||||
"file_name": { "type": ["string", "null"] },
|
||||
"description": { "type": ["string", "null"] },
|
||||
"visibility": { "type": "string" },
|
||||
"web_url": { "type": "string" },
|
||||
"created_at": { "type": "date" },
|
||||
"updated_at": { "type": "date" },
|
||||
|
|
|
@ -20,6 +20,7 @@ describe API::Snippets do
|
|||
private_snippet.id)
|
||||
expect(json_response.last).to have_key('web_url')
|
||||
expect(json_response.last).to have_key('raw_url')
|
||||
expect(json_response.last).to have_key('visibility')
|
||||
end
|
||||
|
||||
it 'hides private snippets from regular user' do
|
||||
|
@ -112,6 +113,7 @@ describe API::Snippets do
|
|||
expect(json_response['title']).to eq(snippet.title)
|
||||
expect(json_response['description']).to eq(snippet.description)
|
||||
expect(json_response['file_name']).to eq(snippet.file_name)
|
||||
expect(json_response['visibility']).to eq(snippet.visibility)
|
||||
end
|
||||
|
||||
it 'returns 404 for invalid snippet id' do
|
||||
|
@ -142,6 +144,7 @@ describe API::Snippets do
|
|||
expect(json_response['title']).to eq(params[:title])
|
||||
expect(json_response['description']).to eq(params[:description])
|
||||
expect(json_response['file_name']).to eq(params[:file_name])
|
||||
expect(json_response['visibility']).to eq(params[:visibility])
|
||||
end
|
||||
|
||||
it 'returns 400 for missing parameters' do
|
||||
|
|
Loading…
Reference in a new issue