|
|
|
@@ -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 |