Establish relation between provider message and message number

this is so we can access brodcast_provider_message_number from
BroadcastProviderMessage object
This commit is contained in:
Pea Tyczynska
2020-12-09 11:41:22 +00:00
parent 8af4b27fd6
commit def7a16765
4 changed files with 9 additions and 4 deletions

View File

@@ -32,10 +32,10 @@ def send_broadcast_event(broadcast_event_id):
def send_broadcast_provider_message(broadcast_event_id, provider):
broadcast_event = dao_get_broadcast_event_by_id(broadcast_event_id)
broadcast_provider_message, message_number = create_broadcast_provider_message(broadcast_event, provider)
broadcast_provider_message = create_broadcast_provider_message(broadcast_event, provider)
formatted_message_number = None
if provider == BroadcastProvider.VODAFONE:
formatted_message_number = format_sequential_number(message_number.broadcast_provider_message_number)
formatted_message_number = format_sequential_number(broadcast_provider_message.message_number)
current_app.logger.info(
f'invoking cbc proxy to send '

View File

@@ -60,4 +60,4 @@ def create_broadcast_provider_message(broadcast_event, provider):
broadcast_provider_message_id=broadcast_provider_message_id)
db.session.add(provider_message_number)
db.session.commit()
return provider_message, provider_message_number
return provider_message

View File

@@ -2483,6 +2483,8 @@ class BroadcastProviderMessage(db.Model):
UniqueConstraint(broadcast_event_id, provider)
message_number = association_proxy('broadcast_provider_message_number', 'broadcast_provider_message_number')
class BroadcastProviderMessageNumber(db.Model):
"""
@@ -2500,6 +2502,9 @@ class BroadcastProviderMessageNumber(db.Model):
broadcast_provider_message_id = db.Column(
UUID(as_uuid=True), db.ForeignKey('broadcast_provider_message.id'), nullable=False
)
broadcast_provider_message = db.relationship(
'BroadcastProviderMessage', backref=db.backref("broadcast_provider_message_number", uselist=False)
)
class ServiceBroadcastProviderRestriction(db.Model):

View File

@@ -53,7 +53,7 @@ def test_create_broadcast_provider_message_creates_in_correct_state(sample_broad
transmitted_content={'body': 'Initial content'}
)
broadcast_provider_message, message_number = create_broadcast_provider_message(broadcast_event, 'fake-provider')
broadcast_provider_message = create_broadcast_provider_message(broadcast_event, 'fake-provider')
assert broadcast_provider_message.status == 'sending'
assert broadcast_provider_message.broadcast_event_id == broadcast_event.id