diff --git a/app/celery/scheduled_tasks.py b/app/celery/scheduled_tasks.py index 2ff72780d..ebc17c452 100644 --- a/app/celery/scheduled_tasks.py +++ b/app/celery/scheduled_tasks.py @@ -325,7 +325,14 @@ def batch_insert_notifications(self): elif isinstance(notification_dict["created_at"], list): notification_dict["created_at"] = notification_dict["created_at"][0] notification = Notification(**notification_dict) - if notification is not None: + # notify-api-749 do not write to db + # if we have a verify_code we know this is the authentication notification at login time + # and not csv (containing PII) provided by the user, so allow verify_code to continue to exist + if notification is None: + continue + if "verify_code" in str(notification.personalisation): + pass + else: batch.append(notification) try: dao_batch_insert_notifications(batch) diff --git a/app/delivery/send_to_providers.py b/app/delivery/send_to_providers.py index 8e90c08d4..cecddd98b 100644 --- a/app/delivery/send_to_providers.py +++ b/app/delivery/send_to_providers.py @@ -42,12 +42,14 @@ def send_sms_to_provider(notification): """ # Take this path for report generation, where we know # everything is in the cache. - personalisation = get_personalisation_from_s3( - notification.service_id, - notification.job_id, - notification.job_row_number, - ) - notification.personalisation = personalisation + + if "verify_code" not in str(notification.personalisation): + personalisation = get_personalisation_from_s3( + notification.service_id, + notification.job_id, + notification.job_row_number, + ) + notification.personalisation = personalisation service = SerialisedService.from_id(notification.service_id) message_id = None @@ -92,7 +94,6 @@ def send_sms_to_provider(notification): recipient = None # It is our 2facode, maybe recipient = _get_verify_code(notification) - if recipient is None: recipient = get_phone_number_from_s3( notification.service_id, diff --git a/app/notifications/process_notifications.py b/app/notifications/process_notifications.py index 6b78ce753..1ea6a7be1 100644 --- a/app/notifications/process_notifications.py +++ b/app/notifications/process_notifications.py @@ -145,6 +145,9 @@ def persist_notification( # it's just too hard with redis and timing to test this here if os.getenv("NOTIFY_ENVIRONMENT") == "test": dao_create_notification(notification) + elif "verify_code" in str(notification.personalisation): + dao_create_notification(notification) + else: redis_store.rpush( "message_queue",