Work on better way to update objects. A lot of work!

This commit is contained in:
Scott Idem
2021-06-10 17:03:12 -04:00
parent b8da9d99eb
commit 717db418f9
14 changed files with 664 additions and 32 deletions

View File

@@ -8,8 +8,8 @@ from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_updat
from app.lib_general import log, logging
from app.methods.event_session_methods import load_event_session_obj
from app.methods.person_methods import load_person_obj
from app.methods.user_methods import load_user_obj
from app.methods.person_methods import create_person_obj, load_person_obj, update_person_obj
from app.methods.user_methods import create_user_obj, load_user_obj, update_user_obj
from app.models.event_models import Event_Base, Event_Cfg_Base
@@ -192,4 +192,90 @@ def load_event_cfg_obj(
else: return False
return event_cfg_obj
# ### END ### API Event Methods ### load_event_cfg_obj() ###
# ### END ### API Event Methods ### load_event_cfg_obj() ###
# ### BEGIN ### API Event Methods ### update_event_obj() ###
def update_event_obj(
event_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value.
event_obj_up: Event_Base,
create_missing_obj: bool = False,
) -> 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
event_obj_up.id = event_id
log.debug(event_obj_up)
# log.debug(event_obj_up.dict(by_alias=True, exclude_unset=True))
log.debug(event_obj_up.dict(by_alias=False, exclude_unset=True))
# log.debug(event_obj_up.dict(by_alias=False, exclude_unset=False))
if event_obj_up.poc_person_id and event_obj_up.poc_person:
poc_person_id = event_obj_up.poc_person_id
poc_person_obj_up = event_obj_up.poc_person
log.debug(poc_person_id)
log.debug(poc_person_obj_up)
if poc_person_obj_up_result := update_person_obj(
poc_person_id=poc_person_id,
poc_person_obj_up=poc_person_obj_up,
create_missing_obj=create_missing_obj,
):
log.debug(poc_person_obj_up_result)
else:
log.debug(poc_person_obj_up_result)
return False
elif event_obj_up.poc_person and not event_obj_up.poc_person.id:
# NOTE: This will blindly create a new person even if there was one associated but the event.poc_person_id was not found.
poc_person_obj_in = event_obj_up.poc_person
log.debug(poc_person_obj_in)
if poc_person_obj_in_result := create_person_obj(person_obj_new=poc_person_obj_in):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(poc_person_obj_in_result)
event_obj_up.poc_person_id = poc_person_obj_in_result
else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(poc_person_obj_in_result)
return False
if event_obj_up.user_id and event_obj_up.user:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
user_id = event_obj_up.user_id
user_obj_up = event_obj_up.user
log.debug(user_id)
log.debug(user_obj_up)
if user_obj_up_result := update_user_obj(
user_id=user_id,
user_obj_up=user_obj_up,
create_missing_obj=create_missing_obj,
):
log.debug(user_obj_up_result)
else:
log.debug(user_obj_up_result)
return False
elif event_obj_up.user and not event_obj_up.user.id:
# NOTE: This will blindly create a new user even if there was one associated but the event.user_id was not found.
user_obj_in = event_obj_up.user
log.debug(user_obj_in)
if user_obj_in_result := create_user_obj(user_obj_new=user_obj_in):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_in_result)
event_obj_up.user_id = user_obj_in_result
else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_in_result)
return False
event_dict_up = event_obj_up.dict(by_alias=False, exclude_unset=True, exclude={'event_abstract_list', 'event_badge', 'event_exhibit_list', 'event_file_list', 'event_location_list', 'event_presentation_list', 'event_presenter_list', 'event_registration', 'event_session', 'event_track', 'person', 'user'})
log.debug(event_dict_up)
if event_obj_up_result := sql_update(data=event_dict_up, table_name='event', rm_id_random=True):
log.debug(event_obj_up_result)
return True
else:
log.debug(event_obj_up_result)
return False
# ### END ### API Event Methods ### update_event_obj() ###

