mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-19 05:58:53 -04:00
Send message format to CBC
Either cap or ibag
This commit is contained in:
@@ -6,7 +6,7 @@ from sqlalchemy.schema import Sequence
|
||||
|
||||
from app import cbc_proxy_client, db, notify_celery
|
||||
from app.config import QueueNames
|
||||
from app.models import BroadcastEventMessageType, BroadcastProvider
|
||||
from app.models import BroadcastEventMessageType, BroadcastProvider, BroadcastProviderMessageType
|
||||
from app.dao.broadcast_message_dao import dao_get_broadcast_event_by_id, create_broadcast_provider_message
|
||||
|
||||
from app.utils import format_sequential_number
|
||||
@@ -34,8 +34,10 @@ def send_broadcast_provider_message(broadcast_event_id, provider):
|
||||
|
||||
broadcast_provider_message, message_number = create_broadcast_provider_message(broadcast_event, provider)
|
||||
formatted_message_number = None
|
||||
message_format = BroadcastProviderMessageType.CBC
|
||||
if provider == BroadcastProvider.VODAFONE:
|
||||
formatted_message_number = format_sequential_number(message_number.broadcast_provider_message_number)
|
||||
message_format = BroadcastProviderMessageType.IBAG
|
||||
|
||||
current_app.logger.info(
|
||||
f'invoking cbc proxy to send '
|
||||
@@ -54,6 +56,7 @@ def send_broadcast_provider_message(broadcast_event_id, provider):
|
||||
cbc_proxy_provider_client.create_and_send_broadcast(
|
||||
identifier=str(broadcast_provider_message.id),
|
||||
message_number=formatted_message_number,
|
||||
message_format=message_format,
|
||||
headline="GOV.UK Notify Broadcast",
|
||||
description=broadcast_event.transmitted_content['body'],
|
||||
areas=areas,
|
||||
@@ -64,6 +67,7 @@ def send_broadcast_provider_message(broadcast_event_id, provider):
|
||||
cbc_proxy_provider_client.update_and_send_broadcast(
|
||||
identifier=str(broadcast_provider_message.id),
|
||||
message_number=formatted_message_number,
|
||||
message_format=message_format,
|
||||
headline="GOV.UK Notify Broadcast",
|
||||
description=broadcast_event.transmitted_content['body'],
|
||||
areas=areas,
|
||||
@@ -75,6 +79,7 @@ def send_broadcast_provider_message(broadcast_event_id, provider):
|
||||
cbc_proxy_provider_client.cancel_broadcast(
|
||||
identifier=str(broadcast_provider_message.id),
|
||||
message_number=formatted_message_number,
|
||||
message_format=message_format,
|
||||
headline="GOV.UK Notify Broadcast",
|
||||
description=broadcast_event.transmitted_content['body'],
|
||||
areas=areas,
|
||||
|
||||
@@ -62,23 +62,30 @@ class CBCProxyClientBase:
|
||||
def send_link_test(
|
||||
self,
|
||||
identifier,
|
||||
sequential_number
|
||||
sequential_number,
|
||||
message_format
|
||||
):
|
||||
"""
|
||||
link test - open up a connection to a specific provider, and send them an xml payload with a <msgType> of
|
||||
test.
|
||||
"""
|
||||
payload = {'message_type': 'test', 'identifier': identifier, 'message_number': sequential_number}
|
||||
payload = {
|
||||
'message_type': 'test',
|
||||
'identifier': identifier,
|
||||
'message_number': sequential_number,
|
||||
'message_format': message_format
|
||||
}
|
||||
|
||||
self._invoke_lambda(payload=payload)
|
||||
|
||||
def create_and_send_broadcast(
|
||||
self, identifier, message_number, headline, description, areas, sent, expires,
|
||||
self, identifier, message_number, message_format, headline, description, areas, sent, expires,
|
||||
):
|
||||
payload = {
|
||||
'message_type': 'alert',
|
||||
'identifier': identifier,
|
||||
'message_number': message_number,
|
||||
'message_format': message_format,
|
||||
'headline': headline,
|
||||
'description': description,
|
||||
'areas': areas,
|
||||
@@ -91,7 +98,7 @@ class CBCProxyClientBase:
|
||||
def update_and_send_broadcast(
|
||||
self,
|
||||
identifier, previous_provider_messages, headline, description, areas,
|
||||
sent, expires,
|
||||
sent, expires, message_number, message_format
|
||||
):
|
||||
pass
|
||||
|
||||
@@ -99,7 +106,7 @@ class CBCProxyClientBase:
|
||||
def cancel_broadcast(
|
||||
self,
|
||||
identifier, previous_provider_messages, headline, description, areas,
|
||||
sent, expires,
|
||||
sent, expires, message_number, message_format
|
||||
):
|
||||
pass
|
||||
|
||||
|
||||
@@ -2453,6 +2453,11 @@ class BroadcastProvider:
|
||||
PROVIDERS = [EE, VODAFONE, THREE, O2]
|
||||
|
||||
|
||||
class BroadcastProviderMessageType:
|
||||
CBC = 'cbc'
|
||||
IBAG = 'ibag'
|
||||
|
||||
|
||||
class BroadcastProviderMessageStatus:
|
||||
TECHNICAL_FAILURE = 'technical-failure' # Couldn’t send (cbc proxy 5xx/4xx)
|
||||
SENDING = 'sending' # Sent to cbc, awaiting response
|
||||
|
||||
Reference in New Issue
Block a user