trabajo-afectivo/lib/sequencer/unit/import/ldap/users/lost/ids.rb

35 lines
1,009 B
Ruby
Raw Normal View History

2022-01-01 13:38:12 +00:00
# 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