Skip to content
Snippets Groups Projects
Commit 4c3f9869 authored by Arnaud Levy's avatar Arnaud Levy
Browse files

better

parent ae1ab679
No related branches found
No related tags found
No related merge requests found
......@@ -3,11 +3,11 @@ class Sendinblue::SmsCreditsWarningJob < ApplicationJob
def perform
return unless ENV['APPLICATION_ENV'] == 'production'
if Sendinblue::SmsService.low?
sms_credits = Sendinblue::SmsService.sms_credits
sms_service = Sendinblue::SmsService.new
if sms_service.low?
# this message is sent to server_admins only, and server_admins are duplicated between all universities.
# so we take the first university
NotificationMailer.low_sms_credits(University.first, sms_credits).deliver_later
NotificationMailer.low_sms_credits(University.first, sms_service.sms_credits).deliver_later
end
end
end
\ No newline at end of file
......@@ -3,24 +3,12 @@ module Sendinblue
DEFAULT_SENDER_NAME = 'Osuny'.freeze
SMS_CREDITS_LIMIT = 500
def self.low?
instance.low?
end
def self.sms_credits
instance.sms_credits
end
def self.send_mfa_code(user, code)
duration = ActiveSupport::Duration.build(Rails.application.config.devise.direct_otp_valid_for).inspect
message = I18n.t('sms_code', code: code, context: user.registration_context, duration: duration)
self.send_message(user, message)
end
def self.instance
@@instance ||= new
end
def sms_credits
@sms_credits ||= plan.detect { |plan| plan.type == 'sms' }&.credits
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment