新增:记录external_token
This commit is contained in:
parent
a273c1cfcf
commit
589d2ae2e8
|
@ -3,7 +3,7 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@sync_repositories = @project.sync_repositories
|
@sync_repositories = @project.sync_repositories
|
||||||
@group_sync_repository = @project.sync_repositories.group(:type, :external_repo_address, :sync_granularity).count
|
@group_sync_repository = @project.sync_repositories.group(:type, :external_repo_address, :sync_granularity, :external_token).count
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
|
@ -15,7 +15,7 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController
|
||||||
|
|
||||||
def update_info
|
def update_info
|
||||||
return render_error("请输入正确的同步仓库ID") unless params[:sync_repository_ids].present?
|
return render_error("请输入正确的同步仓库ID") unless params[:sync_repository_ids].present?
|
||||||
Api::V1::Projects::SyncRepositories::UpdateService.call(@project, params[:sync_repository_ids] , sync_repository_update_params)
|
Api::V1::Projects::SyncRepositories::UpdateService.call(@project, params[:sync_repository_ids], sync_repository_update_params)
|
||||||
render_ok
|
render_ok
|
||||||
rescue Exception => e
|
rescue Exception => e
|
||||||
uid_logger_error(e.message)
|
uid_logger_error(e.message)
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
# sync_direction :integer
|
# sync_direction :integer
|
||||||
# created_at :datetime not null
|
# created_at :datetime not null
|
||||||
# updated_at :datetime not null
|
# updated_at :datetime not null
|
||||||
|
# external_token :string(255)
|
||||||
#
|
#
|
||||||
# Indexes
|
# Indexes
|
||||||
#
|
#
|
||||||
|
|
|
@ -52,8 +52,8 @@ class Api::V1::Projects::SyncRepositories::CreateService < ApplicationService
|
||||||
repository1 = Reposync::CreateSyncRepoService.call(repo_name(1), gitlink_repo_address, gitlink_token, external_repo_address, external_token, sync_granularity, 1)
|
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)
|
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
|
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_repository1 = SyncRepository.create!(project: project, type: type, repo_name: repo_name(1), external_repo_address: external_repo_address, external_token: external_token, 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)
|
@sync_repository2 = SyncRepository.create!(project: project, type: type, repo_name: repo_name(2), external_repo_address: external_repo_address, external_token: external_token, sync_granularity: sync_granularity, sync_direction: 2)
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_sync_repository_branch
|
def create_sync_repository_branch
|
||||||
|
|
|
@ -6,7 +6,7 @@ class Api::V1::Projects::SyncRepositories::UpdateService < ApplicationService
|
||||||
|
|
||||||
validates :external_repo_address, format: { with: CustomRegexp::URL_REGEX, multiline: true, message: "地址格式不正确" }
|
validates :external_repo_address, format: { with: CustomRegexp::URL_REGEX, multiline: true, message: "地址格式不正确" }
|
||||||
validates :external_token, presence: true
|
validates :external_token, presence: true
|
||||||
|
|
||||||
#Api::V1::Projects::SyncRepositories::UpdateService.call(Project.last, "21,22", {external_repo_address: "https://github.com/viletyy/testdevops.git", external_token:"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"})
|
#Api::V1::Projects::SyncRepositories::UpdateService.call(Project.last, "21,22", {external_repo_address: "https://github.com/viletyy/testdevops.git", external_token:"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"})
|
||||||
def initialize(project, sync_repository_ids, params)
|
def initialize(project, sync_repository_ids, params)
|
||||||
@project = project
|
@project = project
|
||||||
|
@ -26,7 +26,7 @@ class Api::V1::Projects::SyncRepositories::UpdateService < ApplicationService
|
||||||
def update_sync_repository
|
def update_sync_repository
|
||||||
@sync_repositories.each do |repo|
|
@sync_repositories.each do |repo|
|
||||||
Reposync::UpdateRepoAddrService.call(repo&.repo_name, internal_repo_address, internal_token, external_repo_address, external_token)
|
Reposync::UpdateRepoAddrService.call(repo&.repo_name, internal_repo_address, internal_token, external_repo_address, external_token)
|
||||||
repo.update_attributes!({external_repo_address: external_repo_address})
|
repo.update_attributes!({external_repo_address: external_repo_address, external_token: external_token})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,6 @@ json.sync_repositories @group_sync_repository.each do |key|
|
||||||
json.type key[0][0]
|
json.type key[0][0]
|
||||||
json.external_repo_address key[0][1]
|
json.external_repo_address key[0][1]
|
||||||
json.sync_granularity key[0][2]
|
json.sync_granularity key[0][2]
|
||||||
|
json.external_token key[0][3]
|
||||||
json.sync_repository_ids @sync_repositories.where(type: key[0][0], external_repo_address: key[0][1], sync_granularity: key[0][2]).pluck(:id)
|
json.sync_repository_ids @sync_repositories.where(type: key[0][0], external_repo_address: key[0][1], sync_granularity: key[0][2]).pluck(:id)
|
||||||
end
|
end
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddExternalTokenToSyncRepository < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :sync_repositories, :external_token, :string
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue