Working on membership module routes, methods, and models
This commit is contained in:
@@ -8,7 +8,8 @@ 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_type_models import Membership_Type_Base
|
||||
|
||||
|
||||
class Membership_Group_Base(BaseModel):
|
||||
@@ -23,8 +24,10 @@ class Membership_Group_Base(BaseModel):
|
||||
id: Optional[int] = Field(
|
||||
#alias='membership_group_id'
|
||||
)
|
||||
membership_id_random: Optional[str]
|
||||
membership_id: Optional[int]
|
||||
account_id_random: Optional[str]
|
||||
account_id: Optional[int]
|
||||
membership_type_id_random: Optional[str]
|
||||
membership_type_id: Optional[int]
|
||||
parent_membership_group_id_random: Optional[str]
|
||||
parent_membership_group_id: Optional[int]
|
||||
|
||||
@@ -32,13 +35,18 @@ class Membership_Group_Base(BaseModel):
|
||||
overview: Optional[str]
|
||||
description: Optional[str]
|
||||
|
||||
expire_in_days: Optional[int]
|
||||
|
||||
notes: Optional[str]
|
||||
created_on: Optional[datetime.datetime] = None
|
||||
updated_on: Optional[datetime.datetime] = None
|
||||
|
||||
# Including other related objects
|
||||
membership: Optional[Membership_Base] # The membership option they currently have
|
||||
parent_membership_group: Optional[Membership_Group_Base]
|
||||
cfg: Optional[Membership_Cfg_Base]
|
||||
# membership_type: Optional[Membership_Type_Base] # The membership option/type they currently have
|
||||
membership_group_member_list: Optional[list] # Membership_Group_Member_Base
|
||||
# parent_membership_group: Optional[Membership_Group_Base]
|
||||
product_list: Optional[list] # Product_Base() List of products (for_type and for_id) that get this membership option
|
||||
|
||||
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
|
||||
|
||||
@@ -61,13 +69,22 @@ class Membership_Group_Base(BaseModel):
|
||||
return redis_lookup_id_random(record_id_random=values['id_random'], table_name='membership_group')
|
||||
return None
|
||||
|
||||
@validator('membership_id', always=True)
|
||||
@validator('account_id', always=True)
|
||||
def account_id_lookup(cls, v, values, **kwargs):
|
||||
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')
|
||||
return None
|
||||
|
||||
@validator('membership_type_id', always=True)
|
||||
def membership_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('parent_membership_group_id', always=True)
|
||||
|
||||
Reference in New Issue
Block a user