forked from Trustie/forgeplus
FIX repositories detail api bug
This commit is contained in:
parent
e1d7b0b881
commit
ad4617288d
|
@ -17,15 +17,15 @@ class RepositoriesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
# 新版项目详情
|
# 新版项目详情
|
||||||
def detail
|
def detail
|
||||||
@user = current_user
|
@user = current_user
|
||||||
@result = Repositories::DetailService.call(@owner, @repository, @user)
|
@result = Repositories::DetailService.call(@owner, @repository, @user)
|
||||||
@project_fork_id = @project.try(:forked_from_project_id)
|
@project_fork_id = @project.try(:forked_from_project_id)
|
||||||
if @project_fork_id.present?
|
if @project_fork_id.present?
|
||||||
@fork_project = Project.find_by(id: @project_fork_id)
|
@fork_project = Project.find_by(id: @project_fork_id)
|
||||||
@fork_project_user = @fork_project.owner
|
@fork_project_user = @fork_project.owner
|
||||||
end
|
end
|
||||||
rescue Exception => e
|
rescue Exception => e
|
||||||
uid_logger_error(e.message)
|
uid_logger_error(e.message)
|
||||||
tip_exception(e.message)
|
tip_exception(e.message)
|
||||||
end
|
end
|
||||||
|
@ -210,7 +210,7 @@ class RepositoriesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_ref
|
def get_ref
|
||||||
@ref = params[:ref] || @project.default_branch
|
@ref = params[:ref] || @project&.default_branch
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_latest_commit
|
def get_latest_commit
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
class Repositories::DetailService < ApplicationService
|
class Repositories::DetailService < ApplicationService
|
||||||
include Repository::LanguagesPercentagable
|
include Repository::LanguagesPercentagable
|
||||||
attr_reader :owner, :repo, :user
|
attr_reader :owner, :repo, :user
|
||||||
def initialize(owner, repo, user)
|
def initialize(owner, repo, user)
|
||||||
@owner = owner
|
@owner = owner
|
||||||
@repo = repo
|
@repo = repo
|
||||||
@user = user
|
@user = user
|
||||||
end
|
end
|
||||||
|
|
||||||
def call
|
def call
|
||||||
if @repo.project.educoder?
|
if @repo.project.educoder?
|
||||||
return {
|
return {
|
||||||
repo: {},
|
repo: {},
|
||||||
release: [],
|
release: [],
|
||||||
|
@ -31,7 +31,7 @@ class Repositories::DetailService < ApplicationService
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def repo_suitable
|
def repo_suitable
|
||||||
Gitea::Repository::GetService.call(@owner, @repo.identifier)
|
Gitea::Repository::GetService.call(@owner, @repo.identifier)
|
||||||
end
|
end
|
||||||
|
@ -41,24 +41,26 @@ class Repositories::DetailService < ApplicationService
|
||||||
end
|
end
|
||||||
|
|
||||||
def branch_suitable
|
def branch_suitable
|
||||||
Gitea::Repository::Branches::ListService.call(@owner, @repo.identifier)
|
branches = Gitea::Repository::Branches::ListService.call(@owner, @repo.identifier)
|
||||||
|
branches.is_a?(Hash) && branches[:status] == :error ? [] : branches
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_suitable
|
def tag_suitable
|
||||||
Gitea::Repository::Tags::ListService.call(@owner&.gitea_token, @owner.login, @repo.identifier)
|
tags = Gitea::Repository::Tags::ListService.call(@owner&.gitea_token, @owner.login, @repo.identifier)
|
||||||
|
tags.is_a?(Hash) && tags[:status] == -1 ? [] : tags
|
||||||
end
|
end
|
||||||
|
|
||||||
def contributor_suitable
|
def contributor_suitable
|
||||||
Gitea::Repository::Contributors::GetService.call(@owner, @repo.identifier)
|
Gitea::Repository::Contributors::GetService.call(@owner, @repo.identifier)
|
||||||
end
|
end
|
||||||
|
|
||||||
def language_suitable
|
def language_suitable
|
||||||
result = Gitea::Repository::Languages::ListService.call(@owner.login, @repo.identifier, @user&.gitea_token)
|
result = Gitea::Repository::Languages::ListService.call(@owner.login, @repo.identifier, @user&.gitea_token)
|
||||||
result[:status] === :success ? hash_transform_precentagable(result[:body]) : nil
|
result[:status] === :success ? hash_transform_precentagable(result[:body]) : nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def readme_suitable
|
def readme_suitable
|
||||||
result = Gitea::Repository::Readme::GetService.call(@owner.login, @repo.identifier, @repo.default_branch, @owner.gitea_token)
|
result = Gitea::Repository::Readme::GetService.call(@owner.login, @repo.identifier, @repo.default_branch, @owner.gitea_token)
|
||||||
result[:status] === :success ? result[:body] : nil
|
result[:status] === :success ? result[:body] : nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue