Commit 61f12da3a5b84670a0fc8cb5dbb962a365895097

Authored by Nihad Abbasov
1 parent ad5b5d1e

API: add project snippets listing

CHANGELOG
1 1 master
  2 + - [API] add project snippets list
2 3 - [API] allow to authorize using private token in HTTP header
3 4 - [API] add user creation
4 5  
... ...
doc/api/snippets.md
1 1 ## List snippets
2 2  
3   -Not implemented.
  3 +Get a list of project snippets.
  4 +
  5 +```
  6 +GET /projects/:id/snippets
  7 +```
  8 +
  9 +Parameters:
  10 +
  11 ++ `id` (required) - The ID or code name of a project
4 12  
5 13 ## Single snippet
6 14  
... ...
lib/api/projects.rb
... ... @@ -228,6 +228,16 @@ module Gitlab
228 228 present CommitDecorator.decorate(commits), with: Entities::RepoCommit
229 229 end
230 230  
  231 + # Get a project snippets
  232 + #
  233 + # Parameters:
  234 + # id (required) - The ID or code name of a project
  235 + # Example Request:
  236 + # GET /projects/:id/snippets
  237 + get ":id/snippets" do
  238 + present paginate(user_project.snippets), with: Entities::ProjectSnippet
  239 + end
  240 +
231 241 # Get a project snippet
232 242 #
233 243 # Parameters:
... ...
spec/requests/api/projects_spec.rb
... ... @@ -220,6 +220,15 @@ describe Gitlab::API do
220 220 end
221 221 end
222 222  
  223 + describe "GET /projects/:id/snippets" do
  224 + it "should return a project snippet" do
  225 + get api("/projects/#{project.code}/snippets", user)
  226 + response.status.should == 200
  227 + json_response.should be_an Array
  228 + json_response.first['title'].should == snippet.title
  229 + end
  230 + end
  231 +
223 232 describe "GET /projects/:id/snippets/:snippet_id" do
224 233 it "should return a project snippet" do
225 234 get api("/projects/#{project.code}/snippets/#{snippet.id}", user)
... ...