39 lines
1.1 KiB
Ruby
39 lines
1.1 KiB
Ruby
# == Schema Information
|
|
#
|
|
# Table name: sync_repository_branches
|
|
#
|
|
# id :integer not null, primary key
|
|
# sync_repository_id :integer
|
|
# gitlink_branch_name :string(255)
|
|
# external_branch_name :string(255)
|
|
# sync_time :datetime
|
|
# sync_status :integer default("0")
|
|
# reposync_branch_id :integer
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
# enable :boolean default("1")
|
|
#
|
|
# Indexes
|
|
#
|
|
# index_sync_repository_branches_on_sync_repository_id (sync_repository_id)
|
|
#
|
|
|
|
class SyncRepositoryBranch < ApplicationRecord
|
|
|
|
belongs_to :sync_repository
|
|
|
|
before_destroy :unbind_reposyncer
|
|
|
|
enum sync_status: {success: 1, failure: 2}
|
|
|
|
|
|
def unbind_reposyncer
|
|
if self.sync_repository.sync_direction.to_i == 1
|
|
Reposync::DeleteBranchService.call(self.sync_repository&.repo_name, self.gitlink_branch_name) rescue nil
|
|
else
|
|
Reposync::DeleteBranchService.call(self.sync_repository&.repo_name, self.external_branch_name) rescue nil
|
|
end
|
|
end
|
|
|
|
end
|