View File

@@ -16,8 +16,8 @@ from app.lib_general import log, logging
# from app.methods.event_registration_methods import load_event_registration_obj
# from app.methods.event_session_methods import load_event_session_obj
# from app.methods.event_track_methods import load_event_track_obj
from app.methods.person_methods import load_person_obj
from app.methods.user_methods import load_user_obj
from app.methods.person_methods import create_person_obj, load_person_obj, update_person_obj
from app.methods.user_methods import create_user_obj, load_user_obj, update_user_obj
from app.models.event_person_models import Event_Person_New_Base, Event_Person_Base
@@ -129,4 +129,90 @@ def load_event_person_obj(
event_person_obj.user = None
return event_person_obj
# ### END ### API Event Person Methods ### load_event_person_obj() ###
# ### END ### API Event Person Methods ### load_event_person_obj() ###
# ### BEGIN ### API Event Person Methods ### update_event_person_obj() ###
def update_event_person_obj(
event_person_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value.
event_person_obj_up: Event_Person_Base,
create_missing_obj: bool = False,
) -> bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
else: return False
event_person_obj_up.id = event_person_id
log.debug(event_person_obj_up)
# log.debug(event_person_obj_up.dict(by_alias=True, exclude_unset=True))
log.debug(event_person_obj_up.dict(by_alias=False, exclude_unset=True))
# log.debug(event_person_obj_up.dict(by_alias=False, exclude_unset=False))
if event_person_obj_up.person_id and event_person_obj_up.person:
person_id = event_person_obj_up.person_id
person_obj_up = event_person_obj_up.person
log.debug(person_id)
log.debug(person_obj_up)
if person_obj_up_result := update_person_obj(
person_id=person_id,
person_obj_up=person_obj_up,
create_missing_obj=create_missing_obj,
):
log.debug(person_obj_up_result)
else:
log.debug(person_obj_up_result)
return False
elif event_person_obj_up.person and not event_person_obj_up.person.id:
# NOTE: This will blindly create a new person even if there was one associated but the event_person.person_id was not found.
person_obj_in = event_person_obj_up.person
log.debug(person_obj_in)
if person_obj_in_result := create_person_obj(person_obj_new=person_obj_in):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(person_obj_in_result)
event_person_obj_up.person_id = person_obj_in_result
else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(person_obj_in_result)
return False
if event_person_obj_up.user_id and event_person_obj_up.user:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
user_id = event_person_obj_up.user_id
user_obj_up = event_person_obj_up.user
log.debug(user_id)
log.debug(user_obj_up)
if user_obj_up_result := update_user_obj(
user_id=user_id,
user_obj_up=user_obj_up,
create_missing_obj=create_missing_obj,
):
log.debug(user_obj_up_result)
else:
log.debug(user_obj_up_result)
return False
elif event_person_obj_up.user and not event_person_obj_up.user.id:
# NOTE: This will blindly create a new user even if there was one associated but the event_person.user_id was not found.
user_obj_in = event_person_obj_up.user
log.debug(user_obj_in)
if user_obj_in_result := create_user_obj(user_obj_new=user_obj_in):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_in_result)
event_person_obj_up.user_id = user_obj_in_result
else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_in_result)
return False
event_person_dict_up = event_person_obj_up.dict(by_alias=False, exclude_unset=True, exclude={'event_abstract_list', 'event_badge', 'event_exhibit_list', 'event_file_list', 'event_location_list', 'event_presentation_list', 'event_presenter_list', 'event_registration', 'event_session', 'event_track', 'person', 'user'})
log.debug(event_person_dict_up)
if event_person_obj_up_result := sql_update(data=event_person_dict_up, table_name='event_person', rm_id_random=True):
log.debug(event_person_obj_up_result)
return True
else:
log.debug(event_person_obj_up_result)
return False
# ### END ### API Event Person Methods ### update_event_person_obj() ###

