Merge remote-tracking branch 'origin/pre_trustie_server' into pre_trustie_server

This commit is contained in:
2024-05-08 17:19:19 +08:00
89 changed files with 1100 additions and 279 deletions

View File

@@ -135,7 +135,7 @@ class Api::V1::Issues::UpdateService < ApplicationService
end
def build_previous_issue_changes
@previous_issue_changes.merge!(@updated_issue.previous_changes.slice("status_id", "priority_id", "fixed_version_id", "issue_tags_value", "branch_name", "subject", "description").symbolize_keys)
@previous_issue_changes.merge!(@updated_issue.previous_changes.slice("status_id", "priority_id", "fixed_version_id", "issue_tags_value", "branch_name", "subject").symbolize_keys)
if @updated_issue.previous_changes[:start_date].present?
@previous_issue_changes.merge!(start_date: [@updated_issue.previous_changes[:start_date][0].to_s, @updated_issue.previous_changes[:start_date][1].to_s])
end

View File

@@ -0,0 +1,42 @@
class Api::V1::Projects::Actions::Runs::JobShowService < ApplicationService
include ActiveModel::Model
attr_reader :project, :token, :owner, :repo, :run, :job, :log_cursors
attr_accessor :gitea_data
validates :run, :job, :log_cursors, presence: true
def initialize(project, run, job, log_cursors, token = nil)
@project = project
@owner = project&.owner.login
@repo = project&.identifier
@run = run
@job = job
@log_cursors = log_cursors
@token = token
end
def call
raise Error, errors.full_messages.join(",") unless valid?
load_gitea_data
@gitea_data
end
private
def request_params
{
access_token: token
}
end
def request_body
{
logCursors: log_cursors
}
end
def load_gitea_data
@gitea_data = $gitea_hat_client.post_repos_actions_runs_jobs_by_owner_repo_run_job(owner, repo, run, job, {query: request_params, body: request_body.to_json})
end
end

View File

@@ -0,0 +1,40 @@
class Api::V1::Projects::Actions::Runs::ListService < ApplicationService
include ActiveModel::Model
attr_reader :project, :token, :owner, :repo, :workflow, :page, :limit
attr_accessor :gitea_data
validates :workflow, presence: true
def initialize(project, params, token =nil)
@project = project
@owner = project&.owner.login
@repo = project&.identifier
@workflow = params[:workflow]
@page = params[:page] || 1
@limit = params[:limit] || 15
@token = token
end
def call
raise Error, errors.full_messages.join(",") unless valid?
load_gitea_data
@gitea_data
end
private
def request_params
{
access_token: token,
workflow: workflow,
page: page,
limit: limit
}
end
def load_gitea_data
@gitea_data = $gitea_hat_client.get_repos_actions_by_owner_repo(owner, repo, {query: request_params}) rescue nil
raise Error, '获取流水线执行记录失败!' unless @gitea_data.is_a?(Hash)
end
end

View File

@@ -32,7 +32,7 @@ class Api::V1::Projects::Branches::DeleteService < ApplicationService
def excute_data_to_gitea
begin
@gitea_data = $gitea_client.delete_repos_branches_by_owner_repo_branch(owner, repo, branch_name, {query: request_params})
@gitea_data = $gitea_client.delete_repos_branches_by_owner_repo_branch(owner, repo, CGI.escape(branch_name), {query: request_params})
rescue => e
raise Error, '保护分支无法删除!' if e.to_s.include?("branch protected")
raise Error, '删除分支失败!'

View File

@@ -1,6 +1,6 @@
class Api::V1::Projects::Branches::ListService < ApplicationService
attr_accessor :project, :token, :owner, :repo, :name, :page, :limit
attr_accessor :project, :token, :owner, :repo, :name, :state, :page, :limit
attr_accessor :gitea_data, :gitea_repo_data
def initialize(project, params, token=nil)
@@ -9,6 +9,7 @@ class Api::V1::Projects::Branches::ListService < ApplicationService
@repo = project&.identifier
@token = token
@name = params[:name]
@state = params[:state]
@page = params[:page]
@limit = params[:limit]
end
@@ -18,7 +19,6 @@ class Api::V1::Projects::Branches::ListService < ApplicationService
load_default_branch
@gitea_data[:default_branch] = @gitea_repo_data["default_branch"]
@gitea_data
end
@@ -30,7 +30,8 @@ class Api::V1::Projects::Branches::ListService < ApplicationService
limit: limit
}
params.merge!({name: name}) if name.present?
params.merge!({state: state}) if state.present?
params
end

View File

