class Api::V1::Projects::Commits::RecentService < ApplicationService attr_reader :project, :page, :limit, :keyword, :owner, :repo, :token attr_accessor :gitea_data def initialize(project, params, token=nil) @project = project @page = params[:page] || 1 @limit = params[:limit] || 15 @keyword = params[:keyword] @owner = project&.owner&.login @repo = project&.identifier @token = token end def call load_gitea_data gitea_data end private def request_params param = { access_token: token, page: page, limit: limit } param.merge!(keyword: keyword) if keyword.present? param end def load_gitea_data @gitea_data = $gitea_hat_client.get_repos_recent_commits_by_owner_repo(owner, repo, {query: request_params}) rescue nil raise Error, "获取最近提交列表失败" unless @gitea_data.is_a?(Hash) end end