From 57ec26f0f824fb9b461f62bfe4984b81335268a4 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Wed, 23 Aug 2017 13:43:44 +0200 Subject: Use Commit entity for tree and blob last_commit, adding commit_path --- app/controllers/projects/tree_controller.rb | 2 +- app/serializers/blob_entity.rb | 4 ++-- app/serializers/tree_entity.rb | 4 ++-- app/serializers/tree_root_entity.rb | 4 ++++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/controllers/projects/tree_controller.rb b/app/controllers/projects/tree_controller.rb index 1fc276b8c03..5245f1a81fd 100644 --- a/app/controllers/projects/tree_controller.rb +++ b/app/controllers/projects/tree_controller.rb @@ -35,7 +35,7 @@ class Projects::TreeController < Projects::ApplicationController end format.json do - render json: TreeSerializer.new(project: @project, repository: @repository, ref: @ref).represent(@tree) + render json: TreeSerializer.new(project: @project, repository: @repository, ref: @ref, commit: @commit).represent(@tree) end end end diff --git a/app/serializers/blob_entity.rb b/app/serializers/blob_entity.rb index 56f173e5a27..e894a003a2c 100644 --- a/app/serializers/blob_entity.rb +++ b/app/serializers/blob_entity.rb @@ -3,8 +3,8 @@ class BlobEntity < Grape::Entity expose :id, :path, :name, :mode - expose :last_commit do |blob| - request.project.repository.last_commit_for_path(blob.commit_id, blob.path) + expose :last_commit, using: CommitEntity do |blob| + request.project.repository.last_commit_for_path(request.commit.id, blob.path) end expose :icon do |blob| diff --git a/app/serializers/tree_entity.rb b/app/serializers/tree_entity.rb index 555e5cf83bd..5cda5997642 100644 --- a/app/serializers/tree_entity.rb +++ b/app/serializers/tree_entity.rb @@ -3,8 +3,8 @@ class TreeEntity < Grape::Entity expose :id, :path, :name, :mode - expose :last_commit do |tree| - request.project.repository.last_commit_for_path(tree.commit_id, tree.path) + expose :last_commit, using: CommitEntity do |tree| + request.project.repository.last_commit_for_path(request.commit.id, tree.path) end expose :icon do |tree| diff --git a/app/serializers/tree_root_entity.rb b/app/serializers/tree_root_entity.rb index 69702ae1493..f42205ecb1d 100644 --- a/app/serializers/tree_root_entity.rb +++ b/app/serializers/tree_root_entity.rb @@ -2,6 +2,10 @@ class TreeRootEntity < Grape::Entity include RequestAwareEntity + expose :last_commit, using: CommitEntity do |tree| + request.project.repository.last_commit_for_path(request.commit.id, tree.path) || request.commit + end + expose :path expose :trees, using: TreeEntity -- cgit v1.2.1