更改:贡献者获取规则以及分支列表同步旧版
This commit is contained in:
parent
54b7cef1bd
commit
de1e931c2f
|
@ -166,8 +166,9 @@ class RepositoriesController < ApplicationController
|
||||||
if params[:filepath].present? || @project.educoder?
|
if params[:filepath].present? || @project.educoder?
|
||||||
@contributors = []
|
@contributors = []
|
||||||
else
|
else
|
||||||
result = Gitea::Repository::Contributors::GetService.call(@owner, @repository.identifier)
|
result = Gitea::Repository::Contributors::GetService.call(@owner, @repository.identifier, {page: params[:page], limit: params[:limit]})
|
||||||
@contributors = result.is_a?(Hash) && result.key?(:status) ? [] : result
|
@total_count = result[:total_count]
|
||||||
|
@contributors = result.is_a?(Hash) ? result[:body] : []
|
||||||
end
|
end
|
||||||
rescue
|
rescue
|
||||||
@contributors = []
|
@contributors = []
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class Api::V1::Projects::Branches::ListService < ApplicationService
|
class Api::V1::Projects::Branches::ListService < ApplicationService
|
||||||
|
|
||||||
attr_accessor :project, :token, :owner, :repo, :name, :page, :limit
|
attr_accessor :project, :token, :owner, :repo, :name, :page, :limit
|
||||||
attr_accessor :gitea_data
|
attr_accessor :gitea_data, :gitea_repo_data
|
||||||
|
|
||||||
def initialize(project, params, token=nil)
|
def initialize(project, params, token=nil)
|
||||||
@project = project
|
@project = project
|
||||||
|
@ -16,6 +16,8 @@ class Api::V1::Projects::Branches::ListService < ApplicationService
|
||||||
def call
|
def call
|
||||||
load_gitea_data
|
load_gitea_data
|
||||||
|
|
||||||
|
gitea_data["default_branch"] = gitea_repo_data["default_branch"]
|
||||||
|
|
||||||
gitea_data
|
gitea_data
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -32,9 +34,12 @@ class Api::V1::Projects::Branches::ListService < ApplicationService
|
||||||
end
|
end
|
||||||
|
|
||||||
def load_gitea_data
|
def load_gitea_data
|
||||||
puts request_params
|
@gitea_data = $gitea_hat_client.get_repos_branches_by_owner_repo(owner, repo, {query: request_params}) rescue nil
|
||||||
@gitea_data = $gitea_client.get_repos_branches_by_owner_repo(owner, repo, {query: request_params}) rescue nil
|
|
||||||
puts @gitea_data
|
|
||||||
raise Error, '获取分支列表失败!' unless @gitea_data.is_a?(Hash)
|
raise Error, '获取分支列表失败!' unless @gitea_data.is_a?(Hash)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def load_default_branch
|
||||||
|
@gitea_repo_data = $gitea_client.get_repos_by_owner_repo('yystopf', 'pig') rescue nil
|
||||||
|
raise Error, '获取仓库信息失败!' unless @gitea_data.is_a?(Hash)
|
||||||
|
end
|
||||||
end
|
end
|
|
@ -1,22 +1,38 @@
|
||||||
class Gitea::Repository::Contributors::GetService < Gitea::ClientService
|
class Gitea::Repository::Contributors::GetService < Gitea::ClientService
|
||||||
attr_reader :owner, :repo_name
|
attr_reader :owner, :repo_name, :page, :limit
|
||||||
|
|
||||||
def initialize(owner, repo_name)
|
def initialize(owner, repo_name, params={})
|
||||||
@owner = owner
|
@owner = owner
|
||||||
@repo_name = repo_name
|
@repo_name = repo_name
|
||||||
|
@page = params[:page] || 1
|
||||||
|
@limit = params[:limit] || 20
|
||||||
end
|
end
|
||||||
|
|
||||||
def call
|
def call
|
||||||
response = get(url, params, true)
|
response = get(url, params, true)
|
||||||
render_status(response)
|
render_result(response)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def params
|
def params
|
||||||
Hash.new.merge(token: owner.gitea_token)
|
Hash.new.merge(token: owner.gitea_token, page: page, limit: limit)
|
||||||
end
|
end
|
||||||
|
|
||||||
def url
|
def url
|
||||||
"/repos/#{owner.login}/#{repo_name}/contributors"
|
"/repos/#{owner.login}/#{repo_name}/contributors"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def render_result(response)
|
||||||
|
case response.status
|
||||||
|
when 200
|
||||||
|
result = {}
|
||||||
|
headers = response.headers.to_hash
|
||||||
|
body = JSON.parse(response.body)
|
||||||
|
total_count = headers["x-total"]
|
||||||
|
result.merge(total_count: total_count.to_i, body: body)
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
# {status: -1, message: "#{body['message']}"}
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
|
@ -1,15 +1,15 @@
|
||||||
user = $redis_cache.hgetall("v2-owner-common:#{contributor["login"]}-#{contributor["email"]}")
|
user = $redis_cache.hgetall("v2-owner-common:#{contributor["name"]}-#{contributor["email"]}")
|
||||||
if user.blank?
|
if user.blank?
|
||||||
json.contributions contributor["contributions"]
|
json.contributions contributor["commits"]
|
||||||
# json.gid contributor["id"]
|
# json.id contributor["id"]
|
||||||
json.login contributor["login"]
|
json.name contributor["name"]
|
||||||
json.type nil
|
json.type nil
|
||||||
json.name contributor["login"]
|
json.name contributor["name"]
|
||||||
json.image_url User::Avatar.get_letter_avatar_url(contributor["login"])
|
json.image_url User::Avatar.get_letter_avatar_url(contributor["name"])
|
||||||
else
|
else
|
||||||
json.contributions contributor["contributions"]
|
json.contributions contributor["commits"]
|
||||||
# json.gid contributor["id"]
|
json.id user["id"]
|
||||||
json.login user["login"]
|
json.name user["name"]
|
||||||
json.type user["type"]
|
json.type user["type"]
|
||||||
json.name user["name"]
|
json.name user["name"]
|
||||||
json.image_url user["avatar_url"]
|
json.image_url user["avatar_url"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
total_count = @contributors.size
|
total_count = @total_count
|
||||||
json.list @contributors.each do |contributor|
|
json.list @contributors.each do |contributor|
|
||||||
json.partial! 'contributor', locals: { contributor: contributor }
|
json.partial! 'contributor', locals: { contributor: contributor }
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue