From f15cd44dff87a2df8072133140fa7f2c787a4c13 Mon Sep 17 00:00:00 2001 From: yystopf Date: Thu, 28 Apr 2022 18:53:33 +0800 Subject: [PATCH] add: compare add paginate --- app/controllers/compare_controller.rb | 12 ++++++++++++ app/helpers/repositories_helper.rb | 1 - app/views/compare/show.json.jbuilder | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/controllers/compare_controller.rb b/app/controllers/compare_controller.rb index 382e7506e..1aab7adbe 100644 --- a/app/controllers/compare_controller.rb +++ b/app/controllers/compare_controller.rb @@ -9,6 +9,10 @@ class CompareController < ApplicationController load_compare_params compare @merge_status, @merge_message = get_merge_message + @page_size = page_size <= 0 ? 1 : page_size + @page_limit = page_limit <=0 ? 15 : page_limit + @page_offset = (@page_size -1) * @page_limit + Rails.logger.info("+========#{@page_size}-#{@page_limit}-#{@page_offset}") end private @@ -53,4 +57,12 @@ class CompareController < ApplicationController def gitea_compare(base, head) Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, Addressable::URI.escape(base), Addressable::URI.escape(head), current_user.gitea_token) end + + def page_size + params.fetch(:page, 1).to_i + end + + def page_limit + params.fetch(:limit, 15).to_i + end end diff --git a/app/helpers/repositories_helper.rb b/app/helpers/repositories_helper.rb index e6e7e87f8..b8bfc31cd 100644 --- a/app/helpers/repositories_helper.rb +++ b/app/helpers/repositories_helper.rb @@ -36,7 +36,6 @@ module RepositoriesHelper end def render_cache_commit_author(author_json) - Rails.logger.info author_json['Email'] if author_json["name"].present? && author_json["email"].present? return find_user_in_redis_cache(author_json['name'], author_json['email']) end diff --git a/app/views/compare/show.json.jbuilder b/app/views/compare/show.json.jbuilder index deca41037..26a7cb769 100644 --- a/app/views/compare/show.json.jbuilder +++ b/app/views/compare/show.json.jbuilder @@ -1,7 +1,7 @@ -json.commits_count @compare_result['Commits']&.size +json.commits_count @compare_result['CommitsCount'] # json.commits @compare_result['Commits'], partial: 'pull_requests/commit', as: :commit json.commits do - json.array! @compare_result['Commits'] do |commit| + json.array! @compare_result['Commits'][@page_offset...(@page_offset + @page_limit)] do |commit| json.author do json.partial! 'repositories/commit_author', locals: { user: render_cache_commit_author(commit['Committer']), name: commit['Committer']['Name'] } end