summaryrefslogtreecommitdiff
path: root/lib/api
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2014-11-12 13:14:13 +0200
committerValery Sizov <vsv2711@gmail.com>2014-11-12 13:14:13 +0200
commit1a7e3476351979d37cd5fa2b7b5800717487d758 (patch)
tree944564aabc35977b9771933ced239d46ddece10b /lib/api
parent8146271d4043a91e8f65c7af41c6c015e7d155c3 (diff)
parentc58edd7c708c39a6e7c60bd96c7f97ced370f304 (diff)
downloadgitlab-ce-1a7e3476351979d37cd5fa2b7b5800717487d758.tar.gz
Merge remote-tracking branch 'origin/master' into backup_restore_drop_sequences
Conflicts: CHANGELOG
Diffstat (limited to 'lib/api')
-rw-r--r--lib/api/branches.rb5
-rw-r--r--lib/api/entities.rb28
-rw-r--r--lib/api/repositories.rb5
3 files changed, 34 insertions, 4 deletions
diff --git a/lib/api/branches.rb b/lib/api/branches.rb
index 14f8b20f6b2..6ec1a753a69 100644
--- a/lib/api/branches.rb
+++ b/lib/api/branches.rb
@@ -82,6 +82,7 @@ module API
authorize_push_project
result = CreateBranchService.new(user_project, current_user).
execute(params[:branch_name], params[:ref])
+
if result[:status] == :success
present result[:branch],
with: Entities::RepoObject,
@@ -104,7 +105,9 @@ module API
execute(params[:branch])
if result[:status] == :success
- true
+ {
+ branch_name: params[:branch]
+ }
else
render_api_error!(result[:message], result[:return_code])
end
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 80e9470195e..40696489ba2 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -16,7 +16,8 @@ module API
class UserFull < User
expose :email
- expose :theme_id, :color_scheme_id, :extern_uid, :provider
+ expose :theme_id, :color_scheme_id, :extern_uid, :provider, \
+ :projects_limit
expose :can_create_group?, as: :can_create_group
expose :can_create_project?, as: :can_create_project
end
@@ -73,6 +74,25 @@ module API
end
end
+ class RepoTag < Grape::Entity
+ expose :name
+ expose :message do |repo_obj, _options|
+ if repo_obj.respond_to?(:message)
+ repo_obj.message
+ else
+ nil
+ end
+ end
+
+ expose :commit do |repo_obj, options|
+ if repo_obj.respond_to?(:commit)
+ repo_obj.commit
+ elsif options[:project]
+ options[:project].repository.commit(repo_obj.target)
+ end
+ end
+ end
+
class RepoObject < Grape::Entity
expose :name
@@ -164,6 +184,12 @@ module API
expose :target_id, :target_type, :author_id
expose :data, :target_title
expose :created_at
+
+ expose :author_username do |event, options|
+ if event.author
+ event.author.username
+ end
+ end
end
class Namespace < Grape::Entity
diff --git a/lib/api/repositories.rb b/lib/api/repositories.rb
index 626d99c2649..a1a7721b288 100644
--- a/lib/api/repositories.rb
+++ b/lib/api/repositories.rb
@@ -23,7 +23,8 @@ module API
# Example Request:
# GET /projects/:id/repository/tags
get ":id/repository/tags" do
- present user_project.repo.tags.sort_by(&:name).reverse, with: Entities::RepoObject, project: user_project
+ present user_project.repo.tags.sort_by(&:name).reverse,
+ with: Entities::RepoTag, project: user_project
end
# Create tag
@@ -43,7 +44,7 @@ module API
if result[:status] == :success
present result[:tag],
- with: Entities::RepoObject,
+ with: Entities::RepoTag,
project: user_project
else
render_api_error!(result[:message], 400)