Working on membership still...

This commit is contained in:
Scott Idem
2021-06-24 14:17:29 -04:00
parent 6f21a567a7
commit ea254c584f
11 changed files with 133 additions and 93 deletions

View File

@@ -622,20 +622,20 @@ def load_account_obj_membership_type(
log.error(e.json())
if inc_account_cfg:
if account_cfg_dict := load_account_cfg_obj(
account_id = account_id,
model_as_dict = model_as_dict,
inc_membership_cfg = inc_membership_cfg,
):
account_obj.account_cfg = account_cfg_dict
if account_cfg_result := load_account_cfg_obj(
account_id = account_id,
model_as_dict = model_as_dict,
inc_membership_cfg = inc_membership_cfg,
):
account_obj.account_cfg = account_cfg_result
else: account_obj.account_cfg = None
if inc_membership_cfg:
if membership_cfg_dict := load_membership_cfg_obj(
account_id = account_id,
model_as_dict = model_as_dict,
):
account_obj.membership_cfg = membership_cfg_dict
if membership_cfg_result := load_membership_cfg_obj(
account_id = account_id,
model_as_dict = model_as_dict,
):
account_obj.membership_cfg = membership_cfg_result
else: account_obj.membership_cfg = None
# Updated 2021-06-18
@@ -676,7 +676,6 @@ def load_account_obj_membership_type(
# ### BEGIN ### API Account Methods ### load_account_obj_membership_group() ###
# Working well as of 2021-06-11. Using as a template for other load objects.
def load_account_obj_membership_group(

View File

@@ -25,14 +25,14 @@ def load_membership_group_obj(
inc_address: bool = False,
inc_contact: bool = False,
inc_membership_cfg: bool = False,
inc_membership_group_member_list: bool = False,
inc_membership_group_member_list: bool = False, # List of members that are a part of this group
inc_membership_member: bool = False,
inc_membership_member_profile: bool = False, # under membership_member
inc_membership_type_list: bool = False, # ???
# inc_membership_type_list: bool = False, # ???
inc_organization: bool = False,
# inc_parent_membership_group: bool = False,
inc_parent_membership_group: bool = False,
inc_person: bool = False,
inc_product_list: bool = False,
inc_product_list: bool = False, # List of products that give access to this group
inc_user: bool = False,
) -> Membership_Group_Base|bool:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
@@ -53,14 +53,14 @@ def load_membership_group_obj(
except ValidationError as e:
log.error(e.json())
# Updated 2021-06-23
# Updated 2021-06-24
if inc_membership_cfg:
if membership_cfg_obj_result := load_membership_cfg_obj(
account_id = membership_group_rec.get('account_id', None),
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
):
account_id = membership_group_rec.get('account_id', None),
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
):
membership_group_obj.cfg = membership_cfg_obj_result
else: membership_group_obj.cfg = None

View File

@@ -7,9 +7,11 @@ from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, v
from app.lib_general import log, logging
from app.db_sql import redis_lookup_id_random, sql_insert_or_update, sql_select
from app.methods.membership_cfg_methods import load_membership_cfg_obj
from app.methods.membership_group_member_methods import get_membership_group_member_rec_list, load_membership_group_member_obj
from app.methods.membership_group_methods import get_membership_group_rec_list, load_membership_group_obj
from app.methods.membership_member_profile_methods import get_membership_member_profile_rec_list, load_membership_member_profile_obj
# from app.methods.membership_type_methods import load_membership_type_obj
from app.methods.person_methods import load_person_obj
from app.methods.user_methods import load_user_obj
@@ -27,13 +29,14 @@ def load_membership_member_obj(
inc_address: bool = False,
inc_contact: bool = False,
inc_membership_cfg: bool = False,
inc_membership_group_list: bool = False,
inc_membership_group_list: bool = False, # The list of groups the member is a part of
inc_membership_member_profile: bool = False,
inc_membership_type: bool = False,
# inc_membership_member_profile_cust: bool = False,
inc_membership_member_profile_cust: bool = False, # Extended profile?
inc_membership_type: bool = False, # The member_type the member is
inc_organization: bool = False,
inc_person: bool = False,
inc_product: bool = False, # The product the person actually purchased for a member_type or member_group
inc_product_list: bool = False, # The list of products that give access to a member_type or member_group
inc_user: bool = False,
) -> Membership_Member_Base:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
@@ -51,8 +54,19 @@ def load_membership_member_obj(
except ValidationError as e:
log.error(e.json())
# Updated 2021-06-24
if inc_membership_cfg:
if membership_cfg_obj_result := load_membership_cfg_obj(
account_id = membership_member_rec.get('account_id', None),
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
):
membership_member_obj.cfg = membership_cfg_obj_result
else: membership_member_obj.cfg = None
# Updated 2021-06-18
if inc_membership_group_list:
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(
for_obj_type = 'membership_member',
for_obj_id = membership_member_id,
@@ -73,22 +87,11 @@ def load_membership_member_obj(
# inc_organization = inc_organization,
# inc_person = inc_person,
# inc_product = inc_product,
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_group_result_list.append(
# load_membership_group_obj(
# membership_group_id = membership_group_rec.get('membership_group_id', None),
# # limit = limit,
# by_alias = by_alias,
# exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
# # enabled = enabled,
# )
# )
membership_member_obj.membership_group_list = membership_group_result_list
else: membership_member_obj.membership_group_list = []
@@ -104,6 +107,7 @@ def load_membership_member_obj(
inc_address = inc_address,
inc_contact = inc_contact,
# inc_membership = inc_membership,
# inc_membership_cfg = inc_membership_cfg,
inc_organization = inc_organization,
):
membership_member_obj.membership_member_profile = membership_member_profile_result
@@ -112,17 +116,22 @@ def load_membership_member_obj(
# Updated 2021-06-18
if inc_membership_type:
from app.methods.membership_type_methods import load_membership_type_obj
membership_type_id = membership_member_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,
limit = limit,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
inc_address = inc_address,
inc_contact = inc_contact,
enabled = enabled,
# inc_address = inc_address,
# inc_contact = inc_contact,
# inc_membership = inc_membership,
# inc_membership_cfg = inc_membership_cfg,
# inc_organization = inc_organization,
inc_product_list = inc_product_list,
):
membership_member_obj.membership_type = membership_type_result
else: membership_member_obj.membership_type = None

View File

@@ -64,13 +64,13 @@ def load_membership_type_obj(
# Updated 2021-06-23
if inc_membership_cfg:
if membership_cfg_obj_result := load_membership_cfg_obj(
account_id = membership_type_rec.get('account_id', None),
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
):
membership_type_obj.cfg = membership_cfg_obj_result
if membership_cfg_result := load_membership_cfg_obj(
account_id = membership_type_rec.get('account_id', None),
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
):
membership_type_obj.cfg = membership_cfg_result
else: membership_type_obj.cfg = None
# Updated 2021-06-23
@@ -146,7 +146,7 @@ def get_membership_type_rec_list(
data[f'{for_obj_type}_id'] = for_obj_id
allowed_forign_key_li = ['account'] # 'lu_membership_type_id'? 'level'?
if for_obj_type == 'account':
if for_obj_type in allowed_forign_key_li:
log.info(f'Query using forign key: {for_obj_type} {for_obj_id}')
sql_obj_type_id = f'`tbl`.{for_obj_type}_id = :{for_obj_type}_id'