Work on badge searching

This commit is contained in:
Scott Idem
2022-03-02 12:11:05 -05:00
parent 16ca8cd99e
commit 3ea72e584c

View File

@@ -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