Working on contact and address create update v4 along with person and user creation and update.
This commit is contained in:
@@ -8,7 +8,7 @@ from app.db_sql import redis_lookup_id_random, sql_insert, sql_insert_or_update,
|
|||||||
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, create_update_contact_obj, load_contact_obj, update_contact_obj
|
from app.methods.contact_methods import create_contact_obj, create_update_contact_obj, create_update_contact_obj_v4, load_contact_obj, update_contact_obj
|
||||||
from app.methods.order_methods import load_order_obj, get_order_rec_list
|
from app.methods.order_methods import load_order_obj, get_order_rec_list
|
||||||
from app.methods.organization_methods import create_update_organization_obj, load_organization_obj, update_organization_obj
|
from app.methods.organization_methods import create_update_organization_obj, load_organization_obj, update_organization_obj
|
||||||
# from app.methods.user_methods import create_user_obj # , load_user_obj, update_user_obj
|
# from app.methods.user_methods import create_user_obj # , load_user_obj, update_user_obj
|
||||||
@@ -382,7 +382,7 @@ def create_person_obj_v3(
|
|||||||
person_obj_new: Person_Base,
|
person_obj_new: Person_Base,
|
||||||
create_sub_obj: bool = False,
|
create_sub_obj: bool = False,
|
||||||
fail_any: bool = True, # Fail if any thing goes wrong for sub objects
|
fail_any: bool = True, # Fail if any thing goes wrong for sub objects
|
||||||
return_dict: bool = False,
|
return_outline: bool = False,
|
||||||
) -> bool|dict|int:
|
) -> bool|dict|int:
|
||||||
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())
|
||||||
@@ -412,77 +412,106 @@ def create_person_obj_v3(
|
|||||||
|
|
||||||
person_id = person_obj_in_result
|
person_id = person_obj_in_result
|
||||||
|
|
||||||
return_dict = {}
|
person_outline = {}
|
||||||
return_dict['person_id'] = None
|
person_outline['person_id'] = None
|
||||||
return_dict['contact_id'] = None
|
person_outline['contact_id'] = None
|
||||||
return_dict['contact'] = {}
|
person_outline['contact'] = {}
|
||||||
return_dict['contact']['address_id'] = None
|
person_outline['contact']['address_id'] = None
|
||||||
return_dict['organization_id'] = None
|
person_outline['organization_id'] = None
|
||||||
return_dict['user_id'] = None
|
person_outline['user_id'] = None
|
||||||
|
|
||||||
if person_obj_new.contact and isinstance(person_obj_new.contact, dict):
|
# NOTE: Use object model version because of better type checking and validations
|
||||||
log.info(f'Contact was found. Create a new Contact and link it to the new Person or update existing Contact. Person ID: {person_id}')
|
if person_obj_new.contact:
|
||||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
person_outline['contact_id'] = None
|
||||||
contact_obj_unknown = person_obj_new.contact
|
contact_obj = person_obj_new.contact
|
||||||
log.debug(contact_obj_unknown)
|
if contact_id := person_obj_new.contact_id: pass
|
||||||
if contact_id := contact_obj_unknown.get('contact_id_random', None):
|
elif contact_id := contact_obj.id: pass
|
||||||
log.warning('Contact ID found. This is not expected, but should be ok.')
|
else: contact_id = None
|
||||||
# from app.methods.contact_methods import update_contact_obj_v3
|
contact_obj.id
|
||||||
if update_contact_obj_result := update_contact_obj(
|
contact_obj.for_type = 'person'
|
||||||
|
contact_obj.for_id = person_id
|
||||||
|
create_update_contact_obj_result = create_update_contact_obj_v4(
|
||||||
|
contact_dict_obj = contact_obj,
|
||||||
contact_id = contact_id,
|
contact_id = contact_id,
|
||||||
contact_obj_up = contact_obj_unknown,
|
|
||||||
create_sub_obj = create_sub_obj,
|
|
||||||
fail_any = fail_any,
|
|
||||||
):
|
|
||||||
contact_id = update_contact_obj_result
|
|
||||||
log.info(f'Contact updated. Contact ID: {contact_id}')
|
|
||||||
else:
|
|
||||||
log.warning(f'Contact not updated. Person ID: {person_id}')
|
|
||||||
log.debug(update_contact_obj_result)
|
|
||||||
contact_id = None
|
|
||||||
if fail_any: return False
|
|
||||||
|
|
||||||
if isinstance(update_contact_obj_result, int):
|
|
||||||
contact_id = update_contact_obj_result
|
|
||||||
log.info(f'Contact updated. Contact ID: {contact_id}')
|
|
||||||
else:
|
|
||||||
log.warning(f'Contact not updated. Person ID: {person_id}')
|
|
||||||
log.debug(update_contact_obj_result)
|
|
||||||
contact_id = None
|
|
||||||
if fail_any: return False
|
|
||||||
else:
|
|
||||||
log.info(f'No Contact ID found.')
|
|
||||||
# from app.methods.contact_methods import create_contact_obj
|
|
||||||
|
|
||||||
contact_obj_unknown = person_obj_new.contact
|
|
||||||
contact_obj_unknown.for_type = 'person'
|
|
||||||
contact_obj_unknown.for_id = person_id
|
|
||||||
|
|
||||||
if create_contact_obj_result := create_contact_obj(
|
|
||||||
account_id = account_id,
|
account_id = account_id,
|
||||||
for_type = 'person',
|
for_type = 'person',
|
||||||
for_id = person_id,
|
for_id = person_id,
|
||||||
contact_obj_new = contact_obj_unknown,
|
|
||||||
create_sub_obj = create_sub_obj,
|
|
||||||
fail_any = fail_any,
|
fail_any = fail_any,
|
||||||
):
|
return_outline = return_outline,
|
||||||
if isinstance(create_contact_obj_result, int):
|
)
|
||||||
contact_id = create_contact_obj_result
|
if isinstance(create_update_contact_obj_result, int):
|
||||||
log.info(f'Contact created. Contact ID: {contact_id}')
|
contact_id = create_update_contact_obj_result
|
||||||
|
elif create_update_contact_obj_result == True: pass
|
||||||
else:
|
else:
|
||||||
log.warning(f'Contact not created. Person ID: {person_id}')
|
log.warning(f'Create or Update failed while trying create_update_contact_obj_v4(): {create_update_contact_obj_result}')
|
||||||
log.debug(create_contact_obj_result)
|
|
||||||
contact_id = None
|
contact_id = None
|
||||||
if fail_any: return False
|
|
||||||
else:
|
person_outline['contact_id'] = contact_id
|
||||||
log.warning(f'Contact not created. Person ID: {person_id}')
|
|
||||||
log.debug(create_contact_obj_result)
|
# NOTE: This is the older pre v4 version
|
||||||
contact_id = None
|
# if person_obj_new.contact and isinstance(person_obj_new.contact, dict):
|
||||||
if fail_any: return False
|
# log.info(f'Contact was found. Create a new Contact and link it to the new Person or update existing Contact. Person ID: {person_id}')
|
||||||
return_dict['contact_id'] = contact_id
|
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
else:
|
# contact_obj_unknown = person_obj_new.contact
|
||||||
log.info('Contact not found or not in a dict.')
|
# log.debug(contact_obj_unknown)
|
||||||
pass
|
# if contact_id := contact_obj_unknown.get('contact_id_random', None):
|
||||||
|
# log.warning('Contact ID found. This is not expected, but should be ok.')
|
||||||
|
# # from app.methods.contact_methods import update_contact_obj_v3
|
||||||
|
# if update_contact_obj_result := update_contact_obj(
|
||||||
|
# contact_id = contact_id,
|
||||||
|
# contact_obj_up = contact_obj_unknown,
|
||||||
|
# create_sub_obj = create_sub_obj,
|
||||||
|
# fail_any = fail_any,
|
||||||
|
# ):
|
||||||
|
# contact_id = update_contact_obj_result
|
||||||
|
# log.info(f'Contact updated. Contact ID: {contact_id}')
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not updated. Person ID: {person_id}')
|
||||||
|
# log.debug(update_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
|
||||||
|
# if isinstance(update_contact_obj_result, int):
|
||||||
|
# contact_id = update_contact_obj_result
|
||||||
|
# log.info(f'Contact updated. Contact ID: {contact_id}')
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not updated. Person ID: {person_id}')
|
||||||
|
# log.debug(update_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
# else:
|
||||||
|
# log.info(f'No Contact ID found.')
|
||||||
|
# # from app.methods.contact_methods import create_contact_obj
|
||||||
|
|
||||||
|
# contact_obj_unknown = person_obj_new.contact
|
||||||
|
# contact_obj_unknown.for_type = 'person'
|
||||||
|
# contact_obj_unknown.for_id = person_id
|
||||||
|
|
||||||
|
# if create_contact_obj_result := create_contact_obj(
|
||||||
|
# account_id = account_id,
|
||||||
|
# for_type = 'person',
|
||||||
|
# for_id = person_id,
|
||||||
|
# contact_obj_new = contact_obj_unknown,
|
||||||
|
# create_sub_obj = create_sub_obj,
|
||||||
|
# fail_any = fail_any,
|
||||||
|
# ):
|
||||||
|
# if isinstance(create_contact_obj_result, int):
|
||||||
|
# contact_id = create_contact_obj_result
|
||||||
|
# log.info(f'Contact created. Contact ID: {contact_id}')
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not created. Person ID: {person_id}')
|
||||||
|
# log.debug(create_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not created. Person ID: {person_id}')
|
||||||
|
# log.debug(create_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
# person_outline['contact_id'] = contact_id
|
||||||
|
# else:
|
||||||
|
# log.info('Contact not found or not in a dict.')
|
||||||
|
# pass
|
||||||
|
|
||||||
# NOTE: This is the older pre v3 version
|
# NOTE: This is the older pre v3 version
|
||||||
# if person_obj_new.contact:
|
# if person_obj_new.contact:
|
||||||
@@ -551,7 +580,7 @@ def create_person_obj_v3(
|
|||||||
log.debug(create_organization_obj_result)
|
log.debug(create_organization_obj_result)
|
||||||
organization_id = None
|
organization_id = None
|
||||||
if fail_any: return False
|
if fail_any: return False
|
||||||
return_dict['organization_id'] = organization_id
|
person_outline['organization_id'] = organization_id
|
||||||
else:
|
else:
|
||||||
log.info('Organization not found or not in a dict.')
|
log.info('Organization not found or not in a dict.')
|
||||||
pass
|
pass
|
||||||
@@ -573,6 +602,20 @@ def create_person_obj_v3(
|
|||||||
):
|
):
|
||||||
user_id = update_user_obj_result
|
user_id = update_user_obj_result
|
||||||
log.info(f'User updated. User ID: {user_id}')
|
log.info(f'User updated. User ID: {user_id}')
|
||||||
|
|
||||||
|
# NOTE: This should not be needed. Updating person just in case!
|
||||||
|
# Need to update the person with the current user_id
|
||||||
|
if user_id := redis_lookup_id_random(record_id_random=user_id, table_name='user'): pass
|
||||||
|
else: return False
|
||||||
|
log.info(f'Need to update the person with the current user_id.')
|
||||||
|
person_dict_up = {}
|
||||||
|
person_dict_up['id'] = person_id
|
||||||
|
person_dict_up['user_id'] = user_id
|
||||||
|
if person_dict_up_result := sql_update(data=person_dict_up, table_name='person'): pass
|
||||||
|
else:
|
||||||
|
log.error(f'Person not updated with current User ID. Person ID: {person_id} User ID: {user_id}')
|
||||||
|
if fail_any: return False
|
||||||
|
log.debug(person_dict_up_result)
|
||||||
else:
|
else:
|
||||||
log.warning(f'User not updated. Person ID: {person_id}')
|
log.warning(f'User not updated. Person ID: {person_id}')
|
||||||
log.debug(update_user_obj_result)
|
log.debug(update_user_obj_result)
|
||||||
@@ -582,6 +625,19 @@ def create_person_obj_v3(
|
|||||||
if isinstance(update_user_obj_result, int):
|
if isinstance(update_user_obj_result, int):
|
||||||
user_id = update_user_obj_result
|
user_id = update_user_obj_result
|
||||||
log.info(f'User updated. User ID: {user_id}')
|
log.info(f'User updated. User ID: {user_id}')
|
||||||
|
|
||||||
|
# Need to update the person with the current user_id
|
||||||
|
if user_id := redis_lookup_id_random(record_id_random=user_id, table_name='user'): pass
|
||||||
|
else: return False
|
||||||
|
log.info(f'Need to update the person with the current user_id.')
|
||||||
|
person_dict_up = {}
|
||||||
|
person_dict_up['id'] = person_id
|
||||||
|
person_dict_up['user_id'] = user_id
|
||||||
|
if person_dict_up_result := sql_update(data=person_dict_up, table_name='person'): pass
|
||||||
|
else:
|
||||||
|
log.error(f'Person not updated with current User ID. Person ID: {person_id} User ID: {user_id}')
|
||||||
|
if fail_any: return False
|
||||||
|
log.debug(person_dict_up_result)
|
||||||
else:
|
else:
|
||||||
log.warning(f'User not updated. Person ID: {person_id}')
|
log.warning(f'User not updated. Person ID: {person_id}')
|
||||||
log.debug(update_user_obj_result)
|
log.debug(update_user_obj_result)
|
||||||
@@ -600,6 +656,17 @@ def create_person_obj_v3(
|
|||||||
if isinstance(create_user_obj_result, int):
|
if isinstance(create_user_obj_result, int):
|
||||||
user_id = create_user_obj_result
|
user_id = create_user_obj_result
|
||||||
log.info(f'User created. User ID: {user_id}')
|
log.info(f'User created. User ID: {user_id}')
|
||||||
|
|
||||||
|
# Need to update the person with the new user_id
|
||||||
|
log.info(f'Need to update the person with the new user_id.')
|
||||||
|
person_dict_up = {}
|
||||||
|
person_dict_up['id'] = person_id
|
||||||
|
person_dict_up['user_id'] = user_id
|
||||||
|
if person_dict_up_result := sql_update(data=person_dict_up, table_name='person'): pass
|
||||||
|
else:
|
||||||
|
log.error(f'Person not updated with new User ID. Person ID: {person_id} User ID: {user_id}')
|
||||||
|
if fail_any: return False
|
||||||
|
log.debug(person_dict_up_result)
|
||||||
else:
|
else:
|
||||||
log.warning(f'User not created. Person ID: {person_id}')
|
log.warning(f'User not created. Person ID: {person_id}')
|
||||||
log.debug(create_user_obj_result)
|
log.debug(create_user_obj_result)
|
||||||
@@ -622,7 +689,7 @@ def create_person_obj_v3(
|
|||||||
if fail_any: return False
|
if fail_any: return False
|
||||||
log.debug(person_obj_up_result)
|
log.debug(person_obj_up_result)
|
||||||
|
|
||||||
return_dict['user_id'] = user_id
|
person_outline['user_id'] = user_id
|
||||||
else:
|
else:
|
||||||
log.info('User not found or not in a dict.')
|
log.info('User not found or not in a dict.')
|
||||||
pass
|
pass
|
||||||
@@ -667,7 +734,7 @@ def update_person_obj_v3(
|
|||||||
person_obj_exist: Person_Base,
|
person_obj_exist: Person_Base,
|
||||||
create_sub_obj: bool = False,
|
create_sub_obj: bool = False,
|
||||||
fail_any: bool = False, # Fail if any thing goes wrong for sub objects
|
fail_any: bool = False, # Fail if any thing goes wrong for sub objects
|
||||||
return_dict: bool = False,
|
return_outline: bool = False,
|
||||||
) -> bool:
|
) -> bool:
|
||||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
log.debug(locals())
|
log.debug(locals())
|
||||||
@@ -703,83 +770,112 @@ def update_person_obj_v3(
|
|||||||
log.debug(person_obj_up_result)
|
log.debug(person_obj_up_result)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return_dict = {}
|
person_outline = {}
|
||||||
return_dict['person_id'] = person_id
|
person_outline['person_id'] = person_id
|
||||||
return_dict['contact_id'] = None
|
person_outline['contact_id'] = None
|
||||||
return_dict['contact'] = {}
|
person_outline['contact'] = {}
|
||||||
return_dict['contact']['address_id'] = None
|
person_outline['contact']['address_id'] = None
|
||||||
return_dict['organization_id'] = None
|
person_outline['organization_id'] = None
|
||||||
return_dict['user_id'] = None
|
person_outline['user_id'] = None
|
||||||
|
|
||||||
|
# NOTE: Use object model version because of better type checking and validations
|
||||||
if person_obj_exist.contact:
|
if person_obj_exist.contact:
|
||||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
person_outline['contact_id'] = None
|
||||||
contact_obj_unknown = person_obj_exist.contact
|
contact_obj = person_obj_exist.contact
|
||||||
log.debug(contact_obj_unknown)
|
if contact_id := person_obj_exist.contact_id: pass
|
||||||
if isinstance(person_obj_exist.contact, dict):
|
elif contact_id := contact_obj.id: pass
|
||||||
contact_id = contact_obj_unknown.get('contact_id_random', None)
|
else: contact_id = None
|
||||||
# try:
|
contact_obj.id
|
||||||
# contact_obj_new = Contact_Base(**contact_obj_new)
|
contact_obj.for_type = 'person'
|
||||||
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
contact_obj.for_id = person_id
|
||||||
# log.debug(contact_obj_new)
|
create_update_contact_obj_result = create_update_contact_obj_v4(
|
||||||
# except ValidationError as e:
|
contact_dict_obj = contact_obj,
|
||||||
# log.error(e.json())
|
|
||||||
# return False
|
|
||||||
else:
|
|
||||||
contact_id = contact_obj_unknown.id
|
|
||||||
|
|
||||||
# if contact_id := contact_obj_unknown.get('contact_id_random', None):
|
|
||||||
if contact_id:
|
|
||||||
# from app.methods.contact_methods import update_contact_obj_v3
|
|
||||||
if update_contact_obj_result := update_contact_obj(
|
|
||||||
contact_id = contact_id,
|
contact_id = contact_id,
|
||||||
contact_obj_up = contact_obj_unknown,
|
|
||||||
create_sub_obj = create_sub_obj,
|
|
||||||
fail_any = fail_any,
|
|
||||||
):
|
|
||||||
contact_id = update_contact_obj_result
|
|
||||||
log.info(f'Contact updated. Contact ID: {contact_id}')
|
|
||||||
else:
|
|
||||||
log.warning(f'Contact not updated. Person ID: {person_id}')
|
|
||||||
log.debug(update_contact_obj_result)
|
|
||||||
contact_id = None
|
|
||||||
if fail_any: return False
|
|
||||||
|
|
||||||
if isinstance(update_contact_obj_result, int):
|
|
||||||
contact_id = update_contact_obj_result
|
|
||||||
log.info(f'Contact updated. Contact ID: {contact_id}')
|
|
||||||
else:
|
|
||||||
log.warning(f'Contact not updated. Person ID: {person_id}')
|
|
||||||
log.debug(update_contact_obj_result)
|
|
||||||
contact_id = None
|
|
||||||
if fail_any: return False
|
|
||||||
else:
|
|
||||||
log.info(f'No Contact ID found.')
|
|
||||||
# from app.methods.contact_methods import create_contact_obj_v3
|
|
||||||
if create_contact_obj_result := create_contact_obj(
|
|
||||||
account_id = account_id,
|
account_id = account_id,
|
||||||
for_type = 'person',
|
for_type = 'person',
|
||||||
for_id = person_id,
|
for_id = person_id,
|
||||||
contact_obj_new = contact_obj_unknown,
|
|
||||||
create_sub_obj = create_sub_obj,
|
|
||||||
fail_any = fail_any,
|
fail_any = fail_any,
|
||||||
):
|
return_outline = return_outline,
|
||||||
if isinstance(create_contact_obj_result, int):
|
)
|
||||||
contact_id = create_contact_obj_result
|
if isinstance(create_update_contact_obj_result, int):
|
||||||
log.info(f'Contact created. Contact ID: {contact_id}')
|
contact_id = create_update_contact_obj_result
|
||||||
|
elif create_update_contact_obj_result == True: pass
|
||||||
else:
|
else:
|
||||||
log.warning(f'Contact not created. Person ID: {person_id}')
|
log.warning(f'Create or Update failed while trying create_update_contact_obj_v4(): {create_update_contact_obj_result}')
|
||||||
log.debug(create_contact_obj_result)
|
|
||||||
contact_id = None
|
contact_id = None
|
||||||
if fail_any: return False
|
|
||||||
else:
|
person_outline['contact_id'] = contact_id
|
||||||
log.warning(f'Contact not created. Person ID: {person_id}')
|
|
||||||
log.debug(create_contact_obj_result)
|
# NOTE: This is the older pre v3 version
|
||||||
contact_id = None
|
# if person_obj_exist.contact:
|
||||||
if fail_any: return False
|
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
return_dict['contact_id'] = contact_id
|
# contact_obj_unknown = person_obj_exist.contact
|
||||||
else:
|
# log.debug(contact_obj_unknown)
|
||||||
log.info('Contact not found or not in a dict.')
|
# if isinstance(person_obj_exist.contact, dict):
|
||||||
pass
|
# contact_id = contact_obj_unknown.get('contact_id_random', None)
|
||||||
|
# # try:
|
||||||
|
# # contact_obj_new = Contact_Base(**contact_obj_new)
|
||||||
|
# # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
|
# # log.debug(contact_obj_new)
|
||||||
|
# # except ValidationError as e:
|
||||||
|
# # log.error(e.json())
|
||||||
|
# # return False
|
||||||
|
# else:
|
||||||
|
# contact_id = contact_obj_unknown.id
|
||||||
|
|
||||||
|
# # if contact_id := contact_obj_unknown.get('contact_id_random', None):
|
||||||
|
# if contact_id:
|
||||||
|
# # from app.methods.contact_methods import update_contact_obj_v3
|
||||||
|
# if update_contact_obj_result := update_contact_obj(
|
||||||
|
# contact_id = contact_id,
|
||||||
|
# contact_obj_up = contact_obj_unknown,
|
||||||
|
# create_sub_obj = create_sub_obj,
|
||||||
|
# fail_any = fail_any,
|
||||||
|
# ):
|
||||||
|
# contact_id = update_contact_obj_result
|
||||||
|
# log.info(f'Contact updated. Contact ID: {contact_id}')
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not updated. Person ID: {person_id}')
|
||||||
|
# log.debug(update_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
|
||||||
|
# if isinstance(update_contact_obj_result, int):
|
||||||
|
# contact_id = update_contact_obj_result
|
||||||
|
# log.info(f'Contact updated. Contact ID: {contact_id}')
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not updated. Person ID: {person_id}')
|
||||||
|
# log.debug(update_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
# else:
|
||||||
|
# log.info(f'No Contact ID found.')
|
||||||
|
# # from app.methods.contact_methods import create_contact_obj_v3
|
||||||
|
# if create_contact_obj_result := create_contact_obj(
|
||||||
|
# account_id = account_id,
|
||||||
|
# for_type = 'person',
|
||||||
|
# for_id = person_id,
|
||||||
|
# contact_obj_new = contact_obj_unknown,
|
||||||
|
# create_sub_obj = create_sub_obj,
|
||||||
|
# fail_any = fail_any,
|
||||||
|
# ):
|
||||||
|
# if isinstance(create_contact_obj_result, int):
|
||||||
|
# contact_id = create_contact_obj_result
|
||||||
|
# log.info(f'Contact created. Contact ID: {contact_id}')
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not created. Person ID: {person_id}')
|
||||||
|
# log.debug(create_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
# else:
|
||||||
|
# log.warning(f'Contact not created. Person ID: {person_id}')
|
||||||
|
# log.debug(create_contact_obj_result)
|
||||||
|
# contact_id = None
|
||||||
|
# if fail_any: return False
|
||||||
|
# person_outline['contact_id'] = contact_id
|
||||||
|
# else:
|
||||||
|
# log.info('Contact not found or not in a dict.')
|
||||||
|
# pass
|
||||||
|
|
||||||
if person_obj_exist.organization and isinstance(person_obj_exist.organization, dict):
|
if person_obj_exist.organization and isinstance(person_obj_exist.organization, dict):
|
||||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
@@ -831,7 +927,7 @@ def update_person_obj_v3(
|
|||||||
log.debug(create_organization_obj_result)
|
log.debug(create_organization_obj_result)
|
||||||
organization_id = None
|
organization_id = None
|
||||||
if fail_any: return False
|
if fail_any: return False
|
||||||
return_dict['organization_id'] = organization_id
|
person_outline['organization_id'] = organization_id
|
||||||
else:
|
else:
|
||||||
log.info('Organization not found or not in a dict.')
|
log.info('Organization not found or not in a dict.')
|
||||||
pass
|
pass
|
||||||
@@ -849,8 +945,23 @@ def update_person_obj_v3(
|
|||||||
create_sub_obj = create_sub_obj,
|
create_sub_obj = create_sub_obj,
|
||||||
fail_any = fail_any,
|
fail_any = fail_any,
|
||||||
):
|
):
|
||||||
user_id = update_user_obj_result
|
# user_id = update_user_obj_result # Result will hopefully always be 1 or True
|
||||||
log.info(f'User updated. User ID: {user_id}')
|
log.info(f'User updated. User ID: {user_id}')
|
||||||
|
log.debug(update_user_obj_result)
|
||||||
|
|
||||||
|
# NOTE: This should not be needed. Updating person just in case!
|
||||||
|
# Need to update the person with the current user_id
|
||||||
|
if user_id := redis_lookup_id_random(record_id_random=user_id, table_name='user'): pass
|
||||||
|
else: return False
|
||||||
|
log.info(f'Need to update the person with the current user_id.')
|
||||||
|
person_dict_up = {}
|
||||||
|
person_dict_up['id'] = person_id
|
||||||
|
person_dict_up['user_id'] = user_id
|
||||||
|
if person_dict_up_result := sql_update(data=person_dict_up, table_name='person'): pass
|
||||||
|
else:
|
||||||
|
log.error(f'Person not updated with current User ID. Person ID: {person_id} User ID: {user_id}')
|
||||||
|
if fail_any: return False
|
||||||
|
log.debug(person_dict_up_result)
|
||||||
else:
|
else:
|
||||||
log.warning(f'User not updated. Person ID: {person_id}')
|
log.warning(f'User not updated. Person ID: {person_id}')
|
||||||
log.debug(update_user_obj_result)
|
log.debug(update_user_obj_result)
|
||||||
@@ -858,8 +969,23 @@ def update_person_obj_v3(
|
|||||||
if fail_any: return False
|
if fail_any: return False
|
||||||
|
|
||||||
if isinstance(update_user_obj_result, int):
|
if isinstance(update_user_obj_result, int):
|
||||||
user_id = update_user_obj_result
|
# user_id = update_user_obj_result # Result will hopefully always be 1 or True
|
||||||
log.info(f'User updated. User ID: {user_id}')
|
log.info(f'User updated. User ID: {user_id}')
|
||||||
|
log.debug(update_user_obj_result)
|
||||||
|
|
||||||
|
# NOTE: This should not be needed. Updating person just in case!
|
||||||
|
# Need to update the person with the current user_id
|
||||||
|
if user_id := redis_lookup_id_random(record_id_random=user_id, table_name='user'): pass
|
||||||
|
else: return False
|
||||||
|
log.info(f'Need to update the person with the current user_id.')
|
||||||
|
person_dict_up = {}
|
||||||
|
person_dict_up['id'] = person_id
|
||||||
|
person_dict_up['user_id'] = user_id
|
||||||
|
if person_dict_up_result := sql_update(data=person_dict_up, table_name='person'): pass
|
||||||
|
else:
|
||||||
|
log.error(f'Person not updated with current User ID. Person ID: {person_id} User ID: {user_id}')
|
||||||
|
if fail_any: return False
|
||||||
|
log.debug(person_dict_up_result)
|
||||||
else:
|
else:
|
||||||
log.warning(f'User not updated. Person ID: {person_id}')
|
log.warning(f'User not updated. Person ID: {person_id}')
|
||||||
log.debug(update_user_obj_result)
|
log.debug(update_user_obj_result)
|
||||||
@@ -878,6 +1004,17 @@ def update_person_obj_v3(
|
|||||||
if isinstance(create_user_obj_result, int):
|
if isinstance(create_user_obj_result, int):
|
||||||
user_id = create_user_obj_result
|
user_id = create_user_obj_result
|
||||||
log.info(f'User created. User ID: {user_id}')
|
log.info(f'User created. User ID: {user_id}')
|
||||||
|
|
||||||
|
# Need to update the person with the new user_id
|
||||||
|
log.info(f'Need to update the person with the new user_id.')
|
||||||
|
person_dict_up = {}
|
||||||
|
person_dict_up['id'] = person_id
|
||||||
|
person_dict_up['user_id'] = user_id
|
||||||
|
if person_dict_up_result := sql_update(data=person_dict_up, table_name='person'): pass
|
||||||
|
else:
|
||||||
|
log.error(f'Person not updated with new User ID. Person ID: {person_id} User ID: {user_id}')
|
||||||
|
if fail_any: return False
|
||||||
|
log.debug(person_dict_up_result)
|
||||||
else:
|
else:
|
||||||
log.warning(f'User not created. Person ID: {person_id}')
|
log.warning(f'User not created. Person ID: {person_id}')
|
||||||
log.debug(create_user_obj_result)
|
log.debug(create_user_obj_result)
|
||||||
@@ -888,7 +1025,7 @@ def update_person_obj_v3(
|
|||||||
log.debug(create_user_obj_result)
|
log.debug(create_user_obj_result)
|
||||||
user_id = None
|
user_id = None
|
||||||
if fail_any: return False
|
if fail_any: return False
|
||||||
return_dict['user_id'] = user_id
|
person_outline['user_id'] = user_id
|
||||||
else:
|
else:
|
||||||
log.info('User not found or not in a dict.')
|
log.info('User not found or not in a dict.')
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ def create_user_obj(
|
|||||||
user_obj_new: User_New_Base,
|
user_obj_new: User_New_Base,
|
||||||
allow_update: bool = False, # Allow updating the user account if one is found
|
allow_update: bool = False, # Allow updating the user account if one is found
|
||||||
avoid_dup_username: bool = False, # Avoid creating a duplicate by modifying the supplied username
|
avoid_dup_username: bool = False, # Avoid creating a duplicate by modifying the supplied username
|
||||||
|
create_sub_obj: bool = False,
|
||||||
|
fail_any: bool = True, # Fail if any thing goes wrong for sub objects
|
||||||
return_dict: bool = False,
|
return_dict: bool = False,
|
||||||
) -> bool|dict|int:
|
) -> bool|dict|int:
|
||||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
|
|||||||
@@ -105,7 +105,8 @@ async def post_person_obj_new_v3(
|
|||||||
account_id = x_account_id,
|
account_id = x_account_id,
|
||||||
person_obj_new = person_obj,
|
person_obj_new = person_obj,
|
||||||
create_sub_obj = create_sub_obj,
|
create_sub_obj = create_sub_obj,
|
||||||
fail_any = fail_any
|
fail_any = fail_any,
|
||||||
|
return_outline = False,
|
||||||
): pass
|
): pass
|
||||||
else: return mk_resp(data=False, status_code=400, response=response, status_message='The person was not created. Check the field names and data types.')
|
else: return mk_resp(data=False, status_code=400, response=response, status_message='The person was not created. Check the field names and data types.')
|
||||||
|
|
||||||
@@ -160,8 +161,9 @@ async def patch_person_obj_exist_v3(
|
|||||||
person_obj_exist = person_obj,
|
person_obj_exist = person_obj,
|
||||||
create_sub_obj = create_sub_obj,
|
create_sub_obj = create_sub_obj,
|
||||||
fail_any = fail_any,
|
fail_any = fail_any,
|
||||||
|
return_outline = False,
|
||||||
): pass
|
): pass
|
||||||
else: return mk_resp(data=False, status_code=400, response=response, status_message='The event person was not created. Check the field names and data types.')
|
else: return mk_resp(data=False, status_code=400, response=response, status_message='The person was not created. Check the field names and data types.')
|
||||||
|
|
||||||
if update_person_obj_result:
|
if update_person_obj_result:
|
||||||
if return_obj:
|
if return_obj:
|
||||||
@@ -174,9 +176,9 @@ async def patch_person_obj_exist_v3(
|
|||||||
data = {}
|
data = {}
|
||||||
data['person_id'] = person_id
|
data['person_id'] = person_id
|
||||||
data['person_id_random'] = person_id_random
|
data['person_id_random'] = person_id_random
|
||||||
return mk_resp(data=data, response=response, status_message='The event person was created.')
|
return mk_resp(data=data, response=response, status_message='The person was created.')
|
||||||
else:
|
else:
|
||||||
return mk_resp(data=False, status_code=400, response=response, status_message='The result from trying to create an event person was unexpected.')
|
return mk_resp(data=False, status_code=400, response=response, status_message='The result from trying to create an person was unexpected.')
|
||||||
# ### END ### API Person ### patch_person_obj_exist_v3() ###
|
# ### END ### API Person ### patch_person_obj_exist_v3() ###
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user