Updating event device
This commit is contained in:
@@ -15,6 +15,7 @@ from app.models.data_store_models import *
|
||||
from app.models.event_models import *
|
||||
from app.models.event_abstract_models import *
|
||||
from app.models.event_badge_models import *
|
||||
from app.models.event_device_models import *
|
||||
from app.models.event_exhibit_models import *
|
||||
from app.models.event_exhibit_tracking_models import *
|
||||
from app.models.event_file_models import *
|
||||
@@ -58,8 +59,13 @@ from app.models.e_stripe_models import *
|
||||
|
||||
obj_type_kv_li = {
|
||||
'sponsorship': {
|
||||
'tbl': 'sponsorship', 'tbl_default': 'v_sponsorship', 'tbl_update': 'sponsorship',
|
||||
'mdl': Sponsorship_Base, 'mdl_default': Sponsorship_Base, 'mdl_in': Sponsorship_Base, 'mdl_out': Sponsorship_Base,
|
||||
'tbl': 'sponsorship',
|
||||
'tbl_default': 'v_sponsorship',
|
||||
'tbl_update': 'sponsorship',
|
||||
'mdl': Sponsorship_Base,
|
||||
'mdl_default': Sponsorship_Base,
|
||||
'mdl_in': Sponsorship_Base,
|
||||
'mdl_out': Sponsorship_Base,
|
||||
'exp_default': [
|
||||
'sponsorship_id_random',
|
||||
# 'account_id_random', 'sponsorship_cfg_id_random',
|
||||
@@ -100,8 +106,22 @@ obj_type_kv_li = {
|
||||
'tbl_update': 'sponsorship_cfg',
|
||||
'mdl': Sponsorship_Cfg_Base,
|
||||
'mdl_default': Sponsorship_Cfg_Base,
|
||||
'mdl_in': None,
|
||||
'mdl_out': None
|
||||
# 'mdl_in': None,
|
||||
# 'mdl_out': None
|
||||
},
|
||||
# Updated 2024-08-14
|
||||
'event': {
|
||||
'tbl': 'event',
|
||||
'tbl_default': 'v_event',
|
||||
'tbl_alt': 'v_event_w_file_count',
|
||||
'mdl': Event_Base,
|
||||
'mdl_default': Event_Base,
|
||||
'mdl_alt': Event_Meeting_Flat_Base,
|
||||
# 'table_name': 'v_event',
|
||||
# 'table_name_alt': 'v_event_w_file_count',
|
||||
# 'tbl_name_update': 'event',
|
||||
# 'base_name': Event_Base,
|
||||
# 'base_name_alt': Event_Meeting_Flat_Base
|
||||
},
|
||||
'event_badge': {
|
||||
'tbl': 'event_badge',
|
||||
@@ -110,8 +130,53 @@ obj_type_kv_li = {
|
||||
'tbl_update': 'event_badge',
|
||||
'mdl': Event_Badge_Base,
|
||||
'mdl_default': Event_Badge_Basic_Base,
|
||||
'mdl_alt': Event_Badge_Basic_Base
|
||||
# 'mdl_alt': Event_Badge_Basic_Base
|
||||
},
|
||||
# Updated 2024-08-14
|
||||
'event_device': {
|
||||
'tbl': 'event_device',
|
||||
'tbl_default': 'v_event_device',
|
||||
'tbl_alt': 'v_event_device',
|
||||
'mdl': Event_Device_Base,
|
||||
'mdl_default': Event_Device_Base,
|
||||
},
|
||||
# Updated 2024-08-14
|
||||
'event_file': {
|
||||
'tbl': 'event_file',
|
||||
'tbl_default': 'v_event_file_simple', # 'v_event_file' or 'v_event_file_simple'
|
||||
'tbl_alt': 'v_event_file', # or 'v_event_file_detail'
|
||||
'mdl': Event_File_Base,
|
||||
'mdl_default': Event_File_Base,
|
||||
# 'table_name': 'v_event_file_simple',
|
||||
# 'table_name_alt': 'v_event_file',
|
||||
# 'tbl_name_update': 'event_file_simple',
|
||||
# 'base_name': Event_File_Base
|
||||
}, # Should this eventually be changed to event_hosted_file
|
||||
# Updated 2024-08-14
|
||||
'event_location': {
|
||||
'tbl': 'event_location',
|
||||
'tbl_default': 'v_event_location',
|
||||
'tbl_alt': 'v_event_location_w_file_count',
|
||||
'mdl': Event_Location_Base,
|
||||
'mdl_default': Event_Location_Base,
|
||||
# 'table_name': 'v_event_location',
|
||||
# 'table_name_alt': 'v_event_location_w_file_count',
|
||||
# 'tbl_name_update': 'event_location',
|
||||
# 'base_name': Event_Location_Base
|
||||
},
|
||||
# Updated 2024-08-14
|
||||
'event_presentation': {
|
||||
'tbl': 'event_presentation',
|
||||
'tbl_default': 'v_event_presentation',
|
||||
'tbl_alt': 'v_event_presentation_w_file_count',
|
||||
'mdl': Event_Presentation_Base,
|
||||
'mdl_default': Event_Presentation_Base,
|
||||
# 'table_name': 'v_event_presentation',
|
||||
# 'table_name_alt': 'v_event_presentation_w_file_count',
|
||||
# 'tbl_name_update': 'event_presentation',
|
||||
# 'base_name': Event_Presentation_Base
|
||||
},
|
||||
# Updated 2024-08-14
|
||||
'event_presenter': {
|
||||
'tbl': 'event_presenter',
|
||||
'tbl_default': 'v_event_presenter',
|
||||
@@ -134,20 +199,23 @@ obj_type_kv_li = {
|
||||
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on',
|
||||
],
|
||||
# WARNING: These must be updated soon!
|
||||
'table_name': 'v_event_presenter',
|
||||
'table_name_alt': 'v_event_presenter_w_file_count',
|
||||
'tbl_name_update': 'event_presenter',
|
||||
'base_name': Event_Presenter_Base
|
||||
# 'table_name': 'v_event_presenter',
|
||||
# 'table_name_alt': 'v_event_presenter_w_file_count',
|
||||
# 'tbl_name_update': 'event_presenter',
|
||||
# 'base_name': Event_Presenter_Base
|
||||
# WARNING: These must be updated soon!
|
||||
},
|
||||
# Updated 2024-08-14
|
||||
'event_session': {
|
||||
'table_name': 'v_event_session',
|
||||
'tbl': 'event_session',
|
||||
'tbl_default': 'v_event_session',
|
||||
'tbl_alt': 'v_event_session_w_file_count',
|
||||
'tbl_name_update': 'event_session',
|
||||
'mdl': Event_Session_Base,
|
||||
'mdl_default': Event_Session_Base,
|
||||
'base_name': Event_Session_Base,
|
||||
'exclude_for_db': {'poc_person_id', 'file_count', 'internal_use_count', 'enable_from', 'enable_to', 'event_name', 'event_start_datetime', 'event_end_datetime', 'event_location_name', 'event_track_name', 'event_abstract_list', 'event_badge_list', 'event_device_list', 'event_file_list', 'event_file_internal_use_list', 'event_location', 'event_location_list', 'event_person_list', 'event_presenter_cat', 'event_presentation_list', 'event_presenter_list', 'event_track', 'poc_event_person'}
|
||||
'exclude_for_db': {'poc_person_id', 'file_count', 'internal_use_count', 'enable_from', 'enable_to', 'event_name', 'event_start_datetime', 'event_end_datetime', 'event_location_name', 'event_track_name', 'event_abstract_list', 'event_badge_list', 'event_device_list', 'event_file_list', 'event_file_internal_use_list', 'event_location', 'event_location_list', 'event_person_list', 'event_presenter_cat', 'event_presentation_list', 'event_presenter_list', 'event_track', 'poc_event_person'},
|
||||
# 'table_name': 'v_event_session',
|
||||
# 'base_name': Event_Session_Base,
|
||||
},
|
||||
}
|
||||
# WARNING: These must be updated soon!
|
||||
@@ -227,23 +295,25 @@ obj_type_kv_li['archive_content'] = {'table_name': 'v_archive_content', 'tbl_nam
|
||||
obj_type_kv_li['cont_edu_cert'] = {'table_name': 'v_cont_edu_cert', 'tbl_name_update': 'cont_edu_cert', 'base_name': Cont_Edu_Cert_Base}
|
||||
obj_type_kv_li['cont_edu_cert_person'] = {'table_name': 'v_cont_edu_cert_person', 'tbl_name_update': 'cont_edu_cert_person', 'base_name': Cont_Edu_Cert_Person_Base}
|
||||
|
||||
obj_type_kv_li['event'] = {'table_name': 'v_event', 'table_name_alt': 'v_event_w_file_count',
|
||||
'tbl_name_update': 'event', 'base_name': Event_Base, 'base_name_alt': Event_Meeting_Flat_Base}
|
||||
|
||||
# EVENT MOVED UP
|
||||
# EVENT DEVICE MOVED UP
|
||||
# EVENT LOCATION MOVED UP
|
||||
# EVENT PRESENTER MOVED UP
|
||||
# EVENT SESSION MOVED UP
|
||||
|
||||
obj_type_kv_li['event_abstract'] = {'table_name': 'v_event_abstract', 'tbl_name_update': 'event_abstract', 'base_name': Event_Abstract_In}
|
||||
obj_type_kv_li['event_badge'] = {'table_name': 'v_event_badge', 'table_name_alt': 'v_event_badge_only', 'tbl_name_update': 'event_badge', 'base_name': Event_Badge_Base, 'base_name_alt': Event_Badge_Basic_Base}
|
||||
#obj_type_kv_li['event_badge_log'] = {'table_name': 'event_badge_log', 'tbl_name_update': 'event_badge_log', 'base_name': Event_Badge_Log_Base}
|
||||
#obj_type_kv_li['event_badge_template'] = {'table_name': 'event_badge_template', 'tbl_name_update': 'event_badge_template', 'base_name': Event_Badge_Template_Base}
|
||||
#obj_type_kv_li['event_device'] = {'table_name': 'event_device', 'tbl_name_update': 'event_device', 'base_name': Event_Device_Base}
|
||||
|
||||
obj_type_kv_li['event_exhibit'] = {'table_name': 'v_event_exhibit', 'tbl_name_update': 'event_exhibit', 'base_name': Event_Exhibit_Base} # NOTE check view name: *_detail?
|
||||
obj_type_kv_li['event_exhibit_tracking'] = {'table_name': 'v_event_exhibit_tracking', 'tbl_name_update': 'event_exhibit_tracking', 'base_name': Event_Exhibit_Tracking_Base}
|
||||
# NOTE: Using v_event_file_simple instead of v_event_file because of linking with for_type and for_id versus event_id, event_session_id, event_presenter_id, etc. 2022-08-19
|
||||
# NOTE: This will not pull in linked to details like a session name, presentation time, or presenter name.
|
||||
obj_type_kv_li['event_file'] = {'table_name': 'v_event_file_simple', 'table_name_alt': 'v_event_file', 'tbl_name_update': 'event_file_simple', 'base_name': Event_File_Base} # Should this eventually be changed to event_hosted_file
|
||||
obj_type_kv_li['event_location'] = {'table_name': 'v_event_location', 'table_name_alt': 'v_event_location_w_file_count', 'tbl_name_update': 'event_location', 'base_name': Event_Location_Base}
|
||||
obj_type_kv_li['event_person'] = {'table_name': 'v_event_person', 'tbl_name_update': 'event_person', 'base_name': Event_Person_Base}
|
||||
obj_type_kv_li['event_person_tracking'] = {'table_name': 'v_event_person_tracking', 'tbl_name_update': 'event_person_tracking', 'base_name': Event_Person_Tracking_Base}
|
||||
obj_type_kv_li['event_presentation'] = {'table_name': 'v_event_presentation', 'table_name_alt': 'v_event_presentation_w_file_count', 'tbl_name_update': 'event_presentation', 'base_name': Event_Presentation_Base}
|
||||
|
||||
# obj_type_kv_li['event_presenter'] = {'table_name': 'v_event_presenter', 'table_name_alt': 'v_event_presenter_w_file_count', 'tbl_name_update': 'event_presenter', 'base_name': Event_Presenter_Base}
|
||||
obj_type_kv_li['event_registration'] = {'table_name': 'v_event_registration', 'tbl_name_update': 'event_registration', 'base_name': Event_Registration_Base}
|
||||
|
||||
|
||||
@@ -271,6 +271,7 @@ async def get_obj_li_l3(
|
||||
)
|
||||
|
||||
|
||||
# Updated 2024-08-14
|
||||
def handle_get_obj_li(
|
||||
obj_type_l1: str,
|
||||
obj_type_l2: Optional[str] = None,
|
||||
@@ -328,6 +329,7 @@ def handle_get_obj_li(
|
||||
|
||||
log.info(jp_obj)
|
||||
|
||||
# Updated 2024-08-14
|
||||
if jp_obj.get('qry'): # NOTE: This is for specific additional WHERE clauses in the SQL statement
|
||||
# Example JSON:
|
||||
# jp: {
|
||||
@@ -436,27 +438,43 @@ def handle_get_obj_li(
|
||||
log.info(f'obj_name: {obj_name}')
|
||||
log.debug(obj_type_kv_li[obj_name])
|
||||
|
||||
if tbl_alt:
|
||||
table_name = obj_type_kv_li[obj_name][f'tbl_{tbl_alt}']
|
||||
# table_name = obj_type_kv_li[obj_name].get(f'tbl_{tbl_alt}')
|
||||
log.info(f'tbl_alt was found. Using {table_name} table.')
|
||||
# Updated 2024-08-14
|
||||
# Check the table (view) name to make sure it is valid.
|
||||
if tbl_alt: # and tbl_alt != 'default':
|
||||
try:
|
||||
table_name = obj_type_kv_li[obj_name][f'tbl_{tbl_alt}']
|
||||
# table_name = obj_type_kv_li[obj_name].get(f'tbl_{tbl_alt}')
|
||||
except:
|
||||
table_name = obj_type_kv_li[obj_name]['tbl']
|
||||
log.warning(f'tbl_alt ({tbl_alt}) was not found. Using {table_name} table.')
|
||||
log.info(f'tbl_alt ({tbl_alt}) was found. Using {table_name} table.')
|
||||
else:
|
||||
table_name = obj_type_kv_li[obj_name]['tbl']
|
||||
log.warning(f'tbl_alt ({tbl_alt}) was not found. Using {table_name} table.')
|
||||
|
||||
# Check the model name to make sure it is valid.
|
||||
if mdl_alt:
|
||||
base_name = obj_type_kv_li[obj_name][f'mdl_{mdl_alt}']
|
||||
# base_name = obj_type_kv_li[obj_name].get(f'mdl_{mdl_alt}')
|
||||
log.info(f'mdl_alt was found. Using {base_name} model.')
|
||||
if exp_alt:
|
||||
column_name_li = obj_type_kv_li[obj_name].get(f'exp_{exp_alt}')
|
||||
log.info(f'exp_alt was found. Using {column_name_li} column list.')
|
||||
try:
|
||||
base_name = obj_type_kv_li[obj_name][f'mdl_{mdl_alt}']
|
||||
# base_name = obj_type_kv_li[obj_name].get(f'mdl_{mdl_alt}')
|
||||
except:
|
||||
base_name = obj_type_kv_li[obj_name]['mdl']
|
||||
log.info(f'mdl_alt ({mdl_alt}) was found. Using {base_name} model.')
|
||||
else:
|
||||
base_name = obj_type_kv_li[obj_name]['mdl']
|
||||
log.warning(f'mdl_alt ({mdl_alt}) was not found. Using {base_name} model.')
|
||||
|
||||
# if use_alt_table:
|
||||
# table_name = obj_type_kv_li[obj_name]['table_name_alt']
|
||||
# If we are returning a file, check the column name list to make sure it is valid.
|
||||
if return_file and exp_alt:
|
||||
try:
|
||||
column_name_li = obj_type_kv_li[obj_name][f'exp_{exp_alt}']
|
||||
# column_name_li = obj_type_kv_li[obj_name].get(f'exp_{exp_alt}')
|
||||
except:
|
||||
column_name_li = obj_type_kv_li[obj_name]['exp']
|
||||
log.info(f'exp_alt ({exp_alt}) was found. Using {column_name_li} column list.')
|
||||
# else:
|
||||
# table_name = obj_type_kv_li[obj_name]['table_name']
|
||||
|
||||
# if use_alt_base:
|
||||
# base_name = obj_type_kv_li[obj_name]['base_name_alt']
|
||||
# else:
|
||||
# base_name = obj_type_kv_li[obj_name]['base_name']
|
||||
# column_name_li = obj_type_kv_li[obj_name]['exp']
|
||||
# log.warning(f'exp_alt ({exp_alt}) was not found. Using {column_name_li} column list.')
|
||||
|
||||
if for_obj_type and for_obj_id:
|
||||
for_obj_id = redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type)
|
||||
@@ -525,13 +543,15 @@ def handle_get_obj_li(
|
||||
log.warning('base_name model was not found. Returning raw data.')
|
||||
resp_data = record
|
||||
resp_data_li.append(resp_data)
|
||||
if not column_name_li:
|
||||
column_name_li = list(sql_result[0].keys()) # This should be the same for all records in the list.
|
||||
additional_column_name_li = []
|
||||
|
||||
if return_file:
|
||||
log.setLevel(logging.INFO)
|
||||
|
||||
if not column_name_li:
|
||||
column_name_li = list(sql_result[0].keys()) # This should be the same for all records in the list.
|
||||
log.info(f'Column names: {column_name_li}')
|
||||
additional_column_name_li = []
|
||||
|
||||
|
||||
# We want to handle any field that has a suffix of _json. It should be expanded into a list of fields that are prefixed with the original field name minus _json.
|
||||
# This will also allow us to export the data to a CSV or Excel file with the correct column names.
|
||||
@@ -639,7 +659,7 @@ def handle_get_obj_li(
|
||||
else: return mk_resp(data=None, response=commons.response, status_code=404)
|
||||
|
||||
|
||||
# Updated 2023-11-03
|
||||
# Updated 2024-08-14
|
||||
@router.get('/{obj_type_l1}/{obj_id}')
|
||||
@router.get('/{obj_type_l1}/{obj_type_l2}/{obj_id}')
|
||||
@router.get('/{obj_type_l1}/{obj_type_l2}/{obj_type_l3}/{obj_id}')
|
||||
@@ -649,8 +669,11 @@ async def get_obj(
|
||||
obj_type_l3: str=None,
|
||||
obj_id: str=None,
|
||||
|
||||
use_alt_table: bool = False, # NOTE: This will use table_name_alt if they exist. -2023-12-01
|
||||
use_alt_base: bool = False, # NOTE: This will use base_name_alt if they exist. -2023-12-01
|
||||
tbl_alt: Optional[str] = 'default',
|
||||
mdl_alt: Optional[str] = 'default',
|
||||
|
||||
# use_alt_table: bool = False, # NOTE: This will use table_name_alt if they exist. -2023-12-01
|
||||
# use_alt_base: bool = False, # NOTE: This will use base_name_alt if they exist. -2023-12-01
|
||||
|
||||
# for_obj_type: Optional[str] = Query(None, max_length=50), # NOTE: This is not currently used. It is here for future use.
|
||||
# for_obj_id: Optional[str] = Query(None, max_length=22), # NOTE: This is not currently used. It is here for future use.
|
||||
@@ -690,8 +713,8 @@ async def get_obj(
|
||||
debug_data['obj_type_l2'] = obj_type_l2
|
||||
debug_data['obj_type_l3'] = obj_type_l3
|
||||
debug_data['obj_id'] = obj_id
|
||||
debug_data['use_alt_table'] = use_alt_table
|
||||
debug_data['use_alt_base'] = use_alt_base
|
||||
debug_data['tbl_alt'] = tbl_alt
|
||||
debug_data['mdl_alt'] = mdl_alt
|
||||
|
||||
log.debug(debug_data)
|
||||
|
||||
@@ -721,17 +744,31 @@ async def get_obj(
|
||||
log.warning('We should not be here')
|
||||
return mk_resp(data=False, status_code=400, response=commons.response)
|
||||
|
||||
if use_alt_table:
|
||||
table_name = obj_type_kv_li[obj_name]['table_name_alt']
|
||||
# Updated 2024-08-14
|
||||
# Check the table (view) name to make sure it is valid.
|
||||
if tbl_alt: # and tbl_alt != 'default':
|
||||
try:
|
||||
table_name = obj_type_kv_li[obj_name][f'tbl_{tbl_alt}']
|
||||
# table_name = obj_type_kv_li[obj_name].get(f'tbl_{tbl_alt}')
|
||||
except:
|
||||
table_name = obj_type_kv_li[obj_name]['tbl']
|
||||
log.warning(f'tbl_alt ({tbl_alt}) was not found. Using {table_name} table.')
|
||||
log.info(f'tbl_alt ({tbl_alt}) was found. Using {table_name} table.')
|
||||
else:
|
||||
table_name = obj_type_kv_li[obj_name]['table_name']
|
||||
table_name = obj_type_kv_li[obj_name]['tbl']
|
||||
log.warning(f'tbl_alt ({tbl_alt}) was not found. Using {table_name} table.')
|
||||
|
||||
if use_alt_base:
|
||||
base_name = obj_type_kv_li[obj_name]['base_name_alt']
|
||||
# log.setLevel(logging.DEBUG)
|
||||
log.debug(debug_data)
|
||||
# Check the model name to make sure it is valid.
|
||||
if mdl_alt:
|
||||
try:
|
||||
base_name = obj_type_kv_li[obj_name][f'mdl_{mdl_alt}']
|
||||
# base_name = obj_type_kv_li[obj_name].get(f'mdl_{mdl_alt}')
|
||||
except:
|
||||
base_name = obj_type_kv_li[obj_name]['mdl']
|
||||
log.info(f'mdl_alt ({mdl_alt}) was found. Using {base_name} model.')
|
||||
else:
|
||||
base_name = obj_type_kv_li[obj_name]['base_name']
|
||||
base_name = obj_type_kv_li[obj_name]['mdl']
|
||||
log.warning(f'mdl_alt ({mdl_alt}) was not found. Using {base_name} model.')
|
||||
|
||||
# NOTE: Add a check for the object ID... assuming it is a random ID string for now.
|
||||
if sql_result := sql_select(table_name=table_name, record_id_random=obj_id):
|
||||
|
||||
Reference in New Issue
Block a user