Merge branch 'develop' into standalone_develop
This commit is contained in:
commit
3888e8c06a
|
@ -31,14 +31,17 @@ class AttachmentsController < ApplicationController
|
||||||
|
|
||||||
def get_file
|
def get_file
|
||||||
normal_status(-1, "参数缺失") if params[:download_url].blank?
|
normal_status(-1, "参数缺失") if params[:download_url].blank?
|
||||||
url = base_url.starts_with?("https:") ? URI.encode(params[:download_url].to_s.gsub("http:", "https:")) : URI.encode(params[:download_url].to_s)
|
url = base_url.starts_with?("https:") ? params[:download_url].to_s.gsub("http:", "https:") : params[:download_url].to_s
|
||||||
if url.starts_with?(base_url) && !url.starts_with?("#{base_url}/repo")
|
if url.starts_with?(base_url) && !url.starts_with?("#{base_url}/repo")
|
||||||
domain = GiteaService.gitea_config[:domain]
|
domain = GiteaService.gitea_config[:domain]
|
||||||
api_url = GiteaService.gitea_config[:base_url]
|
api_url = GiteaService.gitea_config[:base_url]
|
||||||
url = ("/repos"+url.split(base_url + "/api")[1]).gsub('?filepath=', '/').gsub('&', '?')
|
url = ("/repos"+url.split(base_url + "/api")[1])
|
||||||
request_url = [domain, api_url, url, "?ref=#{params[:ref]}&access_token=#{User.where(admin: true).take&.gitea_token}"].join
|
filepath, ref = url.split("/")[-1].split("?")
|
||||||
|
url.gsub!(url.split("/")[-1], '')
|
||||||
|
puts filepath
|
||||||
|
request_url = [domain, api_url, url, CGI.escape(filepath), "?ref=#{CGI.escape(ref.split('ref=')[1])}&access_token=#{User.where(admin: true).take&.gitea_token}"].join
|
||||||
response = Faraday.get(request_url)
|
response = Faraday.get(request_url)
|
||||||
filename = url.to_s.split("/").pop()
|
filename = filepath
|
||||||
else
|
else
|
||||||
response = Faraday.get(url)
|
response = Faraday.get(url)
|
||||||
filename = params[:download_url].to_s.split("/").pop()
|
filename = params[:download_url].to_s.split("/").pop()
|
||||||
|
|
|
@ -273,7 +273,7 @@ class RepositoriesController < ApplicationController
|
||||||
domain = GiteaService.gitea_config[:domain]
|
domain = GiteaService.gitea_config[:domain]
|
||||||
api_url = GiteaService.gitea_config[:base_url]
|
api_url = GiteaService.gitea_config[:base_url]
|
||||||
|
|
||||||
url = "/repos/#{@owner.login}/#{@repository.identifier}/raw/#{Addressable::URI.escape(params[:filepath])}?ref=#{Addressable::URI.escape(params[:ref])}"
|
url = "/repos/#{@owner.login}/#{@repository.identifier}/raw/#{CGI.escape(params[:filepath])}?ref=#{CGI.escape(params[:ref])}"
|
||||||
file_path = [domain, api_url, url].join
|
file_path = [domain, api_url, url].join
|
||||||
file_path = [file_path, "access_token=#{@owner&.gitea_token}"].join("&")
|
file_path = [file_path, "access_token=#{@owner&.gitea_token}"].join("&")
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ module ProjectsHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def render_download_file_url(owner, repository, filepath, ref)
|
def render_download_file_url(owner, repository, filepath, ref)
|
||||||
[base_url, "/api/#{owner&.login}/#{repository.identifier}/raw?filepath=#{filepath}&ref=#{ref}"].join
|
[base_url, "/api/#{owner&.login}/#{repository.identifier}/raw/#{CGI.escape(filepath)}?ref=#{CGI.escape(ref)}"].join
|
||||||
end
|
end
|
||||||
|
|
||||||
def render_http_url(project)
|
def render_http_url(project)
|
||||||
|
|
|
@ -3,7 +3,7 @@ json.type webhook["type"]
|
||||||
json.content_type webhook['config']['content_type']
|
json.content_type webhook['config']['content_type']
|
||||||
json.http_method webhook['config']['http_method']
|
json.http_method webhook['config']['http_method']
|
||||||
json.url webhook['config']['url']
|
json.url webhook['config']['url']
|
||||||
json.events webhook["events"]
|
json.events webhook["events"].collect{|i| %w(pull_request issues).include?(i) ? i + "_only" : i}
|
||||||
json.active webhook['active']
|
json.active webhook['active']
|
||||||
json.branch_filter webhook['branch_filter']
|
json.branch_filter webhook['branch_filter']
|
||||||
json.created_at format_time(webhook['created_at'].to_time)
|
json.created_at format_time(webhook['created_at'].to_time)
|
|
@ -2,6 +2,6 @@ json.id @webhook["id"]
|
||||||
json.type @webhook["type"]
|
json.type @webhook["type"]
|
||||||
json.content_type @webhook["config"]["content_type"]
|
json.content_type @webhook["config"]["content_type"]
|
||||||
json.url @webhook["config"]["url"]
|
json.url @webhook["config"]["url"]
|
||||||
json.events @webhook["events"]
|
json.events @webhook["events"].collect{|i| %w(pull_request issues).include?(i) ? i + "_only" : i}
|
||||||
json.active @webhook["active"]
|
json.active @webhook["active"]
|
||||||
json.create_time @webhook["created_at"].to_time.strftime("%Y-%m-%d %H:%M:%S")
|
json.create_time @webhook["created_at"].to_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
@ -17,14 +17,15 @@ if @project.forge?
|
||||||
json.content (direct_download || image_type || is_dir) ? nil : decode64_content(entry, @owner, @repository, @ref, @path)
|
json.content (direct_download || image_type || is_dir) ? nil : decode64_content(entry, @owner, @repository, @ref, @path)
|
||||||
json.target entry['target']
|
json.target entry['target']
|
||||||
|
|
||||||
download_url =
|
download_url = is_dir ? "" : render_download_file_url(@owner, @repository, entry['path'].to_s, @ref)
|
||||||
if image_type
|
# if image_type
|
||||||
dir_path = [@owner.login, @repository.identifier, "raw/branch", @ref].join('/')
|
# # dir_path = [@owner.login, @repository.identifier, "raw/branch", @ref].join('/')
|
||||||
is_dir ? "" : render_download_image_url(dir_path, entry['path'], decode64_content(entry, @owner, @repository, @ref))
|
# # is_dir ? "" : render_download_image_url(dir_path, entry['path'], decode64_content(entry, @owner, @repository, @ref))
|
||||||
else
|
# is_dir ? "" : render_gitea_raw_url(entry['download_url'])
|
||||||
# entry['download_url']
|
# else
|
||||||
is_dir ? "" : render_download_file_url(@owner, @repository, entry['path'].to_s, @ref)
|
# # entry['download_url']
|
||||||
end
|
# is_dir ? "" : render_download_file_url(@owner, @repository, entry['path'].to_s, @ref)
|
||||||
|
# end
|
||||||
json.download_url download_url
|
json.download_url download_url
|
||||||
|
|
||||||
json.direct_download direct_download
|
json.direct_download direct_download
|
||||||
|
|
|
@ -534,7 +534,7 @@ Rails.application.routes.draw do
|
||||||
get 'readme'
|
get 'readme'
|
||||||
get 'languages'
|
get 'languages'
|
||||||
get 'archive/:archive', to: 'repositories#archive', as: "archive", constraints: { archive: /.+/, format: /(zip|gzip)/ }
|
get 'archive/:archive', to: 'repositories#archive', as: "archive", constraints: { archive: /.+/, format: /(zip|gzip)/ }
|
||||||
get 'raw', to: 'repositories#raw', as: "raw"
|
get 'raw/*filepath', to: 'repositories#raw', as: "raw", constraints: { filepath: /.+/}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue