新增:exter_token和inter_token
This commit is contained in:
parent
e9237d7789
commit
9c32cd8769
|
@ -44,7 +44,7 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController
|
|||
|
||||
def change_enable
|
||||
return render_error("请输入正确的分支名称") if params[:gitlink_branch_name].blank? || params[:external_branch_name].blank?
|
||||
return render_error("请输入正确的状态") if params[:enable].blank?
|
||||
# return render_error("请输入正确的状态") if params[:enable].blank?
|
||||
@sync_repository_branches = SyncRepositoryBranch.joins(:sync_repository).where(sync_repositories: {project_id: @project.id}, 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|
|
||||
|
|
|
@ -49,8 +49,9 @@ class Api::V1::Projects::SyncRepositories::CreateService < ApplicationService
|
|||
|
||||
private
|
||||
def create_sync_repository
|
||||
repository1 = Reposync::CreateSyncRepoService.call(repo_name(1), gitlink_repo_address, act_external_repo_address, sync_granularity, 1)
|
||||
repository2 = Reposync::CreateSyncRepoService.call(repo_name(2), gitlink_repo_address, act_external_repo_address, sync_granularity, 2)
|
||||
repository1 = Reposync::CreateSyncRepoService.call(repo_name(1), gitlink_repo_address, gitlink_token, external_repo_address, external_token, sync_granularity, 1)
|
||||
repository2 = Reposync::CreateSyncRepoService.call(repo_name(2), gitlink_repo_address, gitlink_token, external_repo_address, external_token, sync_granularity, 2)
|
||||
raise Error, '创建同步仓库失败' if repository1[0].to_i > 0 || repository2[0].to_i > 0
|
||||
@sync_repository1 = SyncRepository.create!(project: project, type: type, repo_name: repo_name(1), external_repo_address: external_repo_address, sync_granularity: sync_granularity, sync_direction: 1)
|
||||
@sync_repository2 = SyncRepository.create!(project: project, type: type, repo_name: repo_name(2), external_repo_address: external_repo_address, sync_granularity: sync_granularity, sync_direction: 2)
|
||||
end
|
||||
|
@ -58,6 +59,7 @@ class Api::V1::Projects::SyncRepositories::CreateService < ApplicationService
|
|||
def create_sync_repository_branch
|
||||
branch1 = Reposync::CreateSyncBranchService.call(repo_name(1),gitlink_branch_name, external_branch_name)
|
||||
branch2 = Reposync::CreateSyncBranchService.call(repo_name(2),gitlink_branch_name, external_branch_name)
|
||||
raise Error, '创建同步仓库分支失败' if branch1[0].to_i > 0 || branch2[0].to_i > 0
|
||||
@sync_repository_branch1 = SyncRepositoryBranch.create!(sync_repository: @sync_repository1, gitlink_branch_name: gitlink_branch_name, external_branch_name: external_branch_name, reposync_branch_id: branch1[1]["id"])
|
||||
@sync_repository_branch2 = SyncRepositoryBranch.create!(sync_repository: @sync_repository2, gitlink_branch_name: gitlink_branch_name, external_branch_name: external_branch_name, reposync_branch_id: branch2[1]["id"])
|
||||
end
|
||||
|
@ -91,14 +93,11 @@ class Api::V1::Projects::SyncRepositories::CreateService < ApplicationService
|
|||
end
|
||||
end
|
||||
|
||||
def act_external_repo_address
|
||||
body = external_repo_address.split("https://")[1]
|
||||
return "https://oauth2:#{external_token}@#{body}"
|
||||
def gitlink_repo_address
|
||||
"#{EduSetting.get("gitlink_repo_domain")}/#{project.owner&.login}/#{project.identifier}.git"
|
||||
end
|
||||
|
||||
def gitlink_repo_address
|
||||
internal_repo_address = "#{EduSetting.get("gitlink_repo_domain")}/#{project.owner&.login}/#{project.identifier}.git"
|
||||
body = internal_repo_address.split("https://")[1]
|
||||
return "https://oauth2:#{EduSetting.get("gitlink_admin_token")}@#{body}"
|
||||
def gitlink_token
|
||||
EduSetting.get("gitlink_admin_token")
|
||||
end
|
||||
end
|
|
@ -1,11 +1,13 @@
|
|||
class Reposync::CreateSyncRepoService < Reposync::ClientService
|
||||
|
||||
attr_accessor :repo_name, :internal_repo_address, :external_repo_address, :sync_granularity, :sync_direction, :enable
|
||||
attr_accessor :repo_name, :internal_repo_address, :inter_token, :external_repo_address, :exter_token, :sync_granularity, :sync_direction, :enable
|
||||
|
||||
def initialize(repo_name, internal_repo_address, external_repo_address, sync_granularity, sync_direction, enable=true)
|
||||
def initialize(repo_name, internal_repo_address, inter_token, external_repo_address, exter_token, sync_granularity, sync_direction, enable=true)
|
||||
@repo_name = repo_name
|
||||
@internal_repo_address = internal_repo_address
|
||||
@inter_token = inter_token
|
||||
@external_repo_address = external_repo_address
|
||||
@exter_token = exter_token
|
||||
@sync_granularity = sync_granularity
|
||||
@sync_direction = sync_direction
|
||||
@enable = enable
|
||||
|
@ -22,7 +24,9 @@ class Reposync::CreateSyncRepoService < Reposync::ClientService
|
|||
repo_name: repo_name,
|
||||
enable: enable,
|
||||
internal_repo_address: internal_repo_address,
|
||||
inter_token: inter_token,
|
||||
external_repo_address: external_repo_address,
|
||||
exter_token: exter_token,
|
||||
sync_granularity: sync_granularity,
|
||||
sync_direction: sync_direction
|
||||
}.stringify_keys)
|
||||
|
|
Loading…
Reference in New Issue