diff --git a/app/jobs/sendinblue/sms_credits_warning_job.rb b/app/jobs/sendinblue/sms_credits_warning_job.rb index 6233a7bb0a3970e6c6e3ee3e42abd873f9cfec8e..a4d75d464d47b18c0ff881c1664d97552722285c 100644 --- a/app/jobs/sendinblue/sms_credits_warning_job.rb +++ b/app/jobs/sendinblue/sms_credits_warning_job.rb @@ -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 diff --git a/app/services/sendinblue/sms_service.rb b/app/services/sendinblue/sms_service.rb index 83f88240aa8f09c45222eabb8c7d1b254cd8dd3c..50473eeb257994bd39bee33b690be6cbb1345e69 100644 --- a/app/services/sendinblue/sms_service.rb +++ b/app/services/sendinblue/sms_service.rb @@ -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