Working on stuff related to session proposals.
This commit is contained in:
@@ -10,7 +10,7 @@ from app.lib_general import log, logging
|
||||
from app.methods.address_methods import load_address_obj
|
||||
from app.methods.contact_methods import load_contact_obj
|
||||
from app.methods.event_cfg_methods import load_event_cfg_obj
|
||||
from app.methods.event_session_methods import load_event_session_obj
|
||||
from app.methods.event_session_methods import get_event_session_rec_list, load_event_session_obj
|
||||
from app.methods.person_methods import create_person_obj_v3, load_person_obj, update_person_obj
|
||||
from app.methods.user_methods import create_user_obj, load_user_obj, update_user_obj
|
||||
|
||||
@@ -173,71 +173,104 @@ def load_event_obj(
|
||||
|
||||
if inc_event_session_list:
|
||||
log.info('Need to include event session list...')
|
||||
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
|
||||
data = {}
|
||||
data['event_id'] = event_id
|
||||
|
||||
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 event_session_rec_list_result := get_event_session_rec_list(
|
||||
event_id = event_id,
|
||||
review = 'all', # ready, not_ready, all
|
||||
approved = 'all', # approve(d), not_approved, all
|
||||
enabled = enabled,
|
||||
limit = limit,
|
||||
):
|
||||
event_session_result_list = []
|
||||
for event_session_rec in event_session_rec_list_result:
|
||||
if load_event_session_result := load_event_session_obj(
|
||||
event_session_id = event_session_rec.get('event_session_id', None),
|
||||
enabled = enabled,
|
||||
limit = limit,
|
||||
inc_event_file_list = inc_event_file_list,
|
||||
inc_event_presentation_list = inc_event_presentation_list,
|
||||
inc_event_presenter_cat = inc_event_presenter_cat,
|
||||
inc_event_presenter_list = inc_event_presenter_list,
|
||||
inc_person = inc_person,
|
||||
inc_poc_event_person = inc_poc_event_person,
|
||||
by_alias = by_alias,
|
||||
exclude_unset = exclude_unset,
|
||||
# model_as_dict = model_as_dict,
|
||||
):
|
||||
event_session_result_list.append(load_event_session_result)
|
||||
else:
|
||||
event_session_result_list.append(None)
|
||||
log.debug(event_session_result_list)
|
||||
event_obj.event_session_list = event_session_result_list
|
||||
elif isinstance(event_session_rec_list_result, list):
|
||||
event_obj.event_session_list = []
|
||||
else:
|
||||
sql_enabled = f'AND `event_session`.enable = :enable'
|
||||
# else: event_obj['event_session'] = None
|
||||
event_obj.event_session_list = None
|
||||
|
||||
if limit:
|
||||
data['limit'] = limit
|
||||
sql_limit = f'LIMIT :limit'
|
||||
else:
|
||||
sql_limit = ''
|
||||
# data = {}
|
||||
# data['event_id'] = event_id
|
||||
|
||||
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 `event_session`.event_id = :event_id
|
||||
{sql_enabled}
|
||||
ORDER BY `event_session`.created_on DESC, `event_session`.updated_on DESC
|
||||
{sql_limit};
|
||||
"""
|
||||
# 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 = ''
|
||||
# else:
|
||||
# sql_enabled = f'AND `event_session`.enable = :enable'
|
||||
# # else: event_obj['event_session'] = None
|
||||
|
||||
#log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
if event_session_obj_li_result := sql_select(data=data, sql=sql, as_list=True):
|
||||
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(event_session_obj_li_result)
|
||||
event_session_obj_li = []
|
||||
for event_session_obj in event_session_obj_li_result:
|
||||
event_session_id = event_session_obj.get('event_session_id', None)
|
||||
if event_session_obj := load_event_session_obj(
|
||||
event_session_id=event_session_id,
|
||||
limit = limit,
|
||||
enabled=enabled,
|
||||
inc_event_abstract_list=inc_event_abstract_list,
|
||||
inc_event_device_list=inc_event_device_list,
|
||||
inc_event_file_list=inc_event_file_list,
|
||||
inc_event_location=inc_event_location,
|
||||
inc_event_person_list=inc_event_person_list,
|
||||
inc_event_presentation_list=inc_event_presentation_list,
|
||||
inc_event_presenter_cat=inc_event_presenter_cat,
|
||||
inc_event_presenter_list=inc_event_presenter_list,
|
||||
#inc_event_track=inc_event_track,
|
||||
inc_person=inc_person,
|
||||
inc_user=inc_user,
|
||||
):
|
||||
data = event_session_obj.dict(by_alias=True, exclude_unset=True)
|
||||
event_session_obj_li.append(data)
|
||||
log.debug(event_session_obj_li)
|
||||
#event_rec['event_session_list'] = event_session_obj_li
|
||||
event_obj.event_session_list = event_session_obj_li
|
||||
else:
|
||||
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(event_session_obj_li_result)
|
||||
#log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
# 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 `event_session`.event_id = :event_id
|
||||
# {sql_enabled}
|
||||
# ORDER BY `event_session`.created_on DESC, `event_session`.updated_on DESC
|
||||
# {sql_limit};
|
||||
# """
|
||||
|
||||
# #log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
# if event_session_obj_li_result := sql_select(data=data, sql=sql, as_list=True):
|
||||
# #log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
# log.debug(event_session_obj_li_result)
|
||||
# event_session_obj_li = []
|
||||
# for event_session_obj in event_session_obj_li_result:
|
||||
# event_session_id = event_session_obj.get('event_session_id', None)
|
||||
# if event_session_obj := load_event_session_obj(
|
||||
# event_session_id=event_session_id,
|
||||
# limit = limit,
|
||||
# enabled=enabled,
|
||||
# inc_event_abstract_list=inc_event_abstract_list,
|
||||
# inc_event_device_list=inc_event_device_list,
|
||||
# inc_event_file_list=inc_event_file_list,
|
||||
# inc_event_location=inc_event_location,
|
||||
# inc_event_person_list=inc_event_person_list,
|
||||
# inc_event_presentation_list=inc_event_presentation_list,
|
||||
# inc_event_presenter_cat=inc_event_presenter_cat,
|
||||
# inc_event_presenter_list=inc_event_presenter_list,
|
||||
# #inc_event_track=inc_event_track,
|
||||
# inc_person=inc_person,
|
||||
# inc_user=inc_user,
|
||||
# ):
|
||||
# data = event_session_obj.dict(by_alias=True, exclude_unset=True)
|
||||
# event_session_obj_li.append(data)
|
||||
# log.debug(event_session_obj_li)
|
||||
# #event_rec['event_session_list'] = event_session_obj_li
|
||||
# event_obj.event_session_list = event_session_obj_li
|
||||
# else:
|
||||
# #log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
# log.debug(event_session_obj_li_result)
|
||||
# #log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
|
||||
if inc_event_track_list: pass
|
||||
|
||||
|
||||
@@ -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() ###
|
||||
|
||||
@@ -73,6 +73,11 @@ class Event_Session_Base(BaseModel):
|
||||
presentation_file_path: Optional[str]
|
||||
presentation_file_size: Optional[str]
|
||||
|
||||
status: Optional[int]
|
||||
review: Optional[bool]
|
||||
approve: Optional[bool]
|
||||
ready: Optional[bool]
|
||||
|
||||
enable: Optional[bool]
|
||||
enable_from: Optional[datetime.datetime] = None
|
||||
enable_to: Optional[datetime.datetime] = None
|
||||
|
||||
@@ -9,7 +9,7 @@ from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select,
|
||||
|
||||
from app.routers.api_crud import delete_obj_template, get_obj_template, get_obj_li_template, patch_obj_template, post_obj_template
|
||||
|
||||
from app.methods.event_session_methods import create_event_session_obj, create_update_event_session_obj_v4, load_event_session_obj, update_event_session_obj_v3
|
||||
from app.methods.event_session_methods import create_event_session_obj, create_update_event_session_obj_v4, load_event_session_obj, get_event_session_rec_list, update_event_session_obj_v3
|
||||
|
||||
from app.models.event_session_models import Event_Session_Base
|
||||
from app.models.response_models import *
|
||||
@@ -18,7 +18,6 @@ from app.models.response_models import *
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Session ### post_event_session_obj_new_v4() ###
|
||||
# Updated 2021-08-25
|
||||
@router.post('/event/session/new_v4', response_model=Resp_Body_Base)
|
||||
@@ -530,6 +529,73 @@ async def get_event_session_obj(
|
||||
# ### END ### API Event ### get_event_session_obj() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Session Methods ### get_event_event_session_obj_li() ###
|
||||
# Updated 2021-08-26
|
||||
@router.get('/event/{event_id}/session/list', response_model=Resp_Body_Base)
|
||||
async def get_event_event_session_obj_li(
|
||||
event_id: str = Query(..., min_length=11, max_length=22),
|
||||
enabled: str = 'enabled', # enabled, disabled, all
|
||||
limit: int = 50,
|
||||
# inc_address: bool = False,
|
||||
# inc_contact: bool = False,
|
||||
inc_event_file_list: bool = False,
|
||||
inc_event_presentation_list: bool = False,
|
||||
inc_event_presenter_cat: bool = False,
|
||||
inc_event_presenter_list: bool = False,
|
||||
inc_event_person: bool = False, # Intended for event_presenter
|
||||
# inc_event_person_list: bool = False,
|
||||
inc_person: bool = False, # Intended for event_presenter > event_person
|
||||
inc_poc_event_person: bool = False,
|
||||
review: str = 'ready', # ready, not_ready, all
|
||||
approved: str = 'approved', # approved, not_approved, all
|
||||
x_account_id: str = Header(...),
|
||||
by_alias: Optional[bool] = True,
|
||||
exclude_unset: Optional[bool] = True,
|
||||
response: Response = Response,
|
||||
):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='person'): pass
|
||||
else: return mk_resp(data=None, status_code=404)
|
||||
|
||||
# Updated 2021-08-26
|
||||
if event_session_rec_list_result := get_event_session_rec_list(
|
||||
event_id = event_id,
|
||||
review = review, # ready, not_ready, all
|
||||
approved = approved, # approve(d), not_approved, all
|
||||
enabled = enabled,
|
||||
limit = limit,
|
||||
):
|
||||
event_session_result_list = []
|
||||
for event_session_rec in event_session_rec_list_result:
|
||||
if load_event_session_result := load_event_session_obj(
|
||||
event_session_id = event_session_rec.get('event_session_id', None),
|
||||
enabled = enabled,
|
||||
limit = limit,
|
||||
inc_event_file_list = inc_event_file_list,
|
||||
inc_event_presentation_list = inc_event_presentation_list,
|
||||
inc_event_presenter_cat = inc_event_presenter_cat,
|
||||
inc_event_presenter_list = inc_event_presenter_list,
|
||||
inc_person = inc_person,
|
||||
inc_poc_event_person = inc_poc_event_person,
|
||||
by_alias = by_alias,
|
||||
exclude_unset = exclude_unset,
|
||||
# model_as_dict = model_as_dict,
|
||||
):
|
||||
event_session_result_list.append(load_event_session_result)
|
||||
else:
|
||||
event_session_result_list.append(None)
|
||||
response_data = event_session_result_list
|
||||
elif isinstance(event_session_rec_list_result, list):
|
||||
return mk_resp(data=False, status_code=404, response=response) # Not Found
|
||||
else:
|
||||
return mk_resp(data=False, status_code=400, response=response) # Bad Request
|
||||
|
||||
return mk_resp(data=response_data)
|
||||
# ### END ### API Event Session Methods ### get_event_event_session_obj_li() ###
|
||||
|
||||
|
||||
@router.delete('/event/session/{obj_id}', response_model=Resp_Body_Base)
|
||||
async def delete_event_session_obj(
|
||||
obj_id: str = Query(..., min_length=1, max_length=22),
|
||||
|
||||
@@ -150,7 +150,7 @@ async def patch_person_obj_exist_v3(
|
||||
exclude_none: Optional[bool] = True,
|
||||
response: Response = Response,
|
||||
):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass
|
||||
|
||||
Reference in New Issue
Block a user