# 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