Work on exhibits and badges and related
This commit is contained in:
@@ -85,7 +85,7 @@ def update_event_exhibit_tracking_obj(
|
|||||||
event_exhibit_tracking_dict = event_exhibit_tracking_dict_obj
|
event_exhibit_tracking_dict = event_exhibit_tracking_dict_obj
|
||||||
event_exhibit_tracking_dict['id'] = event_exhibit_tracking_id
|
event_exhibit_tracking_dict['id'] = event_exhibit_tracking_id
|
||||||
try:
|
try:
|
||||||
event_exhibit_tracking_obj = Person_Base(**event_exhibit_tracking_dict)
|
event_exhibit_tracking_obj = Event_Exhibit_Tracking_Base(**event_exhibit_tracking_dict)
|
||||||
except ValidationError as e:
|
except ValidationError as e:
|
||||||
log.error(e.json())
|
log.error(e.json())
|
||||||
return False
|
return False
|
||||||
@@ -94,7 +94,31 @@ def update_event_exhibit_tracking_obj(
|
|||||||
event_exhibit_tracking_obj.id = event_exhibit_tracking_id
|
event_exhibit_tracking_obj.id = event_exhibit_tracking_id
|
||||||
log.debug(event_exhibit_tracking_obj)
|
log.debug(event_exhibit_tracking_obj)
|
||||||
|
|
||||||
event_exhibit_tracking_dict = event_exhibit_tracking_obj.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={ 'event_id', 'event_id_random', 'event_badge', 'event_badge_id_random', 'event_badge_informal_name', 'event_badge_given_name', 'event_badge_family_name', 'event_badge_display_name', 'event_badge_full_name', 'event_badge_affiliations', 'event_badge_email', 'event_person_informal_name', 'event_person_given_name', 'event_person_family_name', 'event_person_display_name', 'event_person_full_name', 'event_person_affiliations', 'event_person_email', 'event_exhibit_name', 'event_person', 'event_person_id_random', 'created_on', 'updated_on'})
|
event_exhibit_tracking_dict = event_exhibit_tracking_obj.dict(
|
||||||
|
by_alias = False,
|
||||||
|
exclude_defaults = False,
|
||||||
|
exclude_unset = True,
|
||||||
|
exclude = {
|
||||||
|
'event_id', 'event_id_random', 'event_badge', 'event_badge_id_random',
|
||||||
|
'event_badge_informal_name', 'event_badge_title_names',
|
||||||
|
'event_badge_given_name', 'event_badge_middle_name', 'event_badge_family_name',
|
||||||
|
'event_badge_display_name', 'event_badge_full_name',
|
||||||
|
|
||||||
|
'event_badge_designations', 'event_badge_professional_title', 'event_badge_affiliations',
|
||||||
|
'event_badge_email',
|
||||||
|
'event_badge_city',
|
||||||
|
'event_badge_country_subdivision_code', 'event_badge_state_province_abb', 'event_badge_state_province',
|
||||||
|
'event_badge_country_alpha_2_code', 'event_badge_country',
|
||||||
|
|
||||||
|
'event_badge_badge_type_code', 'event_badge_badge_type', 'event_badge_registration_type_code', 'event_badge_registration_type',
|
||||||
|
|
||||||
|
'event_person_informal_name', 'event_person_given_name',
|
||||||
|
'event_person_family_name', 'event_person_display_name', 'event_person_full_name',
|
||||||
|
'event_person_affiliations', 'event_person_email',
|
||||||
|
'event_exhibit_name',
|
||||||
|
'event_person', 'event_person_id_random', 'created_on', 'updated_on'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
# ### SECTION ### Process data
|
# ### SECTION ### Process data
|
||||||
if event_exhibit_tracking_dict_up_result := sql_update(
|
if event_exhibit_tracking_dict_up_result := sql_update(
|
||||||
@@ -210,19 +234,21 @@ def load_event_exhibit_tracking_obj(
|
|||||||
def get_event_exhibit_tracking_rec_list(
|
def get_event_exhibit_tracking_rec_list(
|
||||||
event_id: int|str = None,
|
event_id: int|str = None,
|
||||||
event_exhibit_id: int|str = None,
|
event_exhibit_id: int|str = None,
|
||||||
|
event_badge_id: int|str = None,
|
||||||
event_person_id: int|str = None,
|
event_person_id: int|str = None,
|
||||||
hidden: str = 'not_hidden', # hidden, not_hidden, all
|
hidden: str = 'not_hidden', # hidden, not_hidden, all
|
||||||
enabled: str = 'enabled', # enabled, disabled, all
|
enabled: str = 'enabled', # enabled, disabled, all
|
||||||
limit: int = 100,
|
limit: int = 100,
|
||||||
offset: int = 0,
|
offset: int = 0,
|
||||||
) -> list|bool:
|
) -> list|bool:
|
||||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
log.debug(locals())
|
log.debug(locals())
|
||||||
|
|
||||||
data = {}
|
data = {}
|
||||||
|
|
||||||
sql_select_event_id = ''
|
sql_select_event_id = ''
|
||||||
sql_select_event_exhibit_id = ''
|
sql_select_event_exhibit_id = ''
|
||||||
|
sql_select_event_badge_id = ''
|
||||||
sql_select_event_person_id = ''
|
sql_select_event_person_id = ''
|
||||||
|
|
||||||
if event_id:
|
if event_id:
|
||||||
@@ -241,6 +267,13 @@ def get_event_exhibit_tracking_rec_list(
|
|||||||
data['event_exhibit_id'] = event_exhibit_id
|
data['event_exhibit_id'] = event_exhibit_id
|
||||||
sql_select_event_exhibit_id = f'AND `event_exhibit_tracking`.event_exhibit_id = :event_exhibit_id'
|
sql_select_event_exhibit_id = f'AND `event_exhibit_tracking`.event_exhibit_id = :event_exhibit_id'
|
||||||
|
|
||||||
|
if event_badge_id:
|
||||||
|
if event_badge_id := redis_lookup_id_random(record_id_random=event_badge_id, table_name='event_badge'): pass
|
||||||
|
else: return False
|
||||||
|
|
||||||
|
data['event_badge_id'] = event_badge_id
|
||||||
|
sql_select_event_badge_id = f'AND `event_exhibit_tracking`.event_badge_id = :event_badge_id'
|
||||||
|
|
||||||
if event_person_id:
|
if event_person_id:
|
||||||
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
|
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
|
||||||
else: return False
|
else: return False
|
||||||
@@ -275,17 +308,19 @@ def get_event_exhibit_tracking_rec_list(
|
|||||||
sql_limit = ''
|
sql_limit = ''
|
||||||
|
|
||||||
sql = f"""
|
sql = f"""
|
||||||
SELECT `event_exhibit_tracking`.id AS 'event_exhibit_tracking_id', `event_exhibit_tracking`.id_random AS 'event_exhibit_tracking_id_random'
|
SELECT `event_exhibit_tracking`.id AS 'event_exhibit_tracking_id', `event_exhibit_tracking`.id_random AS 'event_exhibit_tracking_id_random', priority AS 'priority', sort AS 'sort', hide AS 'hide', enable AS 'enable'
|
||||||
FROM `v_event_exhibit_tracking` AS `event_exhibit_tracking`
|
FROM `v_event_exhibit_tracking` AS `event_exhibit_tracking`
|
||||||
WHERE
|
WHERE
|
||||||
{sql_select_event_id}
|
{sql_select_event_id}
|
||||||
{sql_select_event_exhibit_id}
|
{sql_select_event_exhibit_id}
|
||||||
|
{sql_select_event_badge_id}
|
||||||
{sql_select_event_person_id}
|
{sql_select_event_person_id}
|
||||||
{sql_hidden}
|
{sql_hidden}
|
||||||
{sql_enabled}
|
{sql_enabled}
|
||||||
ORDER BY `event_exhibit_tracking`.priority DESC, `event_exhibit_tracking`.sort ASC, `event_exhibit_tracking`.created_on DESC, `event_exhibit_tracking`.updated_on DESC
|
ORDER BY `event_exhibit_tracking`.priority DESC, `event_exhibit_tracking`.sort ASC, `event_exhibit_tracking`.created_on DESC, `event_exhibit_tracking`.updated_on DESC
|
||||||
{sql_limit};
|
{sql_limit};
|
||||||
"""
|
"""
|
||||||
|
log.debug(sql)
|
||||||
|
|
||||||
if event_exhibit_rec_li_result := sql_select(data=data, sql=sql, as_list=True, log_lvl=logging.WARNING):
|
if event_exhibit_rec_li_result := sql_select(data=data, sql=sql, as_list=True, log_lvl=logging.WARNING):
|
||||||
log.info('Got a list result')
|
log.info('Got a list result')
|
||||||
|
|||||||
@@ -51,12 +51,24 @@ class Event_Exhibit_Tracking_Base(BaseModel):
|
|||||||
# Including convenience data
|
# Including convenience data
|
||||||
# This is only for convenience. Probably going to keep unless it causes a problem.
|
# This is only for convenience. Probably going to keep unless it causes a problem.
|
||||||
event_badge_informal_name: Optional[str]
|
event_badge_informal_name: Optional[str]
|
||||||
|
event_badge_title_names: Optional[str]
|
||||||
event_badge_given_name: Optional[str]
|
event_badge_given_name: Optional[str]
|
||||||
|
event_badge_middle_name: Optional[str]
|
||||||
event_badge_family_name: Optional[str]
|
event_badge_family_name: Optional[str]
|
||||||
event_badge_display_name: Optional[str]
|
event_badge_display_name: Optional[str]
|
||||||
event_badge_full_name: Optional[str]
|
event_badge_full_name: Optional[str]
|
||||||
|
|
||||||
|
event_badge_designations: Optional[str]
|
||||||
|
event_badge_professional_title: Optional[str]
|
||||||
event_badge_affiliations: Optional[str]
|
event_badge_affiliations: Optional[str]
|
||||||
|
|
||||||
event_badge_email: Optional[str]
|
event_badge_email: Optional[str]
|
||||||
|
event_badge_city: Optional[str]
|
||||||
|
country_subdivision_code: Optional[str]
|
||||||
|
state_province_abb: Optional[str]
|
||||||
|
state_province: Optional[str]
|
||||||
|
country_alpha_2_code: Optional[str]
|
||||||
|
country: Optional[str]
|
||||||
|
|
||||||
event_person_informal_name: Optional[str]
|
event_person_informal_name: Optional[str]
|
||||||
event_person_given_name: Optional[str]
|
event_person_given_name: Optional[str]
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ async def post_event_exhibit_tracking_obj(
|
|||||||
|
|
||||||
commons: Common_Route_Params = Depends(common_route_params),
|
commons: Common_Route_Params = Depends(common_route_params),
|
||||||
):
|
):
|
||||||
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
log.debug(locals())
|
log.debug(locals())
|
||||||
|
|
||||||
# time.sleep(1)
|
# time.sleep(1)
|
||||||
@@ -64,9 +64,28 @@ async def post_event_exhibit_tracking_obj(
|
|||||||
): pass
|
): pass
|
||||||
elif event_exhibit_tracking_id is None:
|
elif event_exhibit_tracking_id is None:
|
||||||
# NOTE: I think it makes sense to try and look up the record using the Exhibitor and Person ID. This is for API call convenience.
|
# NOTE: I think it makes sense to try and look up the record using the Exhibitor and Person ID. This is for API call convenience.
|
||||||
if event_exhibit_tracking_rec_li := get_event_exhibit_tracking_rec_list(event_exhibit_id=event_exhibit_id,event_person_id=event_person_id):
|
if event_exhibit_tracking_rec_li := get_event_exhibit_tracking_rec_list(
|
||||||
|
event_exhibit_id = event_exhibit_id,
|
||||||
|
event_badge_id = event_badge_id,
|
||||||
|
event_person_id = event_person_id,
|
||||||
|
hidden = 'all',
|
||||||
|
):
|
||||||
|
# log.debug(event_exhibit_tracking_rec_li)
|
||||||
event_exhibit_tracking_rec = event_exhibit_tracking_rec_li[0]
|
event_exhibit_tracking_rec = event_exhibit_tracking_rec_li[0]
|
||||||
event_exhibit_tracking_id = event_exhibit_tracking_rec.get('event_exhibit_tracking_id')
|
event_exhibit_tracking_id = event_exhibit_tracking_rec.get('event_exhibit_tracking_id')
|
||||||
|
|
||||||
|
log.debug(event_exhibit_tracking_rec.get('hide'))
|
||||||
|
if event_exhibit_tracking_rec.get('hide'):
|
||||||
|
event_exhibit_tracking_data = {}
|
||||||
|
event_exhibit_tracking_data['hide'] = False
|
||||||
|
if event_exhibit_tracking_update_result := update_event_exhibit_tracking_obj(
|
||||||
|
event_exhibit_tracking_id = event_exhibit_tracking_id,
|
||||||
|
event_exhibit_tracking_dict_obj = event_exhibit_tracking_data,
|
||||||
|
): pass
|
||||||
|
else:
|
||||||
|
log.warning('Likely bad request')
|
||||||
|
return mk_resp(data=False, status_code=400, response=commons.response, status_message='Not updated. Something failed while processing the data. Check the field names and data types.') # Bad Request
|
||||||
|
|
||||||
else:
|
else:
|
||||||
log.warning('Should this be possible if there was an existing record? Assuming there is an existing record because the SQL function result was None.')
|
log.warning('Should this be possible if there was an existing record? Assuming there is an existing record because the SQL function result was None.')
|
||||||
return mk_resp(data=None, status_code=200, response=commons.response, status_message='Not created. Likely duplicate entry. Returning None.') # Success
|
return mk_resp(data=None, status_code=200, response=commons.response, status_message='Not created. Likely duplicate entry. Returning None.') # Success
|
||||||
|
|||||||
Reference in New Issue
Block a user