diff --git a/app/dao/notifications_dao.py b/app/dao/notifications_dao.py index 5b1240508..5dc5906b3 100644 --- a/app/dao/notifications_dao.py +++ b/app/dao/notifications_dao.py @@ -268,18 +268,23 @@ def get_notifications_for_job( def get_recent_notifications_for_job( - service_id, job_id, filter_dict=None, page=1, page_size=None + service_id, job_id, filter_dict=None, page=1, page_size=None, status=None ): if page_size is None: page_size = current_app.config["PAGE_SIZE"] - stmt = select(Notification).where( - Notification.service_id == service_id, - Notification.job_id == job_id, - Notification.status.in_( - [NotificationStatus.FAILED, NotificationStatus.DELIVERED] - ), - ) + if status is None: + stmt = select(Notification).where( + Notification.service_id == service_id, + Notification.job_id == job_id, + ) + else: + stmt = select(Notification).where( + Notification.service_id == service_id, + Notification.job_id == job_id, + Notification.status == status, + ) + stmt = _filter_query(stmt, filter_dict) stmt = stmt.order_by(desc(Notification.job_row_number)) print(f"STMT {stmt}") diff --git a/app/job/rest.py b/app/job/rest.py index 31da4e0d1..d266a22bb 100644 --- a/app/job/rest.py +++ b/app/job/rest.py @@ -134,8 +134,14 @@ def get_recent_notifications_for_service_job(service_id, job_id): if "page_size" in data else current_app.config.get("PAGE_SIZE") ) + status = data["status"] if "status" in data else None paginated_notifications = get_recent_notifications_for_job( - service_id, job_id, filter_dict=data, page=page, page_size=page_size + service_id, + job_id, + filter_dict=data, + page=page, + page_size=page_size, + status=status, ) kwargs = request.args.to_dict()