Refactoring: Changed attribute name instance_action to more re-useable and generic name action.
This commit is contained in:
parent
a42531ce46
commit
fc1b66d646
24 changed files with 167 additions and 132 deletions
|
@ -9,8 +9,8 @@ class Sequencer
|
||||||
class Assign < Sequencer::Unit::Base
|
class Assign < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
||||||
|
|
||||||
uses :instance, :associations, :instance_action, :dry_run
|
uses :instance, :associations, :action, :dry_run
|
||||||
provides :instance_action
|
provides :action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
return if dry_run
|
return if dry_run
|
||||||
|
@ -19,9 +19,9 @@ class Sequencer
|
||||||
instance.assign_attributes(associations)
|
instance.assign_attributes(associations)
|
||||||
|
|
||||||
# execute associations check only if needed for performance reasons
|
# execute associations check only if needed for performance reasons
|
||||||
return if instance_action != :unchanged
|
return if action != :unchanged
|
||||||
return if !changed?
|
return if !changed?
|
||||||
state.provide(:instance_action, :changed)
|
state.provide(:action, :changed)
|
||||||
rescue => e
|
rescue => e
|
||||||
handle_failure(e)
|
handle_failure(e)
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,9 +6,9 @@ class Sequencer
|
||||||
module Attributes
|
module Attributes
|
||||||
class AddByIds < Sequencer::Unit::Base
|
class AddByIds < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Mapping::Mixin::ProvideMapped
|
include ::Sequencer::Unit::Import::Common::Mapping::Mixin::ProvideMapped
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
provide_mapped do
|
provide_mapped do
|
||||||
|
|
|
@ -5,17 +5,17 @@ class Sequencer
|
||||||
module Model
|
module Model
|
||||||
module Attributes
|
module Attributes
|
||||||
class CheckMandatory < Sequencer::Unit::Base
|
class CheckMandatory < Sequencer::Unit::Base
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
uses :mapped
|
uses :mapped
|
||||||
provides :instance_action
|
provides :action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
mandatory.each do |mapped_attribute|
|
mandatory.each do |mapped_attribute|
|
||||||
next if mapped[mapped_attribute].present?
|
next if mapped[mapped_attribute].present?
|
||||||
state.provide(:instance_action, :skipped)
|
state.provide(:action, :skipped)
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,17 +5,17 @@ class Sequencer
|
||||||
module Model
|
module Model
|
||||||
class Create < Sequencer::Unit::Base
|
class Create < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
uses :mapped, :model_class
|
uses :mapped, :model_class
|
||||||
provides :instance, :instance_action
|
provides :instance, :action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
instance = model_class.new(mapped)
|
instance = model_class.new(mapped)
|
||||||
state.provide(:instance, instance)
|
state.provide(:instance, instance)
|
||||||
state.provide(:instance_action, :created)
|
state.provide(:action, :created)
|
||||||
rescue => e
|
rescue => e
|
||||||
handle_failure(e)
|
handle_failure(e)
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,7 @@ class Sequencer
|
||||||
module Model
|
module Model
|
||||||
class HttpLog < Sequencer::Unit::Base
|
class HttpLog < Sequencer::Unit::Base
|
||||||
|
|
||||||
uses :dry_run, :instance_action, :remote_id, :mapped, :exception
|
uses :dry_run, :action, :remote_id, :mapped, :exception
|
||||||
|
|
||||||
def process
|
def process
|
||||||
return if dry_run
|
return if dry_run
|
||||||
|
@ -13,7 +13,7 @@ class Sequencer
|
||||||
direction: 'out',
|
direction: 'out',
|
||||||
facility: facility,
|
facility: facility,
|
||||||
method: 'tcp',
|
method: 'tcp',
|
||||||
url: "#{instance_action} -> #{remote_id}",
|
url: "#{action} -> #{remote_id}",
|
||||||
status: status,
|
status: status,
|
||||||
ip: nil,
|
ip: nil,
|
||||||
request: {
|
request: {
|
||||||
|
@ -31,7 +31,7 @@ class Sequencer
|
||||||
|
|
||||||
def status
|
def status
|
||||||
@status ||= begin
|
@status ||= begin
|
||||||
instance_action == :failed ? :failed : :success
|
action == :failed ? :failed : :success
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,9 @@ class Sequencer
|
||||||
module Lookup
|
module Lookup
|
||||||
class Attributes < Sequencer::Unit::Base
|
class Attributes < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_instance_action :skipped
|
skip_action :skipped
|
||||||
|
|
||||||
uses :mapped, :model_class
|
uses :mapped, :model_class
|
||||||
provides :instance
|
provides :instance
|
||||||
|
|
|
@ -6,9 +6,9 @@ class Sequencer
|
||||||
module Lookup
|
module Lookup
|
||||||
class ExternalSync < Sequencer::Unit::Base
|
class ExternalSync < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_instance_action :skipped
|
skip_action :skipped
|
||||||
|
|
||||||
uses :remote_id, :model_class, :external_sync_source
|
uses :remote_id, :model_class, :external_sync_source
|
||||||
provides :instance
|
provides :instance
|
||||||
|
|
|
@ -7,13 +7,13 @@ class Sequencer
|
||||||
module HandleFailure
|
module HandleFailure
|
||||||
|
|
||||||
def self.included(base)
|
def self.included(base)
|
||||||
base.provides :exception, :instance_action
|
base.provides :exception, :action
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_failure(e)
|
def handle_failure(e)
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
state.provide(:exception, e)
|
state.provide(:exception, e)
|
||||||
state.provide(:instance_action, :failed)
|
state.provide(:action, :failed)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
55
lib/sequencer/unit/import/common/model/mixin/skip/action.rb
Normal file
55
lib/sequencer/unit/import/common/model/mixin/skip/action.rb
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
class Sequencer
|
||||||
|
class Unit
|
||||||
|
module Import
|
||||||
|
module Common
|
||||||
|
module Model
|
||||||
|
module Mixin
|
||||||
|
module Skip
|
||||||
|
module Action
|
||||||
|
|
||||||
|
module ClassMethods
|
||||||
|
|
||||||
|
def skip_action(*actions)
|
||||||
|
declaration_accessor(
|
||||||
|
key: __method__,
|
||||||
|
attributes: actions
|
||||||
|
)
|
||||||
|
end
|
||||||
|
alias skip_actions skip_action
|
||||||
|
|
||||||
|
def skip_any_action
|
||||||
|
skip_actions(:any)
|
||||||
|
end
|
||||||
|
|
||||||
|
def skip_action?(action)
|
||||||
|
logger.debug("Checking if skip is necessary for action #{action.inspect}.")
|
||||||
|
return false if action.blank?
|
||||||
|
logger.debug("Checking if skip is necessary for skip_actions #{skip_actions.inspect}.")
|
||||||
|
return false if skip_actions.blank?
|
||||||
|
return true if skip_actions.include?(action)
|
||||||
|
return true if skip_actions.include?(:any)
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.prepended(base)
|
||||||
|
base.extend(ClassMethods)
|
||||||
|
end
|
||||||
|
|
||||||
|
def process
|
||||||
|
action = state.optional(:action)
|
||||||
|
if self.class.skip_action?(action)
|
||||||
|
logger.debug("Skipping due to provided action #{action.inspect}.")
|
||||||
|
else
|
||||||
|
logger.debug("Nope. Won't skip action #{action.inspect}.")
|
||||||
|
super
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,55 +0,0 @@
|
||||||
class Sequencer
|
|
||||||
class Unit
|
|
||||||
module Import
|
|
||||||
module Common
|
|
||||||
module Model
|
|
||||||
module Mixin
|
|
||||||
module Skip
|
|
||||||
module InstanceAction
|
|
||||||
|
|
||||||
module ClassMethods
|
|
||||||
|
|
||||||
def skip_instance_action(*instance_actions)
|
|
||||||
declaration_accessor(
|
|
||||||
key: __method__,
|
|
||||||
attributes: instance_actions
|
|
||||||
)
|
|
||||||
end
|
|
||||||
alias skip_instance_actions skip_instance_action
|
|
||||||
|
|
||||||
def skip_any_instance_action
|
|
||||||
skip_instance_actions(:any)
|
|
||||||
end
|
|
||||||
|
|
||||||
def skip_instance_action?(instance_action)
|
|
||||||
logger.debug("Checking if skip is necessary for instance_action #{instance_action.inspect}.")
|
|
||||||
return false if instance_action.blank?
|
|
||||||
logger.debug("Checking if skip is necessary for skip_instance_actions #{skip_instance_actions.inspect}.")
|
|
||||||
return false if skip_instance_actions.blank?
|
|
||||||
return true if skip_instance_actions.include?(instance_action)
|
|
||||||
return true if skip_instance_actions.include?(:any)
|
|
||||||
false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.prepended(base)
|
|
||||||
base.extend(ClassMethods)
|
|
||||||
end
|
|
||||||
|
|
||||||
def process
|
|
||||||
instance_action = state.optional(:instance_action)
|
|
||||||
if self.class.skip_instance_action?(instance_action)
|
|
||||||
logger.debug("Skipping due to provided instance_action #{instance_action.inspect}.")
|
|
||||||
else
|
|
||||||
logger.debug("Nope. Won't skip instance_action #{instance_action.inspect}.")
|
|
||||||
super
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -9,16 +9,16 @@ class Sequencer
|
||||||
module Blank
|
module Blank
|
||||||
class Base < Sequencer::Unit::Base
|
class Base < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Common::Mixin::DynamicAttribute
|
include ::Sequencer::Unit::Common::Mixin::DynamicAttribute
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
provides :instance_action
|
provides :action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
return if !skip?
|
return if !skip?
|
||||||
logger.debug("Skipping. Blank #{attribute} found: #{attribute_value.inspect}")
|
logger.debug("Skipping. Blank #{attribute} found: #{attribute_value.inspect}")
|
||||||
state.provide(:instance_action, :skipped)
|
state.provide(:action, :skipped)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -9,16 +9,16 @@ class Sequencer
|
||||||
module MissingMandatory
|
module MissingMandatory
|
||||||
class Base < Sequencer::Unit::Base
|
class Base < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Common::Mixin::DynamicAttribute
|
include ::Sequencer::Unit::Common::Mixin::DynamicAttribute
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
provides :instance_action
|
provides :action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
return if !skip?
|
return if !skip?
|
||||||
logger.debug("Skipping. Missing mandatory attributes for #{attribute}: #{attribute_value.inspect}")
|
logger.debug("Skipping. Missing mandatory attributes for #{attribute}: #{attribute_value.inspect}")
|
||||||
state.provide(:instance_action, :skipped)
|
state.provide(:action, :skipped)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
require 'sequencer/unit/import/common/model/statistics/mixin/instance_action_diff'
|
|
||||||
|
|
||||||
class Sequencer
|
|
||||||
class Unit
|
|
||||||
module Import
|
|
||||||
module Common
|
|
||||||
module Model
|
|
||||||
module Statistics
|
|
||||||
class Diff < Sequencer::Unit::Base
|
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Statistics::Mixin::InstanceActionDiff
|
|
||||||
|
|
||||||
def process
|
|
||||||
state.provide(:statistics_diff, diff)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
require 'sequencer/unit/import/common/model/statistics/mixin/action_diff'
|
||||||
|
|
||||||
|
class Sequencer
|
||||||
|
class Unit
|
||||||
|
module Import
|
||||||
|
module Common
|
||||||
|
module Model
|
||||||
|
module Statistics
|
||||||
|
module Diff
|
||||||
|
class ModelKey < Sequencer::Unit::Base
|
||||||
|
include ::Sequencer::Unit::Import::Common::Model::Statistics::Mixin::ActionDiff
|
||||||
|
|
||||||
|
uses :model_class
|
||||||
|
|
||||||
|
def process
|
||||||
|
state.provide(:statistics_diff) do
|
||||||
|
{
|
||||||
|
model_key => diff,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def model_key
|
||||||
|
model_class.name.pluralize.to_sym
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,23 @@
|
||||||
|
require 'sequencer/unit/import/common/model/statistics/mixin/action_diff'
|
||||||
|
|
||||||
|
class Sequencer
|
||||||
|
class Unit
|
||||||
|
module Import
|
||||||
|
module Common
|
||||||
|
module Model
|
||||||
|
module Statistics
|
||||||
|
module Diff
|
||||||
|
class TopLevel < Sequencer::Unit::Base
|
||||||
|
include ::Sequencer::Unit::Import::Common::Model::Statistics::Mixin::ActionDiff
|
||||||
|
|
||||||
|
def process
|
||||||
|
state.provide(:statistics_diff, diff)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -7,26 +7,26 @@ class Sequencer
|
||||||
module Model
|
module Model
|
||||||
module Statistics
|
module Statistics
|
||||||
module Mixin
|
module Mixin
|
||||||
module InstanceActionDiff
|
module ActionDiff
|
||||||
include Sequencer::Unit::Import::Common::Model::Statistics::Mixin::Common
|
include Sequencer::Unit::Import::Common::Model::Statistics::Mixin::Common
|
||||||
|
|
||||||
def self.included(base)
|
def self.included(base)
|
||||||
base.uses :instance_action
|
base.uses :action
|
||||||
base.provides :statistics_diff
|
base.provides :statistics_diff
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def diff
|
def diff
|
||||||
raise "Unknown action '#{instance_action}'" if !possible?
|
raise "Unknown action '#{action}'" if !possible?
|
||||||
empty_diff.merge(
|
empty_diff.merge(
|
||||||
instance_action => 1,
|
action => 1,
|
||||||
sum: 1,
|
sum: 1,
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def possible?
|
def possible?
|
||||||
possible_actions.include?(instance_action)
|
possible_actions.include?(action)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -5,12 +5,12 @@ class Sequencer
|
||||||
module Model
|
module Model
|
||||||
class Update < Sequencer::Unit::Base
|
class Update < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
include ::Sequencer::Unit::Import::Common::Model::Mixin::HandleFailure
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
uses :instance, :mapped
|
uses :instance, :mapped
|
||||||
provides :instance_action
|
provides :action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
# check if no instance is given - so we can't update it
|
# check if no instance is given - so we can't update it
|
||||||
|
@ -26,7 +26,7 @@ class Sequencer
|
||||||
instance.assign_attributes(mapped)
|
instance.assign_attributes(mapped)
|
||||||
|
|
||||||
action = changed? ? :updated : :unchanged
|
action = changed? ? :updated : :unchanged
|
||||||
state.provide(:instance_action, action)
|
state.provide(:action, action)
|
||||||
end
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
handle_failure(e)
|
handle_failure(e)
|
||||||
|
|
|
@ -5,9 +5,9 @@ class Sequencer
|
||||||
module User
|
module User
|
||||||
module Attributes
|
module Attributes
|
||||||
class Downcase < Sequencer::Unit::Base
|
class Downcase < Sequencer::Unit::Base
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_instance_action :skipped
|
skip_action :skipped
|
||||||
|
|
||||||
uses :mapped
|
uses :mapped
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@ class Sequencer
|
||||||
module User
|
module User
|
||||||
module Email
|
module Email
|
||||||
class CheckValidity < Sequencer::Unit::Base
|
class CheckValidity < Sequencer::Unit::Base
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_instance_action :skipped
|
skip_action :skipped
|
||||||
|
|
||||||
uses :mapped
|
uses :mapped
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ class Sequencer
|
||||||
module FolderContact
|
module FolderContact
|
||||||
module Statistics
|
module Statistics
|
||||||
class Diff < Sequencer::Unit::Base
|
class Diff < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Statistics::Mixin::InstanceActionDiff
|
include ::Sequencer::Unit::Import::Common::Model::Statistics::Mixin::ActionDiff
|
||||||
|
|
||||||
uses :ews_folder_name
|
uses :ews_folder_name
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,9 @@ class Sequencer
|
||||||
module RoleIds
|
module RoleIds
|
||||||
class Dn < Sequencer::Unit::Base
|
class Dn < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Mapping::Mixin::ProvideMapped
|
include ::Sequencer::Unit::Import::Common::Mapping::Mixin::ProvideMapped
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
uses :resource, :remote_id, :dn_roles
|
uses :resource, :remote_id, :dn_roles
|
||||||
|
|
||||||
|
|
|
@ -6,12 +6,12 @@ class Sequencer
|
||||||
module Attributes
|
module Attributes
|
||||||
module RoleIds
|
module RoleIds
|
||||||
class Unassigned < Sequencer::Unit::Base
|
class Unassigned < Sequencer::Unit::Base
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
uses :resource, :dn_roles, :ldap_config, :mapped
|
uses :resource, :dn_roles, :ldap_config, :mapped
|
||||||
provides :instance_action
|
provides :action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
# use signup/Zammad default roles
|
# use signup/Zammad default roles
|
||||||
|
@ -30,11 +30,11 @@ class Sequencer
|
||||||
if instance.present?
|
if instance.present?
|
||||||
# deactivate instance if role assignment is lost
|
# deactivate instance if role assignment is lost
|
||||||
instance.update!(active: false)
|
instance.update!(active: false)
|
||||||
state.provide(:instance_action, :deactivated)
|
state.provide(:action, :deactivated)
|
||||||
else
|
else
|
||||||
# skip instance creation if no existing
|
# skip instance creation if no existing
|
||||||
# instance was found yet
|
# instance was found yet
|
||||||
state.provide(:instance_action, :skipped)
|
state.provide(:action, :skipped)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,9 +6,9 @@ class Sequencer
|
||||||
module Attributes
|
module Attributes
|
||||||
class Static < Sequencer::Unit::Base
|
class Static < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Mapping::Mixin::ProvideMapped
|
include ::Sequencer::Unit::Import::Common::Mapping::Mixin::ProvideMapped
|
||||||
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::InstanceAction
|
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
|
||||||
|
|
||||||
skip_any_instance_action
|
skip_any_action
|
||||||
|
|
||||||
def process
|
def process
|
||||||
provide_mapped do
|
provide_mapped do
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
require 'sequencer/unit/import/common/model/statistics/mixin/instance_action_diff'
|
require 'sequencer/unit/import/common/model/statistics/mixin/action_diff'
|
||||||
|
|
||||||
class Sequencer
|
class Sequencer
|
||||||
class Unit
|
class Unit
|
||||||
|
@ -7,7 +7,7 @@ class Sequencer
|
||||||
module User
|
module User
|
||||||
module Statistics
|
module Statistics
|
||||||
class Diff < Sequencer::Unit::Base
|
class Diff < Sequencer::Unit::Base
|
||||||
include ::Sequencer::Unit::Import::Common::Model::Statistics::Mixin::InstanceActionDiff
|
include ::Sequencer::Unit::Import::Common::Model::Statistics::Mixin::ActionDiff
|
||||||
|
|
||||||
uses :instance, :associations, :signup_role_ids
|
uses :instance, :associations, :signup_role_ids
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue