diff --git a/app/models/site_domain_models.py b/app/models/site_domain_models.py index 391978b..ec4d5a0 100644 --- a/app/models/site_domain_models.py +++ b/app/models/site_domain_models.py @@ -42,6 +42,23 @@ class Site_Domain_Base(BaseModel): created_on: Optional[datetime.datetime] = None updated_on: Optional[datetime.datetime] = None + # Convenience fields from v_site_domain view (joined from account/site) + account_code: Optional[str] = None + account_name: Optional[str] = None + account_enable: Optional[bool] = None + account_enable_from: Optional[datetime.datetime] = None + account_enable_to: Optional[datetime.datetime] = None + + site_enable_from: Optional[datetime.datetime] = None + site_enable_to: Optional[datetime.datetime] = None + site_domain_access_key: Optional[str] = None + + logo_path: Optional[str] = None + style_href: Optional[str] = None + script_src: Optional[str] = None + + google_tracking_id: Optional[str] = None + _processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now) @root_validator(pre=True) @@ -55,18 +72,18 @@ class Site_Domain_Base(BaseModel): if rid := values.get('id_random') or values.get('site_domain_id_random'): values['id'] = rid values['site_domain_id'] = rid - + if s_rid := values.get('site_id_random'): values['site_id'] = s_rid - + if a_rid := values.get('account_id_random'): values['account_id'] = a_rid - + # 2. Prevent "Collision Population" for k in ['id', 'site_id', 'account_id']: if k in values and not isinstance(values[k], str): del values[k] - + return values class Config: @@ -98,7 +115,7 @@ class Site_Domain_FQDN_ID_Base(BaseModel): enable: Optional[bool] hide: Optional[bool] = None - + notes: Optional[str] = None created_on: Optional[datetime.datetime] = None updated_on: Optional[datetime.datetime] = None @@ -133,7 +150,7 @@ class Site_Domain_FQDN_ID_Base(BaseModel): values['site_id'] = s_rid if a_rid := values.get('account_id_random'): values['account_id'] = a_rid - + for k in ['id', 'site_id', 'account_id']: if k in values and not isinstance(values[k], str): del values[k]