diff --git a/app/methods/membership_person_methods.py b/app/methods/membership_person_methods.py index 785b301..269b0ed 100644 --- a/app/methods/membership_person_methods.py +++ b/app/methods/membership_person_methods.py @@ -403,7 +403,7 @@ def create_membership_person_obj( if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass else: log.error('Missing or invalid Account ID passed. Failed requirement.') - log.info(f'Person ID: {account_id}') + log.info(f'Account ID: {account_id}') if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass else: log.error('Missing or invalid Person ID passed. Failed requirement.') @@ -415,7 +415,6 @@ def create_membership_person_obj( membership_person_dict = membership_person_dict_obj try: membership_person_obj = Membership_Person_Base(**membership_person_dict) - log.debug(membership_person_obj) except ValidationError as e: log.error(e.json()) return False @@ -423,6 +422,8 @@ def create_membership_person_obj( membership_person_obj = membership_person_dict_obj membership_person_obj.account_id = account_id membership_person_obj.person_id = person_id + log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log.debug(membership_person_obj) membership_person_dict = membership_person_obj.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'membership_cfg', 'membership_person_group_list', 'membership_person_profile', 'membership_person_type', 'membership_group', 'membership_group_list', 'membership_type', 'membership_type_list', 'person', 'product', 'created_on', 'updated_on'}) @@ -496,7 +497,7 @@ def create_membership_person_obj( else: log.debug(f'Returning the Membership Person ID: {membership_person_id}') return membership_person_id -# ### END ### API Membership Person Methods ### create_update_membership_person_obj() ### +# ### END ### API Membership Person Methods ### create_membership_person_obj() ### # ### BEGIN ### API Membership Person Methods ### update_membership_person_obj() ### diff --git a/app/models/address_models.py b/app/models/address_models.py index 4736d6d..6813e81 100644 --- a/app/models/address_models.py +++ b/app/models/address_models.py @@ -84,9 +84,9 @@ class Address_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values.get('id_random', None): # values['id_random']: - log.debug(values['id_random']) - return redis_lookup_id_random(record_id_random=values['id_random'], table_name='address') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='address') return None @validator('account_id', always=True) @@ -94,8 +94,9 @@ class Address_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['account_id_random']: - return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('account_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='account') return None @validator('contact_id', always=True) @@ -103,19 +104,11 @@ class Address_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values.get('contact_id_random', None): # values['contact_id_random']: - return redis_lookup_id_random(record_id_random=values['contact_id_random'], table_name='contact') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('contact_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='contact') return None - #@validator('organization_id', always=True) - #def organization_id_lookup(cls, v, values, **kwargs): - #log.setLevel(logging.WARNING) - #log.debug(locals()) - - #if values['organization_id']: - #return redis_lookup_id_random(record_id_random=values['organization_id'], table_name='organization') - #return None - @validator('for_id', always=True) def for_id_lookup(cls, v, values, **kwargs): log.setLevel(logging.WARNING) diff --git a/app/models/contact_models.py b/app/models/contact_models.py index a92ff54..ec925d5 100644 --- a/app/models/contact_models.py +++ b/app/models/contact_models.py @@ -99,9 +99,9 @@ class Contact_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values.get('id_random', None): # values['id_random']: - log.debug(values['id_random']) - return redis_lookup_id_random(record_id_random=values['id_random'], table_name='contact') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='contact') return None @validator('account_id', always=True) @@ -109,8 +109,9 @@ class Contact_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['account_id_random']: - return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('account_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='account') return None @validator('address_id', always=True) @@ -118,8 +119,9 @@ class Contact_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values.get('address_id_random', None): - return redis_lookup_id_random(record_id_random=values['address_id_random'], table_name='address') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('address_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='address') return None @validator('linked_address_id', always=True) diff --git a/app/models/membership_person_models.py b/app/models/membership_person_models.py index 9472ec0..2f97c3e 100644 --- a/app/models/membership_person_models.py +++ b/app/models/membership_person_models.py @@ -193,8 +193,7 @@ class Membership_Person_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('id_random'): + elif id_random := values.get('id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person') return None @@ -204,8 +203,7 @@ class Membership_Person_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('account_id_random'): + elif id_random := values.get('account_id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='account') return None @@ -233,8 +231,7 @@ class Membership_Person_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('membership_type_id_random'): + elif id_random := values.get('membership_type_id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='membership_type') return None @@ -244,8 +241,7 @@ class Membership_Person_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('membership_person_type_id_random'): + elif id_random := values.get('membership_person_type_id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person_type') return None @@ -255,8 +251,7 @@ class Membership_Person_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('person_id_random'): + elif id_random := values.get('person_id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='person') return None diff --git a/app/models/membership_person_type_models.py b/app/models/membership_person_type_models.py index 3deb891..bbd98e7 100644 --- a/app/models/membership_person_type_models.py +++ b/app/models/membership_person_type_models.py @@ -95,8 +95,7 @@ class Membership_Person_Type_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('id_random'): + elif id_random := values.get('id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='membership_person_type') return None @@ -106,8 +105,7 @@ class Membership_Person_Type_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('account_id_random'): + elif id_random := values.get('account_id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='account') return None @@ -117,8 +115,7 @@ class Membership_Person_Type_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('membership_type_id_random'): + elif id_random := values.get('membership_type_id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='membership_type') return None @@ -128,8 +125,7 @@ class Membership_Person_Type_Base(BaseModel): log.debug(locals()) if isinstance(v, int) and v > 0: return v - - if id_random := values.get('product_id_random'): + elif id_random := values.get('product_id_random'): return redis_lookup_id_random(record_id_random=id_random, table_name='product') return None diff --git a/app/models/person_models.py b/app/models/person_models.py index d435bac..aba7844 100644 --- a/app/models/person_models.py +++ b/app/models/person_models.py @@ -159,9 +159,9 @@ class Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values.get('id_random', None): # 'id_random' in values and values['id_random']: - log.debug(values['id_random']) - return redis_lookup_id_random(record_id_random=values['id_random'], table_name='person') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='person') return None @validator('account_id', always=True) @@ -169,8 +169,9 @@ class Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['account_id_random']: - return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('account_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='account') return None @validator('contact_id', always=True) @@ -178,8 +179,9 @@ class Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values.get('contact_id_random', None): # values['contact_id_random']: - return redis_lookup_id_random(record_id_random=values['contact_id_random'], table_name='contact') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('contact_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='contact') return None @validator('organization_id', always=True) @@ -187,8 +189,9 @@ class Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['organization_id_random']: - return redis_lookup_id_random(record_id_random=values['organization_id_random'], table_name='organization') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('organization_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='organization') return None @validator('user_id', always=True) @@ -196,8 +199,9 @@ class Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['user_id_random']: - return redis_lookup_id_random(record_id_random=values['user_id_random'], table_name='user') + if isinstance(v, int) and v > 0: return v + elif id_random := values.get('user_id_random'): + return redis_lookup_id_random(record_id_random=id_random, table_name='user') return None class Config: diff --git a/app/routers/e_cvent.py b/app/routers/e_cvent.py index bebf0ae..aaa6902 100644 --- a/app/routers/e_cvent.py +++ b/app/routers/e_cvent.py @@ -195,51 +195,55 @@ async def get_person( if result := get_person_rec_w_external_id(account_id=account_id, external_id=person_external_id): log.debug(result) person_id = result.get('person_id') - log.info(f'Person ID {person_id} found.') - - person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True, inc_membership_person=True, inc_membership_person_type=True) - log.debug(person_obj) - - person_data['id'] = person_id - person_data['account_id'] = account_id - person_data['contact']['id'] = person_obj.contact.id - person_data['contact']['address']['id'] = person_obj.contact.address.id - log.debug(person_data) - - membership_person_id = person_obj.membership_person.id - membership_person_data['id'] = person_obj.membership_person.id - membership_person_data['membership_person_type']['id'] = person_obj.membership_person.membership_person_type.id - if update_membership_person_obj(membership_person_id=membership_person_id, membership_person_dict_obj=membership_person_data): - log.info(f'Updated Membership Person ID: {membership_person_id}') - else: - log.info(f'Did not update Membership Person ID: {membership_person_id}') - - - person_data['membership_person'] = membership_person_data - - return mk_resp(data=person_data, status_message='Updated and loaded person based on Cvent contact information', response=commons.response) - - # try: - # person_obj = Person_Base(**person_data) - # log.debug(person_obj) - # except ValidationError as e: - # log.error(e.json()) - # return False - - update_person_kiss(person_id=person_id, person_dict_obj=person_obj) - - person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True) - log.debug(person_obj) - - - return mk_resp(data=person_obj, status_message='Updated and loaded person based on Cvent contact information', response=commons.response) + log.info(f'Person ID {person_id} found using external ID.') elif email := cvent_contact_obj.get('email'): log.info(f'Looking up person with Email Address: {email}') if result := get_person_rec_list(for_obj_type='account', for_obj_id=account_id, email=email): log.debug(result[0]) person_id = result[0].get('person_id') - log.info(f'Person ID {person_id} found.') + log.info(f'Person ID {person_id} found using email address.') else: log.info(f'External ID and Email Address were not found.') + person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True, inc_membership_person=True, inc_membership_person_type=True) + log.debug(person_obj) + + person_data['id'] = person_id + person_data['account_id'] = account_id + person_data['contact']['id'] = person_obj.contact.id + person_data['contact']['address']['id'] = person_obj.contact.address.id + log.debug(person_data) + if update_person_kiss(person_id=person_id, person_dict_obj=person_obj): + log.info(f'Updated Person ID: {person_id}') + else: + log.info(f'Did not update Person ID: {person_id}') + + membership_person_id = person_obj.membership_person.id + membership_person_data['id'] = person_obj.membership_person.id + membership_person_data['membership_person_type']['id'] = person_obj.membership_person.membership_person_type.id + if update_membership_person_obj(membership_person_id=membership_person_id, membership_person_dict_obj=membership_person_data): + log.info(f'Updated Membership Person ID: {membership_person_id}') + else: + log.info(f'Did not update Membership Person ID: {membership_person_id}') + + + person_data['membership_person'] = membership_person_data + + return mk_resp(data=person_data, status_message='Updated and loaded person based on Cvent contact information', response=commons.response) + + # try: + # person_obj = Person_Base(**person_data) + # log.debug(person_obj) + # except ValidationError as e: + # log.error(e.json()) + # return False + + + + person_obj = load_person_obj(person_id=person_id, inc_address=True, inc_contact=True) + log.debug(person_obj) + + + return mk_resp(data=person_obj, status_message='Updated and loaded person based on Cvent contact information', response=commons.response) + return mk_resp(data=person_data, status_message='Got Cvent contact information', response=commons.response)