Refactored notifications_dao

- Introduce a `_raise` flag for `get_notification_by_id` so that sql alchemy will raise the NoResults error rather than the app
- Refactor `dao_set_created_live_letter_api_notifications_to_pending` to use a join for getting services that don't have `letters_as_pdf` as marginally faster.
This commit is contained in:
Ken Tsang
2017-12-12 11:56:42 +00:00
parent ab72d6f555
commit da93ba296e
3 changed files with 13 additions and 20 deletions

View File

@@ -5,7 +5,6 @@ from requests import (
)
from botocore.exceptions import ClientError as BotoClientError
from sqlalchemy.orm.exc import NoResultFound
from app import notify_celery
from app.aws import s3
@@ -18,9 +17,7 @@ from app.statsd_decorators import statsd
@statsd(namespace="tasks")
def create_letters_pdf(self, notification_id):
try:
notification = get_notification_by_id(notification_id)
if not notification:
raise NoResultFound()
notification = get_notification_by_id(notification_id, _raise=True)
pdf_data = get_letters_pdf(
notification.template,