From 61f893ba0adee4e1cae6f8c93c4c5babd8c330f8 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 6 May 2024 13:56:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=EF=BC=9A=E8=A7=A3=E7=BB=91?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=94=BE=E5=9C=A8=E5=9B=9E=E8=B0=83=E9=87=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/v1/projects/sync_repositories_controller.rb | 2 +- app/models/sync_repository.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/v1/projects/sync_repositories_controller.rb b/app/controllers/api/v1/projects/sync_repositories_controller.rb index 6aa9cb6eb..96e14faf9 100644 --- a/app/controllers/api/v1/projects/sync_repositories_controller.rb +++ b/app/controllers/api/v1/projects/sync_repositories_controller.rb @@ -42,7 +42,7 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController 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) + # Reposync::DeleteRepoService.call(repo.repo_name) # 解绑操作放在回调里 Api::V1::Projects::Webhooks::DeleteService.call(@project, repo.webhook_gid) repo.destroy end diff --git a/app/models/sync_repository.rb b/app/models/sync_repository.rb index 13af04f88..70018d7db 100644 --- a/app/models/sync_repository.rb +++ b/app/models/sync_repository.rb @@ -24,5 +24,12 @@ class SyncRepository < ApplicationRecord belongs_to :project has_many :sync_repository_branches, dependent: :destroy + before_destroy :unbind_reposyncer + validates :repo_name, uniqueness: { message: "已存在" } + + def unbind_reposyncer + Reposync::DeleteRepoService.call(self.repo_name) + end + end