9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'app/workers/has_helpers/cards/orphan_card_sweeper.rb', line 9
def perform
return unless HasHelpers::Cards.config.mode == :client
valid_ids = HasHelpers::Cards::Roles.all(force: true).map(&:id).map(&:to_s).to_set
if valid_ids.empty?
Rails.logger.warn("HasHelpers::Cards::OrphanCardSweeper: upstream returned no roles; skipping sweep to avoid disabling everything")
return
end
scope = HasHelpers::Cards::RoleResourceCard.where(disabled_at: nil).where.not(role_id: valid_ids.to_a)
scope.find_each(batch_size: 1000) do |card|
card.update_columns(disabled_at: Time.current)
end
end
|