26 lines
659 B
Ruby
26 lines
659 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Jobs
|
|
|
|
class SuspiciousLogin < ::Jobs::Base
|
|
|
|
def execute(args)
|
|
if UserAuthToken.is_suspicious(args[:user_id], args[:client_ip])
|
|
|
|
UserAuthToken.log(action: 'suspicious',
|
|
user_id: args[:user_id],
|
|
user_agent: args[:user_agent],
|
|
client_ip: args[:client_ip])
|
|
|
|
::Jobs.enqueue(:critical_user_email,
|
|
type: :suspicious_login,
|
|
user_id: args[:user_id],
|
|
client_ip: args[:client_ip],
|
|
user_agent: args[:user_agent])
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
end
|