forked from Gitlink/forgeplus
39 lines
918 B
Ruby
39 lines
918 B
Ruby
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 |