diff --git a/app/db_sql.py b/app/db_sql.py index be7dd19..838878a 100644 --- a/app/db_sql.py +++ b/app/db_sql.py @@ -39,7 +39,7 @@ def sql_insert( rm_id_random: bool = False, id_random_length: int = 8, ): - log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) if sql: diff --git a/app/methods/membership_person_group_methods.py b/app/methods/membership_person_group_methods.py index 457130d..0ffb3e3 100644 --- a/app/methods/membership_person_group_methods.py +++ b/app/methods/membership_person_group_methods.py @@ -8,6 +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.methods.membership_person_methods import get_membership_person_rec_list, load_membership_person_obj +from app.models.common_field_schema import default_num_bytes from app.models.membership_person_group_models import Membership_Person_Group_Base diff --git a/app/methods/membership_person_methods.py b/app/methods/membership_person_methods.py index 3dd6ce5..0309e15 100644 --- a/app/methods/membership_person_methods.py +++ b/app/methods/membership_person_methods.py @@ -16,6 +16,7 @@ from app.methods.person_methods import load_person_obj from app.methods.product_methods import load_product_obj from app.methods.user_methods import load_user_obj +from app.models.common_field_schema import default_num_bytes from app.models.membership_person_models import Membership_Person_Base @@ -32,13 +33,13 @@ def load_membership_person_obj( inc_contact: bool = False, inc_membership_cfg: bool = False, # inc_membership_group: bool = False, # Their primary membership group - inc_membership_group_list: bool = False, # List of membership group for a person - 2022-01-11 + inc_membership_person_group_list: bool = False, # List of membership group for a person - 2022-01-11 # inc_membership_person_group: bool = False, # The person information for their primary membership group # inc_membership_person_group_list: bool = False, # The person information for all of their membership groups # inc_membership_person_profile: bool = False, # inc_membership_person_profile_cust: bool = False, # Extended profile? - inc_membership_profile: bool = False, # Membership profile for a person - 2022-01-11 - inc_membership_type: bool = False, # Primary membership type for a person - 2022-01-11 + inc_membership_person_profile: bool = False, # Membership profile for a person - 2022-01-11 + inc_membership_person_type: bool = False, # Primary membership type for a person - 2022-01-11 # inc_membership_type_list: bool = False, # The list of membership types the person is a part of # inc_membership_person_type: bool = False, # The person information for their primary membership type # inc_membership_person_type_list: bool = False, # The person information for all of their membership types @@ -80,19 +81,19 @@ def load_membership_person_obj( membership_person_obj.membership_cfg = membership_cfg_obj_result else: membership_person_obj.membership_cfg = {} # None - if inc_membership_group: pass # The primary membership group the person is a part of. Not used at this time. 2021-12-16 + # if inc_membership_group: pass # The primary membership group the person is a part of. Not used at this time. 2021-12-16 - # Updated 2021-07-09 - if inc_membership_group_list: # The list of groups the member is a part of - if membership_group_rec_list_result := get_membership_group_rec_list( + # Updated 2021-01-12 + if inc_membership_person_group_list: # List of membership group for a person - 2022-01-11 + if membership_person_group_rec_list_result := get_membership_person_group_rec_list( membership_person_id = membership_person_id, limit = limit, enabled = enabled, ): - membership_group_result_list = [] - for membership_group_rec in membership_group_rec_list_result: - if load_membership_group_result := load_membership_group_obj( - membership_group_id = membership_group_rec.get('membership_group_id', None), + membership_person_group_result_list = [] + for membership_person_group_rec in membership_person_group_rec_list_result: + if load_membership_person_group_result := load_membership_person_group_obj( + membership_person_group_id = membership_person_group_rec.get('membership_person_group_id', None), limit = limit, by_alias = by_alias, exclude_unset = exclude_unset, @@ -106,10 +107,10 @@ def load_membership_person_obj( # inc_product_list = inc_product_list, # inc_user = inc_user, ): - membership_group_result_list.append(load_membership_group_result) - else: membership_group_result_list.append(None) - membership_person_obj.membership_group_list = membership_group_result_list - else: membership_person_obj.membership_group_list = [] + membership_person_group_result_list.append(load_membership_person_group_result) + else: membership_person_group_result_list.append(None) + membership_person_obj.membership_group_list = membership_person_group_result_list + else: membership_person_obj.membership_person_group_list = [] # Updated 2021-07-09 # if inc_membership_person_group_list: # The person information for the list of groups the member is a part of @@ -143,7 +144,7 @@ def load_membership_person_obj( # else: membership_person_obj.membership_person_group_list = [] # Updated 2021-06-21 - if inc_membership_profile: + if inc_membership_person_profile: # Membership profile for a person - 2022-01-11 membership_person_profile_id = membership_person_rec.get('membership_person_profile_id', None) log.debug(membership_person_profile_id) if membership_person_profile_result := load_membership_person_profile_obj( @@ -161,13 +162,13 @@ def load_membership_person_obj( else: membership_person_obj.membership_person_profile = {} # None log.debug(membership_person_profile_result) - # Updated 2021-07-09 - if inc_membership_type: # The primary membership type for the person - from app.methods.membership_type_methods import load_membership_type_obj - membership_type_id = membership_person_rec.get('membership_type_id', None) - log.debug(membership_type_id) - if membership_type_result := load_membership_type_obj( - membership_type_id = membership_type_id, + # Updated 2021-01-12 + if inc_membership_person_type: # Primary membership type for a person - 2022-01-11 + from app.methods.membership_person_type_methods import load_membership_person_type_obj + membership_person_type_id = membership_person_rec.get('membership_person_type_id', None) + log.debug(membership_person_type_id) + if membership_person_type_result := load_membership_person_type_obj( + membership_person_type_id = membership_person_type_id, limit = limit, by_alias = by_alias, exclude_unset = exclude_unset, @@ -180,11 +181,11 @@ def load_membership_person_obj( # inc_organization = inc_organization, inc_product_list = inc_product_list, ): - membership_person_obj.membership_type = membership_type_result - else: membership_person_obj.membership_type = {} # None - log.debug(membership_type_result) + membership_person_obj.membership_person_type = membership_person_type_result + else: membership_person_obj.membership_person_type = {} # None + log.debug(membership_person_type_result) - if inc_membership_type_list: pass # All of the membership types the person is a part of + # if inc_membership_person_type_list: pass # All of the membership types the person is a part of # Updated 2021-07-09 # if inc_membership_person_type: # The primary membership type person information for the person @@ -453,21 +454,21 @@ def create_membership_person_obj( membership_person_outline['membership_person_type'] = {} membership_person_outline['membership_person_type_id'] = None - if membership_person_obj.membership_person_type_list: + if membership_person_obj.membership_person_group_list: log.info('Looping through Membership Person Group object list') - for membership_person_type_obj in membership_person_type_obj_list_result: - if membership_person_type_obj.id: + for membership_person_group_obj in membership_person_group_obj_list_result: + if membership_person_group_obj.id: log.info('Updating Membership Person Group object') - if membership_person_type_update_result := update_membership_person_type_obj( - membership_person_type_id = membership_person_type_id, - membership_person_type_dict_obj = membership_person_type_obj, + if membership_person_group_update_result := update_membership_person_group_obj( + membership_person_group_id = membership_person_group_id, + membership_person_group_dict_obj = membership_person_group_obj, ): pass else: return False else: log.info('Creating Membership Person Group object') - if membership_person_type_create_result := create_membership_person_type_obj( + if membership_person_group_create_result := create_membership_person_group_obj( membership_person_id = membership_person_id, - membership_person_type_dict_obj = membership_person_type_obj, + membership_person_group_dict_obj = membership_person_group_obj, ): pass else: pass diff --git a/app/methods/membership_person_type_methods.py b/app/methods/membership_person_type_methods.py index 9715ff5..8314ff5 100644 --- a/app/methods/membership_person_type_methods.py +++ b/app/methods/membership_person_type_methods.py @@ -10,6 +10,7 @@ from app.lib_general import log, logging from app.methods.membership_cfg_methods import load_membership_cfg_obj from app.methods.product_methods import get_product_rec_list, load_product_obj +from app.models.common_field_schema import default_num_bytes from app.models.membership_person_type_models import Membership_Person_Type_Base @@ -192,7 +193,7 @@ def create_membership_person_type_obj( fail_any: bool = False, # Fail if any thing goes wrong for sub objects return_outline: bool = False, ) -> bool|dict|int: - log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) # ### SECTION ### Secondary data validation @@ -237,6 +238,24 @@ def create_membership_person_type_obj( log.debug(membership_person_type_dict_in_result) membership_person_type_id = membership_person_type_dict_in_result + membership_person_data = {} + membership_person_data['id'] = membership_person_id + membership_person_data['membership_person_type_id'] = membership_person_type_id + + # NOTE: Need to update the membership_person record with the new primary membership person type record. + # NOTE: This makes it so that there is only one primary type. + if membership_person_dict_up_result := sql_update( + data = membership_person_data, + table_name = 'membership_person', + rm_id_random = True + ): + log.debug(f'Returning True') + log.debug(membership_person_dict_up_result) + else: + log.warning(f'Membership Person not updated with the new Membership Person Type ID. Membership Person ID: {membership_person_id}; Membership Person Type ID: {membership_person_type_id}') + log.debug(membership_person_type_dict_up_result) + return False + log.info(f'Returning the Membership Person Type ID: {membership_person_type_id}') return membership_person_type_id diff --git a/app/models/membership_person_models.py b/app/models/membership_person_models.py index d045d34..d735c19 100644 --- a/app/models/membership_person_models.py +++ b/app/models/membership_person_models.py @@ -20,7 +20,7 @@ from app.models.product_models import Product_Base class Membership_Person_Base(BaseModel): - log.setLevel(logging.INFO) + log.setLevel(logging.DEBUG) log.debug(locals()) id_random: Optional[str] = Field( @@ -69,13 +69,13 @@ class Membership_Person_Base(BaseModel): membership_group_status_name: Optional[str] membership_type_id_random: Optional[str] = Field( - alias = 'type_id_random', + # alias = 'type_id_random', ) # NOTE: This is not optional membership_type_id: Optional[int] = Field( - alias = 'type_id', + # alias = 'type_id', ) # NOTE: This is not optional membership_type_name: Optional[str] = Field( - alias = 'type_name', + # alias = 'type_name', ) membership_person_type_id_random: Optional[str] = Field( @@ -86,11 +86,11 @@ class Membership_Person_Base(BaseModel): ) # NOTE: This is not optional membership_person_type_name: Optional[str] = Field( - alias = 'membership_type_name', # type_person_name + # alias = 'membership_type_name', # type_person_name ) - membership_type_status_id: Optional[int] - membership_type_status_name: Optional[str] + membership_person_type_status_id: Optional[int] + membership_person_type_status_name: Optional[str] person_id_random: Optional[str] person_id: Optional[int] @@ -146,6 +146,7 @@ class Membership_Person_Base(BaseModel): membership_group_list: Optional[list[Membership_Group_Base]] membership_type: Optional[Membership_Type_Base] # The primary membership type option they currently have + # membership_type: Optional[dict] membership_type_list: Optional[list[Membership_Type_Base]] # membership_group_list: Optional[list] = Field( @@ -200,7 +201,7 @@ class Membership_Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['account_id_random']: + if values.get('account_id_random'): return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account') return None @@ -236,7 +237,7 @@ class Membership_Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['membership_person_type_id_random']: + if values.get('membership_person_type_id_random'): return redis_lookup_id_random(record_id_random=values['membership_person_type_id_random'], table_name='membership_person_type') return None @@ -245,7 +246,7 @@ class Membership_Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['person_id_random']: + if values.get('person_id_random'): return redis_lookup_id_random(record_id_random=values['person_id_random'], table_name='person') return None @@ -263,7 +264,7 @@ class Membership_Person_Base(BaseModel): log.setLevel(logging.WARNING) log.debug(locals()) - if values['user_id_random']: + if values.get('user_id_random'): return redis_lookup_id_random(record_id_random=values['user_id_random'], table_name='user') return None diff --git a/app/models/membership_person_type_models.py b/app/models/membership_person_type_models.py index 1936322..3d087ad 100644 --- a/app/models/membership_person_type_models.py +++ b/app/models/membership_person_type_models.py @@ -14,7 +14,7 @@ from app.models.product_models import Product_Base class Membership_Person_Type_Base(BaseModel): - log.setLevel(logging.WARNING) + log.setLevel(logging.DEBUG) log.debug(locals()) id_random: Optional[str] = Field( @@ -30,13 +30,13 @@ class Membership_Person_Type_Base(BaseModel): account_id: Optional[int] membership_type_id_random: Optional[str] = Field( - alias = 'type_id_random', + # alias = 'type_id_random', ) # NOTE: This is not optional membership_type_id: Optional[int] = Field( - alias = 'type_id', + # alias = 'type_id', ) # NOTE: This is not optional membership_type_name: Optional[str] = Field( - alias = 'type_name', + # alias = 'type_name', ) membership_person_id_random: Optional[str] @@ -46,10 +46,10 @@ class Membership_Person_Type_Base(BaseModel): product_id: Optional[int] # The product they purchased to get this membership lu_membership_type_status_id: Optional[int] = Field( - alias = 'status_id' + # alias = 'status_id' ) membership_type_status_name: Optional[str] = Field( - alias = 'status_name' + # alias = 'status_name' ) level: Optional[int] = Field(0, ge=0, lt=150) diff --git a/app/routers/membership_person.py b/app/routers/membership_person.py index 6b2a5d5..0e6d968 100644 --- a/app/routers/membership_person.py +++ b/app/routers/membership_person.py @@ -11,6 +11,7 @@ from app.routers.api_crud import delete_obj_template, get_obj_template, get_obj_ from app.methods.membership_person_methods import create_membership_person_obj, get_membership_person_rec_list, load_membership_person_obj, update_membership_person_obj +from app.models.common_field_schema import default_num_bytes from app.models.membership_person_models import Membership_Person_Base from app.models.response_models import Resp_Body_Base, mk_resp @@ -50,7 +51,7 @@ async def post_membership_person_obj( else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The person ID was invalid or not found.') # ### SECTION ### Process data - if create_membership_person_obj_result := create_membership_person_obj( + if membership_person_id := create_membership_person_obj( account_id = commons.x_account_id, person_id = person_id, membership_person_dict_obj = membership_person_obj, diff --git a/app/routers/person.py b/app/routers/person.py index 574bdc1..f2967a1 100644 --- a/app/routers/person.py +++ b/app/routers/person.py @@ -12,6 +12,7 @@ from app.routers.api_crud import delete_obj_template, get_obj_template, get_obj_ # from app.methods.membership_person_methods import load_membership_person_obj from app.methods.person_methods import create_person_kiss, create_update_person_obj_v4b, handle_email_person_auth_key_url, get_person_rec_list, get_person_rec_w_external_id, load_person_obj, update_person_obj, update_person_kiss +from app.models.common_field_schema import default_num_bytes from app.models.person_models import Person_Base from app.models.response_models import Resp_Body_Base, mk_resp