mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 07:46:06 -04:00
Simplify _filter_query() function
This commit is contained in:
@@ -296,15 +296,20 @@ def get_notifications_for_service(
|
|||||||
|
|
||||||
def _filter_query(query, filter_dict=None):
|
def _filter_query(query, filter_dict=None):
|
||||||
if filter_dict is None:
|
if filter_dict is None:
|
||||||
filter_dict = MultiDict()
|
return query
|
||||||
else:
|
|
||||||
filter_dict = MultiDict(filter_dict)
|
multidict = MultiDict(filter_dict)
|
||||||
statuses = filter_dict.getlist('status') if 'status' in filter_dict else None
|
|
||||||
|
# filter by status
|
||||||
|
statuses = multidict.getlist('status')
|
||||||
if statuses:
|
if statuses:
|
||||||
query = query.filter(Notification.status.in_(statuses))
|
query = query.filter(Notification.status.in_(statuses))
|
||||||
template_types = filter_dict.getlist('template_type') if 'template_type' in filter_dict else None
|
|
||||||
|
# filter by template
|
||||||
|
template_types = multidict.getlist('template_type')
|
||||||
if template_types:
|
if template_types:
|
||||||
query = query.join(Template).filter(Template.template_type.in_(template_types))
|
query = query.join(Template).filter(Template.template_type.in_(template_types))
|
||||||
|
|
||||||
return query
|
return query
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -170,8 +170,8 @@ def get_notification_by_id(notification_id):
|
|||||||
def get_all_notifications():
|
def get_all_notifications():
|
||||||
data = notifications_filter_schema.load(request.args).data
|
data = notifications_filter_schema.load(request.args).data
|
||||||
include_jobs = data.get('include_jobs', False)
|
include_jobs = data.get('include_jobs', False)
|
||||||
page = data['page'] if 'page' in data else 1
|
page = data.get('page', 1)
|
||||||
page_size = data['page_size'] if 'page_size' in data else current_app.config.get('PAGE_SIZE')
|
page_size = data.get('page_size', current_app.config.get('PAGE_SIZE'))
|
||||||
limit_days = data.get('limit_days')
|
limit_days = data.get('limit_days')
|
||||||
|
|
||||||
pagination = notifications_dao.get_notifications_for_service(
|
pagination = notifications_dao.get_notifications_for_service(
|
||||||
|
|||||||
Reference in New Issue
Block a user