mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-16 09:45:57 +08:00
新增:解绑和更改状态接口
This commit is contained in:
@@ -11,8 +11,9 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController
|
||||
end
|
||||
|
||||
def sync
|
||||
@sync_repositories = SyncRepository.where(project: @project)
|
||||
@sync_repository_branches = SyncRepositoryBranch.where(sync_repository_id: @sync_repositories)
|
||||
return render_error("请输入正确的同步方向!") if params[:sync_direction].blank?
|
||||
@sync_repositories = SyncRepository.where(project: @project, sync_direction: params[:sync_direction])
|
||||
@sync_repository_branches = SyncRepositoryBranch.where(sync_repository_id: @sync_repositories, enable: true)
|
||||
@sync_repositories.each do |item|
|
||||
TouchSyncJob.perform_later(item)
|
||||
end
|
||||
@@ -21,6 +22,34 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController
|
||||
end
|
||||
end
|
||||
|
||||
def unbind
|
||||
return render_error("请输入正确的同步项目ID") unless params[:sync_repository_ids].present?
|
||||
@sync_repositories = SyncRepository.where(id: params[:sync_repository_ids].split(","))
|
||||
@sync_repositories.each do |repo|
|
||||
Reposync::DeleteRepoService.call(repo.repo_name)
|
||||
repo.destroy
|
||||
end
|
||||
render_ok
|
||||
end
|
||||
|
||||
def change_enable
|
||||
return render_error("请输入正确的分支名称") if params[:gitlink_branch_name].blank? || params[:external_branch_name].blank?
|
||||
return render_error("请输入正确的状态") if params[:enable].blank?
|
||||
@sync_repository_branches = SyncRepositoryBranch.where(gitlink_branch_name: params[:gitlink_branch_name], external_branch_name: params[:external_branch_name])
|
||||
if @sync_repository_branches.update_all({enable: params[:enable]})
|
||||
@sync_repository_branches.each do |branch|
|
||||
if branch&.sync_repository&.sync_direction.to_i == 1
|
||||
Reposync::UpdateBranchStatusService.call(branch&.sync_repository&.repo_name, branch.gitlink_branch_name, params[:enable])
|
||||
else
|
||||
Reposync::UpdateBranchStatusService.call(branch&.sync_repository&.repo_name, branch.external_branch_name, params[:enable])
|
||||
end
|
||||
end
|
||||
render_ok
|
||||
else
|
||||
render_error("更新失败!")
|
||||
end
|
||||
end
|
||||
|
||||
def branches
|
||||
return render_error("请输入正确的同步项目ID") unless params[:sync_repository_ids].present?
|
||||
@sync_repository_branches = SyncRepositoryBranch.where(sync_repository_id: params[:sync_repository_ids].split(","))
|
||||
|
||||
Reference in New Issue
Block a user