Class: Import::SourceUsers::UndoKeepAsPlaceholderService
- Inherits:
-
BaseService
- Object
- BaseService
- Import::SourceUsers::UndoKeepAsPlaceholderService
- Defined in:
- app/services/import/source_users/undo_keep_as_placeholder_service.rb
Instance Attribute Summary collapse
-
#placeholder_user ⇒ Object
readonly
Returns the value of attribute placeholder_user.
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(import_source_user, current_user:) ⇒ UndoKeepAsPlaceholderService
constructor
A new instance of UndoKeepAsPlaceholderService.
Methods included from Gitlab::InternalEventsTracking
Constructor Details
#initialize(import_source_user, current_user:) ⇒ UndoKeepAsPlaceholderService
Returns a new instance of UndoKeepAsPlaceholderService.
8 9 10 11 12 |
# File 'app/services/import/source_users/undo_keep_as_placeholder_service.rb', line 8 def initialize(import_source_user, current_user:) @import_source_user = import_source_user @placeholder_user = import_source_user.placeholder_user @current_user = current_user end |
Instance Attribute Details
#placeholder_user ⇒ Object (readonly)
Returns the value of attribute placeholder_user.
6 7 8 |
# File 'app/services/import/source_users/undo_keep_as_placeholder_service.rb', line 6 def placeholder_user @placeholder_user end |
Instance Method Details
#execute ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/services/import/source_users/undo_keep_as_placeholder_service.rb', line 14 def execute return unless current_user.can?(:admin_import_source_user, import_source_user) invalid_status = false undo_successful = false import_source_user.with_lock do if import_source_user.keep_as_placeholder? undo_successful = undo_keep_as_placeholder else invalid_status = true end end return error_invalid_status if invalid_status if undo_successful track_reassignment_event('undo_keep_as_placeholder', reassign_to_user: placeholder_user) ServiceResponse.success(payload: import_source_user) else ServiceResponse.error(payload: import_source_user, message: import_source_user.errors.) end end |