Class: Import::SourceUsers::RejectReassignmentService
- Inherits:
-
BaseService
- Object
- BaseService
- Import::SourceUsers::RejectReassignmentService
- Defined in:
- app/services/import/source_users/reject_reassignment_service.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(import_source_user, current_user:, reassignment_token:) ⇒ RejectReassignmentService
constructor
A new instance of RejectReassignmentService.
- #send_user_reassign_rejected_email ⇒ Object
Methods included from Gitlab::InternalEventsTracking
Constructor Details
#initialize(import_source_user, current_user:, reassignment_token:) ⇒ RejectReassignmentService
Returns a new instance of RejectReassignmentService.
6 7 8 9 10 |
# File 'app/services/import/source_users/reject_reassignment_service.rb', line 6 def initialize(import_source_user, current_user:, reassignment_token:) @import_source_user = import_source_user @current_user = current_user @reassignment_token = reassignment_token end |
Instance Method Details
#execute ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/services/import/source_users/reject_reassignment_service.rb', line 12 def execute return error_invalid_status unless import_source_user.awaiting_approval? = false reject_successful = false import_source_user.with_lock do next = true unless current_user_matches_reassign_to_user? && reassignment_token_is_valid? reject_successful = import_source_user.reject end return if if reject_successful send_user_reassign_rejected_email track_reassignment_event('reject_placeholder_user_reassignment') ServiceResponse.success(payload: import_source_user) else ServiceResponse.error(payload: import_source_user, message: import_source_user.errors.) end end |
#send_user_reassign_rejected_email ⇒ Object
36 37 38 |
# File 'app/services/import/source_users/reject_reassignment_service.rb', line 36 def send_user_reassign_rejected_email Notify.import_source_user_rejected(import_source_user.id).deliver_now end |