Working on stuff related to session proposals.

This commit is contained in:
Scott Idem
2021-08-26 13:27:01 -04:00
parent acf6842017
commit 112f6d4da4
5 changed files with 252 additions and 64 deletions

View File

@@ -201,6 +201,90 @@ def load_event_session_obj(
# ### END ### API Event Session Methods ### load_event_session_obj() ###
# ### BEGIN ### API Event Session Methods ### get_event_session_rec_list() ###
def get_event_session_rec_list(
event_id: str,
review: str = 'ready', # ready, not_ready, all
approved: str = 'approved', # approved, not_approved, all
enabled: str = 'enabled', # enabled, disabled, all
limit: int = 100,
) -> list|bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
else: return False
data = {}
data[f'event_id'] = event_id
sql_where_event_id = f'`event_session`.event_id = :event_id'
if review in ['ready', 'not_ready', 'all']:
if review == 'ready':
data['review'] = True
sql_review = f'AND `event_session`.review = :review'
elif review == 'not_ready':
data['review'] = False
sql_review = f'AND `event_session`.review = :review'
elif review == 'all':
sql_review = ''
if approved in ['approved', 'not_approved', 'all']:
if approved == 'approved':
data['approve'] = True
sql_approved = f'AND `event_session`.approve = :approve'
elif approved == 'not_approved':
data['approve'] = False
sql_approved = f'AND `event_session`.approve = :approve'
elif approved == 'all':
sql_approved = ''
if enabled in ['enabled', 'disabled', 'all']:
if enabled == 'enabled':
data['enable'] = True
sql_enabled = f'AND `event_session`.enable = :enable'
elif enabled == 'disabled':
data['enable'] = False
sql_enabled = f'AND `event_session`.enable = :enable'
elif enabled == 'all':
sql_enabled = ''
if limit:
data['limit'] = limit
sql_limit = f'LIMIT :limit'
else:
sql_limit = ''
sql = f"""
SELECT `event_session`.id AS 'event_session_id', `event_session`.id_random AS 'event_session_id_random'
FROM `event_session` AS `event_session`
WHERE
{sql_where_event_id}
{sql_review}
{sql_approved}
{sql_enabled}
ORDER BY `event_session`.created_on DESC, `event_session`.updated_on DESC
{sql_limit};
"""
if event_session_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
event_session_rec_li = event_session_rec_li_result
else:
event_session_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_session_rec_li_result)
log.debug(type(event_session_rec_li))
log.debug(len(event_session_rec_li))
return event_session_rec_li
# ### END ### API Event Session Methods ### get_event_session_rec_list() ###
# ### BEGIN ### API Event Session Methods ### create_update_event_session_obj_v4() ###