Working on membership module routes, methods, and models

This commit is contained in:
Scott Idem
2021-06-21 17:53:04 -04:00
parent ce44e93b4d
commit 728682a07f
22 changed files with 1184 additions and 267 deletions

View File

@@ -8,9 +8,9 @@ from app.db_sql import redis_lookup_id_random
from app.lib_general import log, logging
from app.models.common_field_schema import base_fields, default_num_bytes
from app.models.membership_models import Membership_Base
from app.models.membership_cfg_models import Membership_Cfg_Base
from app.models.membership_profile_models import Membership_Profile_Base
from app.models.membership_member_profile_models import Membership_Member_Profile_Base
from app.models.membership_type_models import Membership_Type_Base
from app.models.person_models import Person_Base
from app.models.user_models import User_Base
@@ -30,8 +30,8 @@ class Membership_Member_Base(BaseModel):
account_id_random: Optional[str]
account_id: Optional[int]
membership_id_random: Optional[str]
membership_id: Optional[int] # NOTE: This is not optional
membership_type_id_random: Optional[str]
membership_type_id: Optional[int] # NOTE: This is not optional
person_id_random: Optional[str]
person_id: Optional[int]
product_id_random: Optional[str]
@@ -64,11 +64,12 @@ class Membership_Member_Base(BaseModel):
updated_on: Optional[datetime.datetime] = None
# Including other related objects
membership: Optional[Membership_Base] # The membership option they currently have
membership_cfg: Optional[Membership_Cfg_Base]
membership_type: Optional[Membership_Type_Base] # The membership option they currently have
cfg: Optional[Membership_Cfg_Base]
membership_group_list: Optional[list] # Membership_Group_Base() The membership groups they are a part of
membership_profile: Optional[Membership_Profile_Base]
membership_member_profile: Optional[Membership_Member_Profile_Base]
person: Optional[Person_Base]
# product: Optional[Product_Base] # The product used to become a member?
user: Optional[User_Base]
extended_member_profile: Optional[dict] = {}
@@ -102,13 +103,13 @@ class Membership_Member_Base(BaseModel):
return redis_lookup_id_random(record_id_random=values['account_id_random'], table_name='account')
return None
@validator('membership_id', always=True)
def membership_id_lookup(cls, v, values, **kwargs):
@validator('membership_type_id', always=True)
def membership_type_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['membership_id_random']:
return redis_lookup_id_random(record_id_random=values['membership_id_random'], table_name='membership')
if values['membership_type_id_random']:
return redis_lookup_id_random(record_id_random=values['membership_type_id_random'], table_name='membership_type')
return None
@validator('person_id', always=True)
@@ -120,14 +121,14 @@ class Membership_Member_Base(BaseModel):
return redis_lookup_id_random(record_id_random=values['person_id_random'], table_name='person')
return None
@validator('product_id', always=True)
def product_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
# @validator('product_id', always=True)
# def product_id_lookup(cls, v, values, **kwargs):
# log.setLevel(logging.WARNING)
# log.debug(locals())
if values['product_id_random']:
return redis_lookup_id_random(record_id_random=values['product_id_random'], table_name='product')
return None
# if values['product_id_random']:
# return redis_lookup_id_random(record_id_random=values['product_id_random'], table_name='product')
# return None
@validator('user_id', always=True)
def user_id_lookup(cls, v, values, **kwargs):