新增: Commit文件变更列表拆解

This commit is contained in:
yystopf 2024-11-07 16:46:17 +08:00
parent fe971495cd
commit e57910a9a8
2 changed files with 17 additions and 1 deletions

View File

@ -1,5 +1,5 @@
class Api::V1::Projects::CommitsController < Api::V1::BaseController
before_action :require_public_and_member_above, only: [:index, :diff, :recent]
before_action :require_public_and_member_above, only: [:index, :diff, :recent, :files]
def index
@result_object = Api::V1::Projects::Commits::ListService.call(@project, {page: page, limit: limit, sha: params[:sha]}, current_user&.gitea_token)
@ -10,6 +10,14 @@ class Api::V1::Projects::CommitsController < Api::V1::BaseController
@result_object = Api::V1::Projects::Commits::DiffService.call(@project, params[:sha], current_user&.gitea_token)
end
def files
if params[:filepath].present?
@result_object = $gitea_hat_client.get_repos_commits_files_by_owner_repo_sha_filepath(@project&.owner.login, @project&.identifier, params[:sha], params[:filepath], {query: {token: current_user&.gitea_token}})
else
@result_object = $gitea_hat_client.get_repos_commits_files_by_owner_repo_sha(@project&.owner.login, @project&.identifier, params[:sha], {query: {token: current_user&.gitea_token, page: page, limit: limit}})
end
end
def recent
hash = Api::V1::Projects::Commits::RecentService.call(@project, {keyword: params[:keyword], page: page, limit: limit}, current_user&.gitea_token)
@result_object = hash[:result]

View File

@ -0,0 +1,8 @@
if params[:filepath].present?
json.partial! "api/v1/projects/simple_gitea_diff_detail", diff: @result_object
else
json.file_numbers @result_object[:total_data].to_i
json.files @result_object[:data] do |file|
json.partial! "api/v1/projects/simple_gitea_file", file: file
end
end