Working on membership management

This commit is contained in:
Scott Idem
2021-04-14 17:28:19 -04:00
parent d412ddac0a
commit 576fa80a41
2 changed files with 27 additions and 3 deletions

View File

@@ -163,7 +163,7 @@ def save_membership_obj(order_obj_new:Membership_Base=None):
# ### BEGIN ### API Membership Model ### load_membership_obj() ### # ### BEGIN ### API Membership Model ### load_membership_obj() ###
def load_membership_obj(membership_id:int|str, inc_membership_profile:bool=False, inc_membership_cfg:bool=False, inc_extended_profile:bool=False) -> Membership_Base: def load_membership_obj(membership_id:int|str, inc_membership_profile:bool=False, inc_membership_cfg:bool=False, inc_extended_profile:bool=False, inc_person:bool=False, inc_user:bool=False) -> Membership_Base:
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())
@@ -197,6 +197,20 @@ def load_membership_obj(membership_id:int|str, inc_membership_profile:bool=False
membership_rec['extended_profile'] = extended_profile_rec membership_rec['extended_profile'] = extended_profile_rec
if inc_person:
if person_rec := sql_select(table_name='v_person', record_id=membership_rec.get('person_id')):
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(person_rec)
membership_rec['person'] = person_rec
if inc_user:
if user_rec := sql_select(table_name='v_user', record_id=membership_rec.get('user_id')):
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(user_rec)
membership_rec['user'] = user_rec
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL #log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(membership_rec) log.debug(membership_rec)
else: else:

View File

@@ -100,6 +100,8 @@ async def lookup_membership_obj(
inc_membership_profile: bool = True, inc_membership_profile: bool = True,
inc_membership_cfg: bool = True, inc_membership_cfg: bool = True,
inc_extended_profile: bool = True, inc_extended_profile: bool = True,
inc_person: bool = True,
inc_user: bool = True,
by_alias: bool = True, by_alias: bool = True,
exclude_unset: bool = True, exclude_unset: bool = True,
): ):
@@ -128,6 +130,10 @@ async def lookup_membership_obj(
data['user_id'] = for_obj_id data['user_id'] = for_obj_id
sql_where_for_obj_type = """`membership`.user_id = :user_id""" sql_where_for_obj_type = """`membership`.user_id = :user_id"""
sql_limit = 'LIMIT 1' sql_limit = 'LIMIT 1'
elif for_obj_type == 'membership' and for_obj_id:
data['membership_id'] = for_obj_id
sql_where_for_obj_type = """`membership`.id = :membership_id"""
sql_limit = 'LIMIT 1'
else: else:
log.debug(f'Object type={for_obj_type}; Object ID={for_obj_id}') log.debug(f'Object type={for_obj_type}; Object ID={for_obj_id}')
return mk_resp(data=False, status_code=400) # Bad Request return mk_resp(data=False, status_code=400) # Bad Request
@@ -147,7 +153,9 @@ async def lookup_membership_obj(
membership_id=membership_id, membership_id=membership_id,
inc_membership_profile=inc_membership_profile, inc_membership_profile=inc_membership_profile,
inc_membership_cfg=inc_membership_cfg, inc_membership_cfg=inc_membership_cfg,
inc_extended_profile=inc_extended_profile inc_extended_profile=inc_extended_profile,
inc_person=inc_person,
inc_user=inc_user,
).dict(by_alias=by_alias, exclude_unset=exclude_unset) ).dict(by_alias=by_alias, exclude_unset=exclude_unset)
data = membership_obj data = membership_obj
elif isinstance(membership_obj_result, list): elif isinstance(membership_obj_result, list):
@@ -159,7 +167,9 @@ async def lookup_membership_obj(
membership_id=membership_id, membership_id=membership_id,
inc_membership_profile=inc_membership_profile, inc_membership_profile=inc_membership_profile,
inc_membership_cfg=inc_membership_cfg, inc_membership_cfg=inc_membership_cfg,
inc_extended_profile=inc_extended_profile inc_extended_profile=inc_extended_profile,
inc_person=inc_person,
inc_user=inc_user,
).dict(by_alias=by_alias, exclude_unset=exclude_unset) ).dict(by_alias=by_alias, exclude_unset=exclude_unset)
) )
data = membership_obj_li data = membership_obj_li