A lot of changes related to person and membership and event
This commit is contained in:
@@ -138,7 +138,7 @@ class Event_Base(BaseModel):
|
||||
event_presenter_list: Optional[list] # Optional[Event_Presenter_Base]
|
||||
event_session_list: Optional[list] # Optional[Event_Session_Base]
|
||||
event_track_list: Optional[list] # Optional[Event_Track_Base]
|
||||
poc_event_person: Optional[Event_Person_Base]
|
||||
# poc_event_person: Optional[Event_Person_Base]
|
||||
poc_person: Optional[Person_Base]
|
||||
user: Optional[User_Base]
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ 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.event_models import Event_Base
|
||||
# from app.models.event_models import Event_Base # Causes an import loop
|
||||
from app.models.event_badge_models import Event_Badge_Base
|
||||
# from app.models.event_person_detail_models import Event_Person_Detail_Base
|
||||
from app.models.event_registration_models import Event_Registration_Base
|
||||
@@ -26,18 +26,23 @@ class Event_Person_Base(BaseModel):
|
||||
default_factory = lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
)
|
||||
id: Optional[int] = Field(
|
||||
#alias = 'event_person_id'
|
||||
alias = 'event_person_id'
|
||||
)
|
||||
account_id_random: Optional[str]
|
||||
account_id: Optional[int]
|
||||
|
||||
event_id_random: Optional[str]
|
||||
event_id: Optional[int]
|
||||
|
||||
event_badge_id_random: Optional[str]
|
||||
event_badge_id: Optional[int]
|
||||
|
||||
event_registration_id_random: Optional[str]
|
||||
event_registration_id: Optional[int]
|
||||
|
||||
person_id_random: Optional[str]
|
||||
person_id: Optional[int]
|
||||
|
||||
user_id_random: Optional[str]
|
||||
user_id: Optional[int]
|
||||
|
||||
@@ -50,6 +55,7 @@ class Event_Person_Base(BaseModel):
|
||||
updated_on: Optional[datetime.datetime] = None
|
||||
|
||||
# Including other related objects
|
||||
# event: Optional[Event_Base] # Causes an import loop
|
||||
event_abstract_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more abstracts
|
||||
event_badge: Optional[Event_Badge_Base]
|
||||
event_exhibit_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more exhibits
|
||||
|
||||
@@ -35,10 +35,10 @@ class Membership_Person_Base(BaseModel):
|
||||
account_id_random: Optional[str]
|
||||
account_id: Optional[int]
|
||||
|
||||
membership_person_status_id: Optional[int] = Field(
|
||||
lu_membership_person_status_id: Optional[int] = Field(
|
||||
alias = 'status_id'
|
||||
)
|
||||
membership_person_status_name: Optional[str] = Field(
|
||||
lu_membership_person_status_name: Optional[str] = Field(
|
||||
alias = 'status_name'
|
||||
)
|
||||
|
||||
@@ -52,6 +52,16 @@ class Membership_Person_Base(BaseModel):
|
||||
alias = 'group_name',
|
||||
)
|
||||
|
||||
membership_group_person_id_random: Optional[str] = Field(
|
||||
alias = 'group_person_id_random',
|
||||
) # NOTE: This is not optional
|
||||
membership_group_person_id: Optional[int] = Field(
|
||||
alias = 'group_person_id',
|
||||
) # NOTE: This is not optional
|
||||
membership_group_person_name: Optional[str] = Field(
|
||||
alias = 'group_person_name',
|
||||
)
|
||||
|
||||
membership_type_id_random: Optional[str] = Field(
|
||||
alias = 'type_id_random',
|
||||
) # NOTE: This is not optional
|
||||
@@ -62,11 +72,31 @@ class Membership_Person_Base(BaseModel):
|
||||
alias = 'type_name',
|
||||
)
|
||||
|
||||
membership_type_person_id_random: Optional[str] = Field(
|
||||
alias = 'type_person_id_random',
|
||||
) # NOTE: This is not optional
|
||||
membership_type_person_id: Optional[int] = Field(
|
||||
alias = 'type_person_id',
|
||||
) # NOTE: This is not optional
|
||||
membership_type_person_name: Optional[str] = Field(
|
||||
alias = 'type_person_name',
|
||||
)
|
||||
|
||||
person_id_random: Optional[str]
|
||||
person_id: Optional[int]
|
||||
|
||||
product_id_random: Optional[str]
|
||||
product_id: Optional[int] # The product they purchased to get this membership
|
||||
# For products use:
|
||||
# link using membership_person.membership_group_person_id to membership_group_person.id
|
||||
# link using membership_person.membership_type_person_id to membership_type_person.id
|
||||
|
||||
# product_id_random: Optional[str]
|
||||
# product_id: Optional[int] # The product they purchased to get this membership
|
||||
|
||||
# membership_group_product_id_random: Optional[str]
|
||||
# membership_group_product_id: Optional[int] # The product they purchased to get this group
|
||||
|
||||
# membership_type_product_id_random: Optional[str]
|
||||
# membership_type_product_id: Optional[int] # The product they purchased to get this type
|
||||
|
||||
user_id_random: Optional[str]
|
||||
user_id: Optional[int]
|
||||
@@ -162,6 +192,15 @@ class Membership_Person_Base(BaseModel):
|
||||
return redis_lookup_id_random(record_id_random=values['membership_group_id_random'], table_name='membership_group')
|
||||
return None
|
||||
|
||||
@validator('membership_group_person_id', always=True)
|
||||
def membership_group_person_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
log.debug(locals())
|
||||
|
||||
if values['membership_group_person_id_random']:
|
||||
return redis_lookup_id_random(record_id_random=values['membership_group_person_id_random'], table_name='membership_group_person')
|
||||
return None
|
||||
|
||||
@validator('membership_type_id', always=True)
|
||||
def membership_type_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
@@ -171,6 +210,15 @@ class Membership_Person_Base(BaseModel):
|
||||
return redis_lookup_id_random(record_id_random=values['membership_type_id_random'], table_name='membership_type')
|
||||
return None
|
||||
|
||||
@validator('membership_type_person_id', always=True)
|
||||
def membership_type_person_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
log.debug(locals())
|
||||
|
||||
if values['membership_type_person_id_random']:
|
||||
return redis_lookup_id_random(record_id_random=values['membership_type_person_id_random'], table_name='membership_type_person')
|
||||
return None
|
||||
|
||||
@validator('person_id', always=True)
|
||||
def person_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
@@ -180,14 +228,14 @@ class Membership_Person_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):
|
||||
|
||||
@@ -26,7 +26,7 @@ class User_New_Base(BaseModel):
|
||||
default_factory = lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
)
|
||||
id: Optional[int] = Field(
|
||||
#alias = 'user_id'
|
||||
alias = 'user_id'
|
||||
)
|
||||
account_id_random: str
|
||||
account_id: Optional[int]
|
||||
|
||||
Reference in New Issue
Block a user