Files
Dalan/app/services/kave_negar_sms_service.rb
2026-08-13 19:56:46 +03:30

44 lines
1.5 KiB
Ruby

# frozen_string_literal: true
# kavenegar sms sender
class KaveNegarSmsService
class << self
def send_confirmation(user)
Rails.logger.info("Sending SMS to #{user.phones.last.number}")
totp = TOTPServiceAction.new('register-mobile')
totp.create(user.uid, user.email, period: '120')
user.write_cache('register_mobile', 'true', 120)
send_sms(user.mobile('pending').number.to_s, totp.read_code(user.uid))
end
def send_call_confirmation(user)
Rails.logger.info("Sending call to #{user.phones.find_by(category: 'landline').number}")
totp = TOTPServiceAction.new('register-phone')
totp.create(user.uid, user.email, period: '120')
user.write_cache('register_phone', 'true', 120)
send_call(user.phones.find_by(category: 'landline').number.to_s, totp.read_code(user.uid))
end
def send_call(number, code)
client = KaveRestApi::Lookup.new({ receptor: number,
token: code,
template: 'phone',
type: 'call' # or call
})
client.call.valid? ? true : false
end
def send_sms(number, code)
client = KaveRestApi::Lookup.new({ receptor: number,
token: code,
template: 'mobile',
type: 'sms' # or call
})
client.call.valid? ? true : false
end
end
end