2022-01-01 13:38:12 +00:00
|
|
|
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
|
2021-06-01 12:20:20 +00:00
|
|
|
|
2017-11-29 16:54:52 +00:00
|
|
|
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
|
2018-01-10 10:55:02 +00:00
|
|
|
::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)
|
2017-11-29 16:54:52 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|