mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 09:51:11 -05:00
DRY-up overriding shortcode with sender
This avoids duplicating the logic when we add a new provider.
This commit is contained in:
@@ -23,6 +23,7 @@ class SmsClient(Client):
|
||||
def init_app(self, current_app, statsd_client):
|
||||
self.current_app = current_app
|
||||
self.statsd_client = statsd_client
|
||||
self.from_number = self.current_app.config.get('FROM_NUMBER')
|
||||
|
||||
def record_outcome(self, success):
|
||||
log_message = "Provider request for {} {}".format(
|
||||
@@ -39,6 +40,7 @@ class SmsClient(Client):
|
||||
|
||||
def send_sms(self, to, content, reference, international, sender=None):
|
||||
start_time = monotonic()
|
||||
sender = self.from_number if sender is None else sender
|
||||
|
||||
try:
|
||||
response = self.try_send_sms(to, content, reference, international, sender)
|
||||
|
||||
@@ -65,17 +65,16 @@ class FiretextClient(SmsClient):
|
||||
super().init_app(*args, **kwargs)
|
||||
self.api_key = self.current_app.config.get('FIRETEXT_API_KEY')
|
||||
self.international_api_key = self.current_app.config.get('FIRETEXT_INTERNATIONAL_API_KEY')
|
||||
self.from_number = self.current_app.config.get('FROM_NUMBER')
|
||||
self.url = self.current_app.config.get('FIRETEXT_URL')
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
return 'firetext'
|
||||
|
||||
def try_send_sms(self, to, content, reference, international, sender=None):
|
||||
def try_send_sms(self, to, content, reference, international, sender):
|
||||
data = {
|
||||
"apiKey": self.international_api_key if international else self.api_key,
|
||||
"from": self.from_number if sender is None else sender,
|
||||
"from": sender,
|
||||
"to": to.replace('+', ''),
|
||||
"message": content,
|
||||
"reference": reference
|
||||
|
||||
@@ -71,19 +71,18 @@ class MMGClient(SmsClient):
|
||||
def init_app(self, *args, **kwargs):
|
||||
super().init_app(*args, **kwargs)
|
||||
self.api_key = self.current_app.config.get('MMG_API_KEY')
|
||||
self.from_number = self.current_app.config.get('FROM_NUMBER')
|
||||
self.mmg_url = self.current_app.config.get('MMG_URL')
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
return 'mmg'
|
||||
|
||||
def try_send_sms(self, to, content, reference, international, sender=None):
|
||||
def try_send_sms(self, to, content, reference, international, sender):
|
||||
data = {
|
||||
"reqType": "BULK",
|
||||
"MSISDN": to,
|
||||
"msg": content,
|
||||
"sender": self.from_number if sender is None else sender,
|
||||
"sender": sender,
|
||||
"cid": reference,
|
||||
"multi": True
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user