diff --git a/app/routers/event_badge.py b/app/routers/event_badge.py index 0f052f4..ef76c87 100644 --- a/app/routers/event_badge.py +++ b/app/routers/event_badge.py @@ -144,6 +144,8 @@ async def search_event_badge_obj_li( external_id: str = Query(None, max_length=100), # NOTE: Not currently used! 2022-02-15 + badge_type_code: str = Query(None, min_length=2, max_length=25), + query_str: str = Query('', max_length=50), given_name: str = Query('', max_length=25), @@ -204,6 +206,14 @@ async def search_event_badge_obj_li( else: data['email'] = '%' else: return mk_resp(data=None, status_code=404, status_message=f'Need more characters for query.', response=commons.response) + + if badge_type_code: + data['badge_type_code'] = [badge_type_code] + sql_badge_type_code = 'AND event_badge.badge_type_code IN :badge_type_code' + else: + # sql_badge_type_code = 'AND event_badge.badge_type_code IS NOT NULL' + sql_badge_type_code = 'AND 1=1' + log.debug(data) sql_enabled, data['enable'] = sql_enable_part(table_name='event_badge', enabled=commons.enabled) # Reasonably safe return str and bool @@ -270,6 +280,7 @@ async def search_event_badge_obj_li( SELECT * FROM `v_event_badge` AS event_badge WHERE event_badge.event_id = :event_id + {sql_badge_type_code} AND event_badge.query_str LIKE :query_str {sql_enabled} ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC @@ -292,6 +303,7 @@ async def search_event_badge_obj_li( SELECT * FROM `v_event_badge` AS event_badge WHERE event_badge.event_id = :event_id + {sql_badge_type_code} AND (event_badge.given_name LIKE :given_name AND event_badge.family_name LIKE :family_name) AND event_badge.email LIKE :email