From 61f12da3a5b84670a0fc8cb5dbb962a365895097 Mon Sep 17 00:00:00 2001 From: Nihad Abbasov Date: Mon, 8 Oct 2012 02:13:53 -0700 Subject: [PATCH] API: add project snippets listing --- CHANGELOG | 1 + doc/api/snippets.md | 10 +++++++++- lib/api/projects.rb | 10 ++++++++++ spec/requests/api/projects_spec.rb | 9 +++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 3a283aa5a..1c9f3bbac 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,5 @@ master + - [API] add project snippets list - [API] allow to authorize using private token in HTTP header - [API] add user creation diff --git a/doc/api/snippets.md b/doc/api/snippets.md index 0cd29ce53..288fd5296 100644 --- a/doc/api/snippets.md +++ b/doc/api/snippets.md @@ -1,6 +1,14 @@ ## List snippets -Not implemented. +Get a list of project snippets. + +``` +GET /projects/:id/snippets +``` + +Parameters: + ++ `id` (required) - The ID or code name of a project ## Single snippet diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 5a1b1779a..0f013883c 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -228,6 +228,16 @@ module Gitlab present CommitDecorator.decorate(commits), with: Entities::RepoCommit end + # Get a project snippets + # + # Parameters: + # id (required) - The ID or code name of a project + # Example Request: + # GET /projects/:id/snippets + get ":id/snippets" do + present paginate(user_project.snippets), with: Entities::ProjectSnippet + end + # Get a project snippet # # Parameters: diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 498bbad61..94c9abb35 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -220,6 +220,15 @@ describe Gitlab::API do end end + describe "GET /projects/:id/snippets" do + it "should return a project snippet" do + get api("/projects/#{project.code}/snippets", user) + response.status.should == 200 + json_response.should be_an Array + json_response.first['title'].should == snippet.title + end + end + describe "GET /projects/:id/snippets/:snippet_id" do it "should return a project snippet" do get api("/projects/#{project.code}/snippets/#{snippet.id}", user) -- 2.11.0