View File

@@ -12,6 +12,7 @@ from app.lib_general import log, logging
# from app.methods.event_location_methods import load_event_location_obj
# from app.methods.event_presentation_methods import load_event_presentation_obj
from app.methods.event_presenter_methods import load_event_presenter_obj
# from app.methods.event_session_methods import create_event_session_obj, load_event_session_obj, update_event_session_obj
# from app.methods.person_methods import load_person_obj
# from app.methods.user_methods import load_user_obj
@@ -137,4 +138,63 @@ def load_event_presentation_obj(
else:
return False
return event_presentation_obj
return event_presentation_obj
# ### BEGIN ### API Event Presentation Methods ### update_event_presentation_obj() ###
def update_event_presentation_obj(
event_presentation_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value.
event_presentation_obj_up: Event_Presentation_Base,
create_missing_obj: bool = False,
) -> bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_presentation_id := redis_lookup_id_random(record_id_random=event_presentation_id, table_name='event_presentation'): pass
else: return False
event_presentation_obj_up.id = event_presentation_id
log.debug(event_presentation_obj_up)
# log.debug(event_presentation_obj_up.dict(by_alias=True, exclude_unset=True))
log.debug(event_presentation_obj_up.dict(by_alias=False, exclude_unset=True))
# log.debug(event_presentation_obj_up.dict(by_alias=False, exclude_unset=False))
# if event_presentation_obj_up.event_session_id and event_presentation_obj_up.event_session:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# event_session_id = event_presentation_obj_up.event_session_id
# event_session_obj_up = event_presentation_obj_up.event_session
# log.debug(event_session_id)
# log.debug(event_session_obj_up)
# if event_session_obj_up_result := update_event_session_obj(
# event_session_id=event_session_id,
# event_session_obj_up=event_session_obj_up,
# create_missing_obj=create_missing_obj,
# ):
# log.debug(event_session_obj_up_result)
# else:
# log.debug(event_session_obj_up_result)
# return False
# elif event_presentation_obj_up.event_session and not event_presentation_obj_up.event_session.id:
# # NOTE: This will blindly create a new event_session even if there was one associated but the event_presentation.event_session_id was not found.
# event_session_obj_in = event_presentation_obj_up.event_session
# log.debug(event_session_obj_in)
# if event_session_obj_in_result := create_event_session_obj(event_session_obj_new=event_session_obj_in):
# # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(event_session_obj_in_result)
# event_presentation_obj_up.event_session_id = event_session_obj_in_result
# else:
# # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(event_session_obj_in_result)
# return False
event_presentation_dict_up = event_presentation_obj_up.dict(by_alias=False, exclude_unset=True, exclude={'event_abstract', 'event_abstract_list', 'event_file_list', 'event_location', 'event_presenter_list', 'event_session', 'event_track'})
log.debug(event_presentation_dict_up)
if event_presentation_obj_up_result := sql_update(data=event_presentation_dict_up, table_name='event_presentation', rm_id_random=True):
log.debug(event_presentation_obj_up_result)
return True
else:
log.debug(event_presentation_obj_up_result)
return False
# ### END ### API Presentation Methods ### update_event_presentation_obj() ###

View File

@@ -8,8 +8,9 @@ from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_updat
from app.lib_general import log, logging
# from app.methods.event_file_methods import load_event_file_obj
from app.methods.event_person_methods import load_event_person_obj
# from app.methods.event_presenter_methods import load_event_presenter_obj
from app.methods.event_person_methods import create_event_person_obj, load_event_person_obj, update_event_person_obj
# from app.methods.event_presentation_methods import create_event_presentation_obj, update_event_presentation_obj
# from app.methods.event_session_methods import create_event_session_obj, load_event_session_obj, update_event_session_obj
# from app.methods.person_methods import load_person_obj
# from app.methods.user_methods import load_user_obj
@@ -106,4 +107,120 @@ def load_event_presenter_obj(
else:
return False
return event_presenter_obj
return event_presenter_obj
# ### END ### API Event Presenter Methods ### load_event_presenter_obj() ###
# ### BEGIN ### API Event Presenter Methods ### update_event_presenter_obj() ###
def update_event_presenter_obj(
event_presenter_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value.
event_presenter_obj_up: Event_Presenter_Base,
create_missing_obj: bool = False,
) -> bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_presenter_id := redis_lookup_id_random(record_id_random=event_presenter_id, table_name='event_presenter'): pass
else: return False
event_presenter_obj_up.id = event_presenter_id
log.debug(event_presenter_obj_up)
# log.debug(event_presenter_obj_up.dict(by_alias=True, exclude_unset=True))
log.debug(event_presenter_obj_up.dict(by_alias=False, exclude_unset=True))
# log.debug(event_presenter_obj_up.dict(by_alias=False, exclude_unset=False))
if event_presenter_obj_up.event_person_id and event_presenter_obj_up.event_person:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
event_person_id = event_presenter_obj_up.event_person_id
event_person_obj_up = event_presenter_obj_up.event_person
log.debug(event_person_id)
log.debug(event_person_obj_up)
if event_person_obj_up_result := update_event_person_obj(
event_person_id=event_person_id,
event_person_obj_up=event_person_obj_up,
create_missing_obj=create_missing_obj,
):
log.debug(event_person_obj_up_result)
else:
log.debug(event_person_obj_up_result)
return False
elif event_presenter_obj_up.event_person and not event_presenter_obj_up.event_person.id:
# NOTE: This will blindly create a new event_person even if there was one associated but the event_presenter.event_person_id was not found.
event_person_obj_in = event_presenter_obj_up.event_person
log.debug(event_person_obj_in)
if event_person_obj_in_result := create_event_person_obj(event_person_obj_new=event_person_obj_in):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_person_obj_in_result)
event_presenter_obj_up.event_person_id = event_person_obj_in_result
else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_person_obj_in_result)
return False
# if event_presenter_obj_up.event_presentation_id and event_presenter_obj_up.event_presentation:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# event_presentation_id = event_presenter_obj_up.event_presentation_id
# event_presentation_obj_up = event_presenter_obj_up.event_presentation
# log.debug(event_presentation_id)
# log.debug(event_presentation_obj_up)
# if event_presentation_obj_up_result := update_event_presentation_obj(
# event_presentation_id=event_presentation_id,
# event_presentation_obj_up=event_presentation_obj_up,
# create_missing_obj=create_missing_obj,
# ):
# log.debug(event_presentation_obj_up_result)
# else:
# log.debug(event_presentation_obj_up_result)
# return False
# elif event_presenter_obj_up.event_presentation and not event_presenter_obj_up.event_presentation.id:
# # NOTE: This will blindly create a new event_presentation even if there was one associated but the event_presenter.event_presentation_id was not found.
# event_presentation_obj_in = event_presenter_obj_up.event_presentation
# log.debug(event_presentation_obj_in)
# if event_presentation_obj_in_result := create_event_presentation_obj(event_presentation_obj_new=event_presentation_obj_in):
# # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(event_presentation_obj_in_result)
# event_presenter_obj_up.event_presentation_id = event_presentation_obj_in_result
# else:
# # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(event_presentation_obj_in_result)
# return False
# if event_presenter_obj_up.event_session_id and event_presenter_obj_up.event_session:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# event_session_id = event_presenter_obj_up.event_session_id
# event_session_obj_up = event_presenter_obj_up.event_session
# log.debug(event_session_id)
# log.debug(event_session_obj_up)
# if event_session_obj_up_result := update_event_session_obj(
# event_session_id=event_session_id,
# event_session_obj_up=event_session_obj_up,
# create_missing_obj=create_missing_obj,
# ):
# log.debug(event_session_obj_up_result)
# else:
# log.debug(event_session_obj_up_result)
# return False
# elif event_presenter_obj_up.event_session and not event_presenter_obj_up.event_session.id:
# # NOTE: This will blindly create a new event_session even if there was one associated but the event_presenter.event_session_id was not found.
# event_session_obj_in = event_presenter_obj_up.event_session
# log.debug(event_session_obj_in)
# if event_session_obj_in_result := create_event_session_obj(event_session_obj_new=event_session_obj_in):
# # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(event_session_obj_in_result)
# event_presenter_obj_up.event_session_id = event_session_obj_in_result
# else:
# # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(event_session_obj_in_result)
# return False
event_presenter_dict_up = event_presenter_obj_up.dict(by_alias=False, exclude_unset=True, exclude={'event_abstract', 'event_abstract_list', 'event_file_list', 'event_person', 'event_presentation', 'event_session', 'person', 'user'})
log.debug(event_presenter_dict_up)
if event_presenter_obj_up_result := sql_update(data=event_presenter_dict_up, table_name='event_presenter', rm_id_random=True):
log.debug(event_presenter_obj_up_result)
return True
else:
log.debug(event_presenter_obj_up_result)
return False
# ### END ### API Presenter Methods ### update_event_presenter_obj() ###

