Now with person_id

This commit is contained in:
Scott Idem
2024-06-11 19:36:10 -04:00
parent afe127d9fe
commit 35f07a7993

View File

@@ -56,6 +56,9 @@ class Event_Presenter_Base(BaseModel):
event_track_id_random: Optional[str] event_track_id_random: Optional[str]
event_track_id: Optional[int] event_track_id: Optional[int]
person_id_random: Optional[str]
person_id: Optional[int]
for_type: Optional[str] for_type: Optional[str]
for_id: Optional[int] for_id: Optional[int]
@@ -217,6 +220,13 @@ class Event_Presenter_Base(BaseModel):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_session') return redis_lookup_id_random(record_id_random=id_random, table_name='event_session')
return None return None
@validator('person_id', always=True)
def person_id_lookup(cls, v, values, **kwargs):
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('person_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='person')
return None
class Config: class Config:
underscore_attrs_are_private = True underscore_attrs_are_private = True
allow_population_by_field_name = True allow_population_by_field_name = True
@@ -267,6 +277,9 @@ class Event_Presenter_Out_Base(BaseModel):
# event_track_id_random: Optional[str] # event_track_id_random: Optional[str]
# event_track_id: Optional[int] # event_track_id: Optional[int]
person_id_random: Optional[str]
person_id: Optional[int]
# for_type: Optional[str] # for_type: Optional[str]
# for_id: Optional[int] # for_id: Optional[int]
@@ -404,6 +417,13 @@ class Event_Presenter_Out_Base(BaseModel):
return redis_lookup_id_random(record_id_random=id_random, table_name='event_session') return redis_lookup_id_random(record_id_random=id_random, table_name='event_session')
return None return None
@validator('person_id', always=True)
def person_id_lookup(cls, v, values, **kwargs):
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('person_id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='person')
return None
class Config: class Config:
underscore_attrs_are_private = True underscore_attrs_are_private = True
allow_population_by_field_name = True allow_population_by_field_name = True