trabajo-afectivo/lib/sequencer/unit/import/ldap/users/lost/ids.rb
2022-01-01 14:38:12 +01:00

34 lines
1,009 B
Ruby

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
class Sequencer
class Unit
module Import
module Ldap
module Users
module Lost
class Ids < Sequencer::Unit::Base
uses :found_ids, :external_sync_source, :model_class
provides :lost_ids
def process
state.provide(:lost_ids, active_ids - found_ids)
end
def active_ids
::ExternalSync.joins('INNER JOIN users ON (users.id = external_syncs.o_id)')
.where(
source: external_sync_source,
object: model_class.name,
users: {
active: true
}
)
.pluck(:o_id)
end
end
end
end
end
end
end
end