View File

@@ -10,7 +10,7 @@ from app.lib_general import log, logging
# from app.methods.event_methods import load_event_obj
# from app.methods.event_file_methods import load_event_file_obj
from app.methods.event_location_methods import load_event_location_obj
from app.methods.event_person_methods import load_event_person_obj
from app.methods.event_person_methods import load_event_person_obj, update_event_person_obj
from app.methods.event_presentation_methods import load_event_presentation_obj
# from app.methods.event_presenter_methods import load_event_presenter_obj
from app.methods.person_methods import load_person_obj
@@ -181,4 +181,93 @@ def load_event_session_obj(
event_session_obj.poc_event_person = poc_event_person_obj
log.debug(event_session_obj)
return event_session_obj
return event_session_obj
# ### BEGIN ### API Event Session Methods ### update_event_session_obj() ###
def update_event_session_obj(
event_session_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value.
event_session_obj_up: Event_Session_Base,
create_missing_obj: bool = False,
) -> bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_session_id := redis_lookup_id_random(record_id_random=event_session_id, table_name='event_session'): pass
else: return False
event_session_obj_up.id = event_session_id
log.debug(event_session_obj_up)
# log.debug(event_session_obj_up.dict(by_alias=True, exclude_unset=True))
log.debug(event_session_obj_up.dict(by_alias=False, exclude_unset=True))
# log.debug(event_session_obj_up.dict(by_alias=False, exclude_unset=False))
if event_session_obj_up.poc_event_person_id and event_session_obj_up.poc_event_person:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
poc_event_person_id = event_session_obj_up.poc_event_person_id
poc_event_person_obj_up = event_session_obj_up.poc_event_person
log.debug(poc_event_person_id)
log.debug(poc_event_person_obj_up)
if poc_event_person_obj_up_result := update_event_person_obj(
event_person_id=poc_event_person_id,
event_person_obj_up=poc_event_person_obj_up,
create_missing_obj=create_missing_obj,
):
log.debug(poc_event_person_obj_up_result)
else:
log.debug(poc_event_person_obj_up_result)
return False
elif event_session_obj_up.poc_event_person and not event_session_obj_up.poc_event_person.id:
# NOTE: This will blindly create a new poc_event_person even if there was one associated but the event_session.poc_event_person_id was not found.
poc_event_person_obj_in = event_session_obj_up.poc_event_person
log.debug(poc_event_person_obj_in)
if poc_event_person_obj_in_result := create_event_person_obj(poc_event_person_idevent_person_obj_new=poc_event_person_obj_in):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(poc_event_person_obj_in_result)
event_session_obj_up.poc_event_person_id = poc_event_person_obj_in_result
else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(poc_event_person_obj_in_result)
return False
if event_session_obj_up.event_presentation_id and event_session_obj_up.event_presentation:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
event_presentation_id = event_session_obj_up.event_presentation_id
event_presentation_obj_up = event_session_obj_up.event_presentation
log.debug(event_presentation_id)
log.debug(event_presentation_obj_up)
if event_presentation_obj_up_result := update_event_presentation_obj(
event_presentation_id=event_presentation_id,
event_presentation_obj_up=event_presentation_obj_up,
create_missing_obj=create_missing_obj,
):
log.debug(event_presentation_obj_up_result)
else:
log.debug(event_presentation_obj_up_result)
return False
elif event_session_obj_up.event_presentation and not event_session_obj_up.event_presentation.id:
# NOTE: This will blindly create a new event_presentation even if there was one associated but the event_session.event_presentation_id was not found.
event_presentation_obj_in = event_session_obj_up.event_presentation
log.debug(event_presentation_obj_in)
if event_presentation_obj_in_result := create_event_presentation_obj(event_presentation_obj_new=event_presentation_obj_in):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presentation_obj_in_result)
event_session_obj_up.event_presentation_id = event_presentation_obj_in_result
else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presentation_obj_in_result)
return False
event_session_dict_up = event_session_obj_up.dict(by_alias=False, exclude_unset=True, exclude={'event_abstract', 'event_abstract_list', 'event_file_list', 'event_person', 'event_presentation', 'event_session', 'person', 'user'})
log.debug(event_session_dict_up)
if event_session_obj_up_result := sql_update(data=event_session_dict_up, table_name='event_session', rm_id_random=True):
log.debug(event_session_obj_up_result)
return True
else:
log.debug(event_session_obj_up_result)
return False
# ### END ### API Session Methods ### update_event_session_obj() ###

