Commit 61f12da3a5b84670a0fc8cb5dbb962a365895097

Authored by Nihad Abbasov
1 parent ad5b5d1e

API: add project snippets listing

1 master 1 master
  2 + - [API] add project snippets list
2 - [API] allow to authorize using private token in HTTP header 3 - [API] allow to authorize using private token in HTTP header
3 - [API] add user creation 4 - [API] add user creation
4 5
doc/api/snippets.md
1 ## List snippets 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 ## Single snippet 13 ## Single snippet
6 14
lib/api/projects.rb
@@ -228,6 +228,16 @@ module Gitlab @@ -228,6 +228,16 @@ module Gitlab
228 present CommitDecorator.decorate(commits), with: Entities::RepoCommit 228 present CommitDecorator.decorate(commits), with: Entities::RepoCommit
229 end 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 # Get a project snippet 241 # Get a project snippet
232 # 242 #
233 # Parameters: 243 # Parameters:
spec/requests/api/projects_spec.rb
@@ -220,6 +220,15 @@ describe Gitlab::API do @@ -220,6 +220,15 @@ describe Gitlab::API do
220 end 220 end
221 end 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 describe "GET /projects/:id/snippets/:snippet_id" do 232 describe "GET /projects/:id/snippets/:snippet_id" do
224 it "should return a project snippet" do 233 it "should return a project snippet" do
225 get api("/projects/#{project.code}/snippets/#{snippet.id}", user) 234 get api("/projects/#{project.code}/snippets/#{snippet.id}", user)