From fa01194d3c013112b6548abc20bf71c7d14b2609 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Tue, 12 Jan 2021 17:34:07 +0800 Subject: [PATCH] FIX [api] get pull bug --- app/controllers/compare_controller.rb | 20 ++++++++++++++++++-- app/views/pull_requests/show.json.jbuilder | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/controllers/compare_controller.rb b/app/controllers/compare_controller.rb index 0918b9d3b..63ca58aa6 100644 --- a/app/controllers/compare_controller.rb +++ b/app/controllers/compare_controller.rb @@ -6,10 +6,26 @@ class CompareController < ApplicationController end def show + compare + end + + private + def compare + base, head = compare_params + + # TODO: 处理fork的项目向源项目发送PR的base、head参数问题 + @compare_result ||= + head.include?(":") ? gitea_compare(base, head) : gitea_compare(head, base) + end + + def compare_params base = Addressable::URI.unescape(params[:base]) head = params[:head].include?('json') ? params[:head]&.split('.json')[0] : params[:head] - @compare_result = Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, head, base) - # render json: @compare_result + [base, head] + end + + def gitea_compare(base, head) + Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, base, head) end end diff --git a/app/views/pull_requests/show.json.jbuilder b/app/views/pull_requests/show.json.jbuilder index 61bbc9159..14dfefefc 100644 --- a/app/views/pull_requests/show.json.jbuilder +++ b/app/views/pull_requests/show.json.jbuilder @@ -1,5 +1,6 @@ json.partial! "commons/success" json.project_name @project.name +json.identifier @project.identifier json.pr_time time_from_now(@pull_request.updated_at) json.commits_count @pull_request.commits_count json.files_count @pull_request.files_count