Class: SpreeCmCommissioner::AccountRecover

Inherits:
BaseInteractor show all
Defined in:
app/interactors/spree_cm_commissioner/account_recover.rb

Instance Method Summary collapse

Instance Method Details

#callObject



5
6
7
8
# File 'app/interactors/spree_cm_commissioner/account_recover.rb', line 5

def call
  validate_user
  recover_user
end

#recover_userObject



10
11
12
13
# File 'app/interactors/spree_cm_commissioner/account_recover.rb', line 10

def recover_user
  updated = context.user.update(account_deletion_at: nil, account_restored_at: Time.current)
  context.fail!(message: user.errors.full_messages.to_sentence) unless updated
end

#validate_userObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/interactors/spree_cm_commissioner/account_recover.rb', line 15

def validate_user
  # get email password user
  if .present? && password.present?
    context.user = Spree.user_class.()
  # get social user
  elsif id_token.present?
    checker_context = SpreeCmCommissioner::UserIdTokenChecker.call(id_token: id_token)
    context.user = checker_context.user
  end

  if context.user.present?
    context.fail!(message: 'User is not temporary deleted') unless context.user.soft_deleted?
  else
    context.fail!(message: 'User is not valid')
  end
end