Work on badges

This commit is contained in:
Scott Idem
2021-09-22 18:17:28 -04:00
parent ae16f30c42
commit 0778d472f8

View File

@@ -122,7 +122,7 @@ async def get_event_badge_obj_li(
return mk_resp(data=resp_data_li, response=response) return mk_resp(data=resp_data_li, response=response)
else: else:
log.debug(sql_result) log.debug(sql_result)
return mk_resp(data=False, status_code=404, response=response) return mk_resp(data=None, status_code=404, response=response)
result = get_obj_li_template( result = get_obj_li_template(
obj_type=obj_type, obj_type=obj_type,
@@ -140,6 +140,8 @@ async def get_event_badge_obj_li(
async def search_event_badge_obj_li( async def search_event_badge_obj_li(
# account_id: str = Query(None, min_length=11, max_length=22), # account_id: str = Query(None, min_length=11, max_length=22),
event_id: str = Query(None, min_length=11, max_length=22), event_id: str = Query(None, min_length=11, max_length=22),
event_badge_id: str = Query(None, min_length=3, max_length=22),
event_person_id: str = Query(None, min_length=3, max_length=22),
external_id: str = Query('%', max_length=50), external_id: str = Query('%', max_length=50),
given_name: str = Query('%', max_length=25), given_name: str = Query('%', max_length=25),
family_name: str = Query('%', max_length=25), family_name: str = Query('%', max_length=25),
@@ -154,13 +156,30 @@ async def search_event_badge_obj_li(
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if account_id := redis_lookup_id_random(record_id_random=x_account_id, table_name='account'): pass
else: return mk_resp(data=None, status_code=404, response=response)
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
else: return mk_resp(data=None, status_code=404, response=response)
data = {} data = {}
data['account_id_random'] = x_account_id data['account_id'] = account_id
data['event_id_random'] = event_id data['event_id'] = event_id
data['external_id'] = '%'+external_id+'%'
data['given_name'] = '%'+given_name+'%' log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
data['family_name'] = '%'+family_name+'%' log.debug(event_badge_id)
data['email'] = '%'+email+'%' # Adding the % symbol here because it turns certain combinations into special characters
if event_badge_id and len(event_badge_id) > 2:
log.info(f'Found event_badge_id: {event_badge_id}')
data['event_badge_id_random'] = f'%{event_badge_id}%'
elif event_person_id and len(event_person_id) > 2:
log.info(f'Found event_person_id: {event_person_id}')
data['event_person_id_random'] = f'%{event_person_id}%'
else:
data['external_id'] = '%'+external_id+'%'
data['given_name'] = '%'+given_name+'%'
data['family_name'] = '%'+family_name+'%'
data['email'] = '%'+email+'%' # Adding the % symbol here because it turns certain combinations into special characters
# data['from_datetime'] = from_datetime # data['from_datetime'] = from_datetime
# data['to_datetime'] = to_datetime # data['to_datetime'] = to_datetime
log.debug(data) log.debug(data)
@@ -181,32 +200,53 @@ async def search_event_badge_obj_li(
else: else:
sql_limit = '' sql_limit = ''
sql = f""" if event_badge_id and len(event_badge_id) > 2:
SELECT * sql = f"""
FROM `v_event_badge` AS event_badge SELECT *
WHERE event_badge.account_id = :account_id FROM `v_event_badge` AS event_badge
AND (event_badge.external_id LIKE :external_id OR event_badge.external_id IS NULL) WHERE event_badge.event_id = :event_id
AND (event_badge.given_name LIKE :given_name AND event_badge.event_badge_id_random LIKE :event_badge_id_random
AND event_badge.family_name LIKE :family_name) {sql_enabled}
AND event_badge.email LIKE :email ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
{sql_enabled} {sql_limit};
ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC """
{sql_limit}; elif event_person_id and len(event_person_id) > 2:
""" sql = f"""
sql = f""" SELECT *
SELECT * FROM `v_event_badge` AS event_badge
FROM `v_event_badge` AS event_badge WHERE event_badge.event_id = :event_id
WHERE event_badge.event_id = :event_id AND event_badge.event_person_id_random LIKE :event_person_id_random
AND (event_badge.given_name LIKE :given_name {sql_enabled}
AND event_badge.family_name LIKE :family_name) ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
AND event_badge.email LIKE :email {sql_limit};
{sql_enabled} """
ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC else:
{sql_limit}; # sql = f"""
""" # SELECT *
# FROM `v_event_badge` AS event_badge
# WHERE event_badge.account_id = :account_id
# AND (event_badge.external_id LIKE :external_id OR event_badge.external_id IS NULL)
# AND (event_badge.given_name LIKE :given_name
# AND event_badge.family_name LIKE :family_name)
# AND event_badge.email LIKE :email
# {sql_enabled}
# ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
# {sql_limit};
# """
sql = f"""
SELECT *
FROM `v_event_badge` AS event_badge
WHERE event_badge.event_id = :event_id
AND (event_badge.given_name LIKE :given_name
AND event_badge.family_name LIKE :family_name)
AND event_badge.email LIKE :email
{sql_enabled}
ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
{sql_limit};
"""
log.debug(sql) log.debug(sql)
if sql_result := sql_select(data=data, sql=sql, as_list=True, rm_id_random=True): if sql_result := sql_select(data=data, sql=sql, as_list=True, rm_id_random=False): # rm_id_random=True
resp_data_li = [] resp_data_li = []
for record in sql_result: for record in sql_result:
resp_data = Event_Badge_Base(**record).dict(by_alias=by_alias, exclude_unset=exclude_unset) resp_data = Event_Badge_Base(**record).dict(by_alias=by_alias, exclude_unset=exclude_unset)
@@ -215,7 +255,7 @@ async def search_event_badge_obj_li(
return mk_resp(data=resp_data_li, response=response) return mk_resp(data=resp_data_li, response=response)
else: else:
log.debug(sql_result) log.debug(sql_result)
return mk_resp(data=False, status_code=404, response=response) return mk_resp(data=None, status_code=404, response=response)
# ### END ### API Event Badge ### search_event_badge_obj_li() ### # ### END ### API Event Badge ### search_event_badge_obj_li() ###