merge from develop

This commit is contained in:
yystopf 2023-02-07 14:21:32 +08:00
commit c983df57ee
4 changed files with 30 additions and 2 deletions

View File

@ -213,5 +213,13 @@ module RepositoriesHelper
def tmp_dir def tmp_dir
"repo" "repo"
end end
def repo_git_submodule_url(owner, repo, path)
unless (path.starts_with?('http://') || path.starts_with?('https://'))
path = File.expand_path(path, "#{base_url}/#{owner&.login}/#{repo&.identifier}")
path = path.split("#{Rails.root}/")[1]
end
return path
end
end end

View File

@ -39,6 +39,15 @@ class Projects::ListQuery < ApplicationQuery
collection collection
end end
def main_collection
collection = Project.visible
# 增加私有组织中项目过滤
collection = collection.joins("left join organization_extensions on organization_extensions.organization_id = projects.user_id")
.where("organization_extensions.visibility is null or organization_extensions.visibility in (0,1)")
.where("projects.user_id > 0")
collection
end
def by_search(items) def by_search(items)
@ids = Projects::ElasticsearchService.call(params[:search]) @ids = Projects::ElasticsearchService.call(params[:search])
items = items.where(platform: 'forge') items = items.where(platform: 'forge')
@ -80,5 +89,14 @@ class Projects::ListQuery < ApplicationQuery
relations relations
end end
end end
def by_recommend(items)
params[:recommend].to_s == "true" ? items.where(recommend: true) : items
end
def exclude_fork(items)
return items if params[:exclude_forked].blank?
params[:exclude_forked].to_s == "true" ? items.where("forked_from_project_id is null") : items.where("forked_from_project_id is not null")
end
end end

View File

@ -8,6 +8,7 @@ if @project.forge?
json.sha entry['sha'] json.sha entry['sha']
json.path entry['path'] json.path entry['path']
json.type entry['type'] json.type entry['type']
json.submodule_git_url repo_git_submodule_url(@owner, @repository, entry['submodule_git_url'])
json.size entry['size'] json.size entry['size']
is_readme = is_readme?(entry['type'], entry['name']) is_readme = is_readme?(entry['type'], entry['name'])
if is_readme if is_readme

View File

@ -51,6 +51,7 @@ if @project.forge?
json.path entry['path'] json.path entry['path']
json.sha entry['sha'] json.sha entry['sha']
json.type entry['type'] json.type entry['type']
json.submodule_git_url repo_git_submodule_url(@owner, @repository, entry['submodule_git_url'])
json.size entry['size'] json.size entry['size']
json.is_readme_file is_readme?(entry['type'], entry['name']) json.is_readme_file is_readme?(entry['type'], entry['name'])
json.content decode64_content(entry, @owner, @repository, @ref, @path) json.content decode64_content(entry, @owner, @repository, @ref, @path)