Working on data importing. Mainly for IDAA membership.
This commit is contained in:
@@ -46,7 +46,7 @@ def load_membership_person_obj(
|
||||
inc_product_list: bool = False, # The list of products that give access to a member_type or member_group
|
||||
inc_user: bool = False,
|
||||
) -> Membership_Person_Base:
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.setLevel(logging.WARING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if membership_person_id := redis_lookup_id_random(record_id_random=membership_person_id, table_name='membership_person'): pass
|
||||
|
||||
@@ -52,8 +52,9 @@ def load_person_obj(
|
||||
inc_post_comment_list: bool = False,
|
||||
inc_product: bool = False,
|
||||
inc_user: bool = False,
|
||||
inc_user_role_list: bool = False,
|
||||
) -> Person_Base|dict|bool:
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass
|
||||
@@ -62,15 +63,20 @@ def load_person_obj(
|
||||
if person_rec := sql_select(table_name='v_person', record_id=person_id): pass
|
||||
else: return False
|
||||
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(person_rec)
|
||||
|
||||
try:
|
||||
person_obj = Person_Base(**person_rec)
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(person_obj)
|
||||
except ValidationError as e:
|
||||
log.error(e.json())
|
||||
return False
|
||||
|
||||
# Updated 2021-07-09
|
||||
if inc_contact:
|
||||
log.info('Need to include contact data...')
|
||||
contact_id = person_rec.get('contact_id', None)
|
||||
log.debug(contact_id)
|
||||
if contact_result := load_contact_obj(
|
||||
@@ -116,6 +122,7 @@ def load_person_obj(
|
||||
|
||||
# Updated 2021-07-09
|
||||
if inc_membership_person:
|
||||
log.info('Need to include membership person data...')
|
||||
from app.methods.membership_person_methods import load_membership_person_obj
|
||||
membership_person_id = person_rec.get('membership_person_id', None)
|
||||
log.debug(membership_person_id)
|
||||
@@ -174,6 +181,7 @@ def load_person_obj(
|
||||
|
||||
# Updated 2021-06-18
|
||||
if inc_order_list:
|
||||
log.info('Need to include order list data...')
|
||||
if order_rec_list_result := get_order_rec_list(
|
||||
for_obj_type = 'person',
|
||||
for_obj_id = person_id,
|
||||
@@ -199,6 +207,7 @@ def load_person_obj(
|
||||
|
||||
# Updated 2021-06-18
|
||||
if inc_organization:
|
||||
log.info('Need to include organization data...')
|
||||
organization_id = person_rec.get('organization_id', None)
|
||||
log.debug(organization_id)
|
||||
if organization_dict := load_organization_obj(
|
||||
@@ -214,22 +223,25 @@ def load_person_obj(
|
||||
person_obj.organization = organization_dict
|
||||
else: person_obj.organization = None
|
||||
|
||||
# Updated 2021-06-18
|
||||
# Updated 2021-08-19
|
||||
if inc_user:
|
||||
# user_id = person_rec.get('user_id', None)
|
||||
# log.debug(user_id)
|
||||
# if user_result := load_user_obj(
|
||||
# user_id = user_id,
|
||||
# limit = limit,
|
||||
# by_alias = by_alias,
|
||||
# exclude_unset = exclude_unset,
|
||||
# model_as_dict = model_as_dict,
|
||||
# enabled = enabled,
|
||||
# ):
|
||||
# person_obj.user = user_result
|
||||
# else: person_obj.user = None
|
||||
pass
|
||||
log.info('Need to include user data...')
|
||||
user_id = person_rec.get('user_id', None)
|
||||
log.debug(user_id)
|
||||
from app.methods.user_methods import load_user_obj
|
||||
if user_result := load_user_obj(
|
||||
user_id = user_id,
|
||||
limit = limit,
|
||||
by_alias = by_alias,
|
||||
exclude_unset = exclude_unset,
|
||||
model_as_dict = model_as_dict,
|
||||
enabled = enabled,
|
||||
inc_user_role_list = inc_user_role_list,
|
||||
):
|
||||
person_obj.user = user_result
|
||||
else: person_obj.user = None
|
||||
|
||||
print(person_obj)
|
||||
if model_as_dict:
|
||||
return person_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset) # pylint: disable=no-member
|
||||
else:
|
||||
@@ -292,6 +304,41 @@ def get_person_rec_list(
|
||||
# ### END ### API Person Methods ### get_person_rec_list() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Person Methods ### get_person_rec_w_external_id() ###
|
||||
def get_person_rec_w_external_id(
|
||||
account_id: str,
|
||||
external_id: str,
|
||||
enabled: str = 'enabled', # enabled, disabled, all
|
||||
) -> dict|bool:
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
# if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass
|
||||
# else: return False
|
||||
account_id = 99
|
||||
|
||||
data = {}
|
||||
data['account_id'] = account_id
|
||||
data['external_id'] = external_id
|
||||
|
||||
sql = f"""
|
||||
SELECT `person`.id AS 'person_id', `person`.id_random AS 'person_id_random'
|
||||
FROM `person` AS `person`
|
||||
WHERE person.account_id = :account_id
|
||||
AND person.external_id = :external_id
|
||||
LIMIT 1;
|
||||
"""
|
||||
|
||||
if person_rec_result := sql_select(data=data, sql=sql):
|
||||
person_rec = person_rec_result
|
||||
else:
|
||||
person_rec = None
|
||||
log.debug(person_rec_result)
|
||||
|
||||
return person_rec
|
||||
# ### END ### API Person Methods ### get_person_rec_w_external_id() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Person Methods ### create_person_obj() ###
|
||||
# NOTE: This will create a person and then also create a linked contact if person_obj.contact data is passed. The create_contact_obj will create a contact and then also create a linked address if person_obj.contact.address data is passed.
|
||||
# Reviewed and updated 2021-08-10
|
||||
|
||||
Reference in New Issue
Block a user