Working on membership stuff
This commit is contained in:
@@ -22,18 +22,32 @@ class Membership_Member_Base(BaseModel):
|
||||
|
||||
id_random: Optional[str] = Field(
|
||||
**base_fields['membership_member_id_random'],
|
||||
alias='membership_member_id_random',
|
||||
default_factory=lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
)
|
||||
alias = 'membership_member_id_random',
|
||||
default_factory = lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
)
|
||||
id: Optional[int] = Field(
|
||||
#alias='membership_member_id'
|
||||
)
|
||||
alias = 'membership_member_id'
|
||||
)
|
||||
|
||||
account_id_random: Optional[str]
|
||||
account_id: Optional[int]
|
||||
|
||||
membership_type_id_random: Optional[str]
|
||||
membership_type_id: Optional[int] # NOTE: This is not optional
|
||||
membership_member_status_id: Optional[int] = Field(
|
||||
alias = 'status_id'
|
||||
)
|
||||
membership_member_status_name: Optional[str] = Field(
|
||||
alias = 'status_name'
|
||||
)
|
||||
|
||||
membership_type_id_random: Optional[str] = Field(
|
||||
alias = 'type_id_random',
|
||||
) # NOTE: This is not optional
|
||||
membership_type_id: Optional[int] = Field(
|
||||
alias = 'type_id',
|
||||
) # NOTE: This is not optional
|
||||
membership_type_name: Optional[str] = Field(
|
||||
alias = 'type_name',
|
||||
)
|
||||
|
||||
person_id_random: Optional[str]
|
||||
person_id: Optional[int]
|
||||
@@ -44,13 +58,7 @@ class Membership_Member_Base(BaseModel):
|
||||
user_id_random: Optional[str]
|
||||
user_id: Optional[int]
|
||||
|
||||
level_number: Optional[int] = Field(0, ge=0, lt=150)
|
||||
level_name: Optional[str]
|
||||
|
||||
# type_id: Optional[int]
|
||||
# type_name: Optional[str]
|
||||
# status_id: Optional[int]
|
||||
# status_name: Optional[str]
|
||||
level: Optional[int] = Field(0, ge=0, lt=150)
|
||||
|
||||
application_start_on: Optional[datetime.datetime] = None
|
||||
approved_on: Optional[datetime.datetime] = None
|
||||
@@ -70,9 +78,21 @@ class Membership_Member_Base(BaseModel):
|
||||
|
||||
# Including other related objects
|
||||
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_member_profile: Optional[Membership_Member_Profile_Base]
|
||||
membership_cfg: Optional[Membership_Cfg_Base] = Field(
|
||||
alias = 'cfg',
|
||||
)
|
||||
membership_group_list: Optional[list] = Field(
|
||||
alias = 'group_list',
|
||||
) # Membership_Group_Base() The membership groups they are a part of
|
||||
membership_member_profile: Optional[Membership_Member_Profile_Base] = Field(
|
||||
alias = 'profile',
|
||||
)
|
||||
# membership_member_profile: Optional[Membership_Member_Profile_Base] = Field(
|
||||
# alias = 'profile',
|
||||
# )
|
||||
# = Field(
|
||||
# alias = 'extended_membership_member_profile',
|
||||
# )
|
||||
person: Optional[dict] # should be Person_Base() but causes an import loop
|
||||
product: Optional[Product_Base] # The product used to become a member?
|
||||
user: Optional[dict] # should be User_Base() but causes an import loop
|
||||
@@ -126,14 +146,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):
|
||||
@@ -146,6 +166,5 @@ class Membership_Member_Base(BaseModel):
|
||||
|
||||
class Config:
|
||||
underscore_attrs_are_private = True
|
||||
allow_population_by_field_name = True
|
||||
fields = base_fields
|
||||
|
||||
# Membership_Base.update_forward_refs()
|
||||
|
||||
Reference in New Issue
Block a user