View File

@@ -66,12 +66,13 @@ class Contact_Base(BaseModel):
sort: Optional[int]
group: Optional[str]
#account: Optional[Account_Base] = Account_Base()
address: Optional[Address_Base] = Address_Base()
created_on: Optional[datetime.datetime] = None
updated_on: Optional[datetime.datetime] = None
# Including other related objects
#account: Optional[Account_Base]
address: Optional[Address_Base]
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
#@validator('contact_id_random', always=True)

View File

@@ -75,8 +75,8 @@ class Event_Presentation_Base(BaseModel):
event_abstract_list: Optional[list] # Optional[Event_Abstract_Base] Is more than one abstract allowed per presenter?
#event_device_list: Optional[list] # Optional[Event_Device_Base]
event_file_list: Optional[list] # Optional[Event_File_Base]
event_presenter_list: Optional[list] # Optional[Event_Presenter_Base]
#event_location: Optional[Event_Location_Base]
event_presenter_list: Optional[list] # Optional[Event_Presenter_Base]
event_session: Optional[Event_Session_Base]
#event_track: Optional[Event_Track_Base]

View File

@@ -63,10 +63,11 @@ class Organization_Base(BaseModel):
created_on: Optional[datetime.datetime] = None
updated_on: Optional[datetime.datetime] = None
#account: Optional[Account_Base] = Account_Base()
contact: Optional[Contact_Base] = Contact_Base()
#person: Optional[Person_Base] = Person_Base()
#user: Optional[User_Base] = User_Base()
# Including other related objects
#account: Optional[Account_Base]
contact: Optional[Contact_Base]
#person: Optional[Person_Base]
#user: Optional[User_Base]
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)

