Work on inserts and updates for address, contact, organization, person, user

This commit is contained in:
2021-06-09 22:04:47 -04:00
parent 3e3466237a
commit 264fced5a6
4 changed files with 180 additions and 12 deletions

View File

@@ -56,3 +56,20 @@ def load_address_obj(address_id:int|str) -> Address_Base|bool:
return address_obj return address_obj
# ### END ### API Address Methods ### load_address_obj() ### # ### END ### API Address Methods ### load_address_obj() ###
# ### BEGIN ### API Address Methods ### update_address_obj() ###
def update_address_obj(address_obj_update:Address_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
log.debug(address_obj_update)
if address_obj_up_result = update_address_obj(address_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(address_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(address_obj_up_result)
return False

View File

@@ -85,3 +85,40 @@ def load_contact_obj(contact_id:int|str, inc_address:bool=False) -> Contact_Base
return contact_obj return contact_obj
# ### END ### API Contact Methods ### load_contact_obj() ### # ### END ### API Contact Methods ### load_contact_obj() ###
# ### BEGIN ### API Contact Methods ### update_contact_obj() ###
def update_contact_obj(contact_obj_update:Contact_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if address_obj_update := contact_obj_update.address:
log.debug(address_obj_update)
if address_obj_up_result := update_address_obj(address_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(address_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(address_obj_up_result)
return False
else:
if address_obj_in_result := insert_address_obj(address_obj_insert):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(address_obj_in_result)c
return True # NOTE: This needs to return the new address ID
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(address_obj_in_result)
return False
contact_obj_update.pop('address')
log.debug(contact_obj_update)
if contact_obj_up_result = update_contact_obj(contact_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_up_result)
return False

View File

@@ -8,7 +8,7 @@ from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_updat
from app.lib_general import log, logging from app.lib_general import log, logging
from app.methods.address_methods import load_address_obj from app.methods.address_methods import load_address_obj
from app.methods.contact_methods import create_contact_obj, load_contact_obj from app.methods.contact_methods import create_contact_obj, load_contact_obj, update_contact_obj
from app.methods.organization_methods import load_organization_obj from app.methods.organization_methods import load_organization_obj
from app.methods.user_methods import load_user_obj from app.methods.user_methods import load_user_obj
@@ -130,4 +130,81 @@ def load_person_obj(
# ### BEGIN ### API Person Methods ### update_person_obj() ### # ### BEGIN ### API Person Methods ### update_person_obj() ###
def update_person_obj(person_obj_update:Person_Base): def update_person_obj(person_obj_update:Person_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if contact_obj_update := person_obj_update.contact:
log.debug(contact_obj_update)
if contact_obj_up_result := update_contact_obj(contact_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_up_result)
return False
else:
if contact_obj_in_result := insert_contact_obj(contact_obj_insert):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_in_result)
return True # NOTE: This needs to return the new contact ID
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_in_result)
return False
# if contact_obj_in_result := sql_insert(data=contact_obj_update, table_name='contact', rm_id_random=True, id_random_length=8): pass
# else:
# return False
if organization_obj_update := person_obj_update.organization:
log.debug(organization_obj_update)
if organization_obj_up_result := update_organization_obj(organization_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(organization_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(organization_obj_up_result)
return False
else:
if organization_obj_in_result := insert_organization_obj(organization_obj_insert):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(organization_obj_in_result)
return True # NOTE: This needs to return the new organization ID
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(organization_obj_in_result)
return False
if user_obj_update := person_obj_update.user:
log.debug(user_obj_update)
if user_obj_up_result := update_user_obj(user_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_up_result)
return False
else:
if user_obj_in_result := insert_user_obj(user_obj_insert):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_in_result)
return True # NOTE: This needs to return the new user ID
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_in_result)
return False
person_obj_update.pop('contact')
person_obj_update.pop('organization')
person_obj_update.pop('user')
log.debug(person_obj_update)
if person_obj_up_result = update_person_obj(person_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(person_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(person_obj_up_result)
return False

View File

@@ -7,7 +7,7 @@ from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, v
from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update
from app.lib_general import log, logging from app.lib_general import log, logging
from app.methods.contact_methods import load_contact_obj from app.methods.user_methods import load_user_obj
from app.methods.organization_methods import load_organization_obj from app.methods.organization_methods import load_organization_obj
#from app.methods.person_methods import load_person_obj #from app.methods.person_methods import load_person_obj
@@ -70,7 +70,7 @@ def create_user_obj(user_obj_new:User_New_Base) -> int|bool:
# ### BEGIN ### API User Methods ### load_user_obj() ### # ### BEGIN ### API User Methods ### load_user_obj() ###
def load_user_obj(user_id:int|str, inc_roles:bool=False, inc_contact:bool=False, inc_organization:bool=False, inc_person:bool=False) -> User_Out_Base|bool: def load_user_obj(user_id:int|str, inc_roles:bool=False, inc_user:bool=False, inc_organization:bool=False, inc_person:bool=False) -> User_Out_Base|bool:
#log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL #log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
@@ -100,16 +100,16 @@ def load_user_obj(user_id:int|str, inc_roles:bool=False, inc_contact:bool=False,
user_rec['role_list'] = None user_rec['role_list'] = None
user_obj.role_list = None user_obj.role_list = None
if inc_contact: if inc_user:
contact_id = user_rec.get('contact_id', None) user_id = user_rec.get('user_id', None)
if contact_obj_result := load_contact_obj(contact_id=contact_id): if user_obj_result := load_user_obj(user_id=user_id):
contact_obj = contact_obj_result user_obj = user_obj_result
user_rec['contact'] = contact_obj user_rec['user'] = user_obj
log.debug(user_rec) log.debug(user_rec)
user_obj.contact = contact_obj user_obj.user = user_obj
else: else:
user_rec['contact'] = None user_rec['user'] = None
user_obj.contact = None user_obj.user = None
if inc_organization: if inc_organization:
organization_id = user_rec.get('organization_id', None) organization_id = user_rec.get('organization_id', None)
@@ -135,3 +135,40 @@ def load_user_obj(user_id:int|str, inc_roles:bool=False, inc_contact:bool=False,
return user_obj return user_obj
# ### END ### API User Methods ### load_user_obj() ### # ### END ### API User Methods ### load_user_obj() ###
# ### BEGIN ### API User Methods ### update_user_obj() ###
def update_user_obj(user_obj_update:User_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if contact_obj_update := user_obj_update.contact:
log.debug(contact_obj_update)
if contact_obj_up_result := update_contact_obj(contact_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_up_result)
return False
else:
if contact_obj_in_result := insert_contact_obj(contact_obj_insert):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_in_result)c
return True # NOTE: This needs to return the new contact ID
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_obj_in_result)
return False
user_obj_update.pop('contact')
log.debug(user_obj_update)
if user_obj_up_result = update_user_obj(user_obj_update):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_up_result)
return True
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_obj_up_result)
return False