|
- 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
|