@@ -0,0 +1,47 @@
class Api::V1::Projects::Branches::RestoreService < ApplicationService
include ActiveModel::Model
attr_accessor :project, :token, :owner, :repo, :branch_id, :branch_name
attr_accessor :gitea_data
validates :branch_id, :branch_name, presence: true
def initialize(project, branch_id, branch_name, token= nil)
@project = project
@owner = project&.owner&.login
@repo = project&.identifier
@branch_id = branch_id
@branch_name = branch_name
@token = token
end
def call
raise Error, errors.full_messages.join(",") unless valid?
excute_data_to_gitea
true
end
private
def request_params
{
access_token: token
}
end
def request_body
{
branch_id: branch_id,
name: branch_name,
}
end
def excute_data_to_gitea
begin
@gitea_data = $gitea_hat_client.post_repos_branches_restore_by_owner_repo(owner, repo, {query: request_params, body: request_body.to_json})
rescue => e
raise Error, '恢复分支失败!'
end
end
end

View File

@@ -0,0 +1,44 @@
class Api::V1::Projects::Commits::RecentService < ApplicationService
attr_reader :project, :page, :limit, :keyword, :owner, :repo, :token
attr_accessor :gitea_data, :gitea_repo_detail
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
load_gitea_repo_detail
{result: gitea_data, detail:gitea_repo_detail}
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
def load_gitea_repo_detail
@gitea_repo_detail = $gitea_client.get_repos_by_owner_repo(owner, repo, {query: {access_token: token}})
raise Error, "获取项目详情失败" unless @gitea_repo_detail.is_a?(Hash)
end
end

View File

@@ -29,6 +29,6 @@ class Api::V1::Projects::CompareService < ApplicationService
end
def load_gitea_data
@gitea_data = $gitea_client.get_repos_compare_by_owner_repo_from_to(owner, repo, from, to, {query: request_params}) rescue nil
@gitea_data = $gitea_hat_client.get_repos_compare_by_owner_repo_baseref_headref(owner, repo, to, from, {query: request_params}) rescue nil
end
end

View File

@@ -32,7 +32,7 @@ class Api::V1::Projects::Tags::DeleteService < ApplicationService
def excute_data_to_gitea
begin
@gitea_data = $gitea_client.delete_repos_tags_by_owner_repo_tag(owner, repo, tag_name, {query: request_params})
@gitea_data = $gitea_client.delete_repos_tags_by_owner_repo_tag(owner, repo, CGI.escape(tag_name), {query: request_params})
rescue => e
raise Error, '请先删除发行版!' if e.to_s.include?("409")
raise Error, '删除标签失败!'

View File

@@ -16,6 +16,6 @@ class Getway::Cms::GetService < Getway::ClientService
end
def url
"/cms/doc/open/#{doc_id}".freeze
"/cms/doc/open/baseInfo/#{doc_id}".freeze
end
end

View File

@@ -29,7 +29,7 @@ class Gitea::User::GenerateTokenService < Gitea::ClientService
end
def request_params
{ name: "#{@username}-#{token_name}" }
{ name: "#{@username}-#{token_name}", scopes: ["all"] }
end
def token_name

View File

@@ -47,7 +47,7 @@ class PageService
repo_link = project.repository.url
repo = project.repository.identifier
branch = branch
script_path =page.build_script_path
script_path = branch == "gh-pages" ? "files_build" : page.build_script_path
if script_path.present?
uri = URI.parse("http://gitlink.#{@deploy_domain}/gitlink_execute_script?key=#{@deploy_key}&script_path=#{script_path}&project_dir=#{project_dir}&repo=#{repo}&repo_link=#{repo_link}&branch=#{branch}&owner=#{owner}")
response = Net::HTTP.get_response(uri)

View File

@@ -26,9 +26,6 @@ class Projects::CreateService < ApplicationService
end
end
@project
rescue => e
puts "create project service error: #{e.message}"
raise Error, e.message
end
private

View File

@@ -33,18 +33,17 @@ class Repositories::CreateService < ApplicationService
end
repository
end
rescue => e
puts "create repository service error: #{e.message}"
raise Error, e.message
end
private
def create_gitea_repository
if project.owner.is_a?(User)
@gitea_repository = Gitea::Repository::CreateService.new(user.gitea_token, gitea_repository_params).call
# @gitea_repository = Gitea::Repository::CreateService.new(user.gitea_token, gitea_repository_params).call
@gitea_repository = $gitea_client.post_user_repos({query: {token: user.gitea_token}, body: gitea_repository_params.to_json})
elsif project.owner.is_a?(Organization)
@gitea_repository = Gitea::Organization::Repository::CreateService.call(user.gitea_token, project.owner.login, gitea_repository_params)
# @gitea_repository = Gitea::Organization::Repository::CreateService.call(user.gitea_token, project.owner.login, gitea_repository_params)
@gitea_repository = $gitea_client.post_orgs_repos_by_org(project.owner.login, {query: {token: user.gitea_token}, body: gitea_repository_params.to_json})
end
end
@@ -67,7 +66,7 @@ class Repositories::CreateService < ApplicationService
end
def repository_params
params.merge(project_id: project.id)
params.merge(project_id: project.id).except(:auto_init)
end
def gitea_repository_params