From 2a3f2fb6200310d635c5f539a2ac4b7f892ff185 Mon Sep 17 00:00:00 2001 From: yystopf Date: Thu, 9 May 2024 09:11:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projects/sync_repositories_controller.rb | 10 ++-------- app/services/reposync/get_logs_service.rb | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/app/controllers/api/v1/projects/sync_repositories_controller.rb b/app/controllers/api/v1/projects/sync_repositories_controller.rb index ec01ed84..d1c668ba 100644 --- a/app/controllers/api/v1/projects/sync_repositories_controller.rb +++ b/app/controllers/api/v1/projects/sync_repositories_controller.rb @@ -113,14 +113,8 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController def history return render_error("请输入正确的同步分支ID") unless params[:reposync_branch_ids] - @reposync_branch_logs = [] - params[:reposync_branch_ids].split(",").each do |branch_id| - @branch = SyncRepositoryBranch.find_by(reposync_branch_id: branch_id) - repo = @branch&.sync_repository - _, logs, _ = Reposync::GetLogsService.call(repo&.repo_name, branch_id) - @reposync_branch_logs += logs - end - @reposync_branch_logs = @reposync_branch_logs.sort_by{|log|log["update_at"]} + @branch = SyncRepositoryBranch.find_by(reposync_branch_id: params[:reposync_branch_ids].split(",")[0]) + _, @reposync_branch_logs, _ = Reposync::GetLogsService.call(nil, params[:reposync_branch_ids], page, limit) end private diff --git a/app/services/reposync/get_logs_service.rb b/app/services/reposync/get_logs_service.rb index e6657883..0aca0fab 100644 --- a/app/services/reposync/get_logs_service.rb +++ b/app/services/reposync/get_logs_service.rb @@ -1,10 +1,12 @@ class Reposync::GetLogsService < Reposync::ClientService - attr_accessor :repo_name, :branch_id + attr_accessor :repo_name, :branch_id, :page_num, :page_size - def initialize(repo_name, branch_id=nil) + def initialize(repo_name=nil, branch_id=nil, page_num=1, page_size=10) @repo_name = repo_name @branch_id = branch_id + @page_num = page_num + @page_size = page_size end def call @@ -14,10 +16,18 @@ class Reposync::GetLogsService < Reposync::ClientService private def request_params - branch_id.present? ? {branch_id: branch_id}.stringify_keys : {} + params = { + page_num: page_num, + page_size: page_size, + create_sort: true + } + params.merge(repo_name: repo_name) if repo_name.present? + params.merge(branch_id: branch_id) if branch_id.present? + + return params.stringify_keys end def url - "/cerobot/sync/repo/#{repo_name}/logs" + "/cerobot/sync/repo/logs" end end \ No newline at end of file