33 lines
914 B
Ruby
33 lines
914 B
Ruby
|
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
|