新增:记录external_token

This commit is contained in:
yystopf 2024-04-24 17:06:45 +08:00
parent a273c1cfcf
commit 589d2ae2e8
6 changed files with 13 additions and 6 deletions

View File

@ -3,7 +3,7 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController
def index
@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
def create
@ -15,7 +15,7 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController
def update_info
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
rescue Exception => e
uid_logger_error(e.message)

View File

@ -11,6 +11,7 @@
# sync_direction :integer
# created_at :datetime not null
# updated_at :datetime not null
# external_token :string(255)
#
# Indexes
#

View File

@ -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)
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)
@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, external_token: external_token, sync_granularity: sync_granularity, sync_direction: 2)
end
def create_sync_repository_branch

View File

@ -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_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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"})
def initialize(project, sync_repository_ids, params)
@project = project
@ -26,7 +26,7 @@ class Api::V1::Projects::SyncRepositories::UpdateService < ApplicationService
def update_sync_repository
@sync_repositories.each do |repo|
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

View File

@ -3,5 +3,6 @@ json.sync_repositories @group_sync_repository.each do |key|
json.type key[0][0]
json.external_repo_address key[0][1]
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)
end

View File

@ -0,0 +1,5 @@
class AddExternalTokenToSyncRepository < ActiveRecord::Migration[5.2]
def change
add_column :sync_repositories, :external_token, :string
end
end