View File

@@ -255,16 +255,17 @@ class User_Base(BaseModel):
logged_in_on: Optional[datetime.datetime] = None
last_activity_on: Optional[datetime.datetime] = None
#account: Optional[Account_Base]# = Account_Base()
contact: Optional[Contact_Base]# = Contact_Base()
#organization: Optional[Organization_Base]# = Organization_Base()
#person: Optional[Person_Base]# = Person_Base()
role_list: Optional[list] = []# = User_Role_Base()
notes: Optional[str]
created_on: Optional[datetime.datetime] = None
updated_on: Optional[datetime.datetime] = None
# Including other related objects
#account: Optional[Account_Base]
contact: Optional[Contact_Base]
#organization: Optional[Organization_Base]
#person: Optional[Person_Base]
role_list: Optional[list] = [] # User_Role_Base()
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
#@validator('user_id_random', always=True)

View File

@@ -9,7 +9,7 @@ from app.db_sql import *
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_methods import load_event_obj
from app.methods.event_methods import load_event_obj, update_event_obj
from app.models.event_models import Event_Base
from app.models.response_models import *
@@ -68,6 +68,45 @@ async def patch_event_obj(
return result
# ### BEGIN ### API Event ### patch_event_json() ###
@router.patch('/{event_id}/json', response_model=Resp_Body_Base)
async def patch_event_json(
event_obj: Event_Base,
event_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
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='event'): pass
else:
return mk_resp(data=None, status_code=404)
if event_obj_up_result := update_event_obj(
event_id=event_id,
event_obj_up=event_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_obj_up_result)
if return_obj:
event_obj = load_event_obj(event_id=event_id)
event_dict = event_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_dict)
else:
return mk_resp(data=event_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event ### patch_event_json() ###
# @router.get('/list', response_model=Resp_Body_Base)
# async def get_event_obj_li(
# for_obj_type: Optional[str] = Query(None, min_length=2, max_length=50),

View File

@@ -1,17 +1,15 @@
import datetime
#from datetime import datetime, time, timedelta
from fastapi import APIRouter, Body, Depends, Header, HTTPException, Query, status
from pydantic import BaseModel, EmailStr, Field
from typing import Dict, List, Optional, Set, Union
from app.lib_general import log, logging
#from ..log import *
from app.config import settings
from app.db_sql import *
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_person_methods import create_event_person_obj, load_event_person_obj
from app.methods.event_person_methods import create_event_person_obj, load_event_person_obj, update_event_person_obj
from app.methods.person_methods import create_person_obj, load_person_obj
from app.methods.user_methods import create_user_obj, load_user_obj
@@ -170,6 +168,45 @@ async def post_event_person_new(
# ### BEGIN ### API Event Person Route ### post_event_person_new() ###
# ### BEGIN ### API Event Person ### patch_event_person_json() ###
@router.patch('/{event_person_id}/json', response_model=Resp_Body_Base)
async def patch_event_person_json(
event_person_obj: Event_Person_Base,
event_person_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
else:
return mk_resp(data=None, status_code=404)
if event_person_obj_up_result := update_event_person_obj(
event_person_id=event_person_id,
event_person_obj_up=event_person_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_person_obj_up_result)
if return_obj:
event_person_obj = load_event_person_obj(event_person_id=event_person_id)
event_person_dict = event_person_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_person_dict)
else:
return mk_resp(data=event_person_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Person ### patch_event_person_json() ###
# ### BEGIN ### API Event Person ### get_event_person_obj() ###
# Working well as of 2021-06-04. Using as a template for other routes.
@router.get('/{event_person_id}', response_model=Resp_Body_Base)

View File

@@ -70,6 +70,43 @@ async def patch_event_presentation_obj(
return result
# ### BEGIN ### API Event Presentation ### patch_event_presentation_json() ###
@router.patch('/{event_presentation_id}/json', response_model=Resp_Body_Base)
async def patch_event_presentation_json(
event_presentation_obj: Event_Presentation_Base,
event_presentation_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_presentation_id := redis_lookup_id_random(record_id_random=event_presentation_id, table_name='event_presentation'): pass
else:
return mk_resp(data=None, status_code=404)
if event_presentation_obj_up_result := update_event_presentation_obj(
event_presentation_id=event_presentation_id,
event_presentation_obj_up=event_presentation_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_presentation_obj_up_result)
if return_obj:
event_presentation_obj = load_event_presentation_obj(event_presentation_id=event_presentation_id)
event_presentation_dict = event_presentation_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_presentation_dict)
else:
return mk_resp(data=event_presentation_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Presentation ### patch_event_presentation_json() ###
# ### BEGIN ### API Event Presentation ### get_event_presentation_obj() ###

View File

@@ -11,7 +11,7 @@ from app.db_sql import *
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_presenter_methods import load_event_presenter_obj
from app.methods.event_presenter_methods import load_event_presenter_obj, update_event_presenter_obj
from app.models.event_presenter_models import Event_Presenter_Base
from app.models.response_models import *
@@ -70,6 +70,45 @@ async def patch_event_presenter_obj(
return result
# ### BEGIN ### API Event Presenter ### patch_event_presenter_json() ###
@router.patch('/{event_presenter_id}/json', response_model=Resp_Body_Base)
async def patch_event_presenter_json(
event_presenter_obj: Event_Presenter_Base,
event_presenter_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_presenter_id := redis_lookup_id_random(record_id_random=event_presenter_id, table_name='event_presenter'): pass
else:
return mk_resp(data=None, status_code=404)
if event_presenter_obj_up_result := update_event_presenter_obj(
event_presenter_id=event_presenter_id,
event_presenter_obj_up=event_presenter_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_presenter_obj_up_result)
if return_obj:
event_presenter_obj = load_event_presenter_obj(event_presenter_id=event_presenter_id)
event_presenter_dict = event_presenter_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_presenter_dict)
else:
return mk_resp(data=event_presenter_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Presenter ### patch_event_presenter_json() ###
@router.get('/list', response_model=Resp_Body_Base)
async def get_event_presenter_obj_li(
for_obj_type: Optional[str] = Query(None, min_length=2, max_length=50), # account
@@ -150,7 +189,7 @@ async def get_event_presenter_obj_li(
event_presenter_id=event_presenter_id,
enabled=enabled,
inc_event_abstract_list=inc_event_abstract_list,
inc_event_badge_list=inc_event_badge,
inc_event_badge=inc_event_badge,
inc_event_device_list=inc_event_device_list,
inc_event_file_list=inc_event_file_list,
inc_event_person=inc_event_person,

View File

@@ -70,6 +70,45 @@ async def patch_event_session_obj(
return result
# ### BEGIN ### API Event Session ### patch_event_session_json() ###
@router.patch('/{event_session_id}/json', response_model=Resp_Body_Base)
async def patch_event_session_json(
event_session_obj: Event_Session_Base,
event_session_id: str = Query(..., min_length=1, max_length=22),
create_missing_obj: bool = False,
x_account_id: Optional[str] = Header(..., ),
return_obj: Optional[bool] = True,
by_alias: Optional[bool] = True,
include: Optional[list] = [],
exclude: Optional[list] = [],
exclude_unset: Optional[bool] = True,
exclude_none: Optional[bool] = True,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_session_id := redis_lookup_id_random(record_id_random=event_session_id, table_name='event_session'): pass
else:
return mk_resp(data=None, status_code=404)
if event_session_obj_up_result := update_event_session_obj(
event_session_id=event_session_id,
event_session_obj_up=event_session_obj,
create_missing_obj=create_missing_obj,
):
log.debug(event_session_obj_up_result)
if return_obj:
event_session_obj = load_event_session_obj(event_session_id=event_session_id)
event_session_dict = event_session_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset)
return mk_resp(data=event_session_dict)
else:
return mk_resp(data=event_session_obj_up_result)
else:
return mk_resp(data=False, status_code=400) # Bad Request
# ### END ### API Event Session ### patch_event_session_json() ###
# @router.get('/list', response_model=Resp_Body_Base)
# async def get_event_session_obj_li(
# for_obj_type: Optional[str] = Query(None, min_length=2, max_length=50),