diff --git a/app/db_sql.py b/app/db_sql.py index 10c4049..425e281 100644 --- a/app/db_sql.py +++ b/app/db_sql.py @@ -831,7 +831,8 @@ def sql_select( result = run_sql_select(sql=sql, data=data) # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(f'Row count: {result.rowcount}') + if result: + log.debug(f'Row count: {result.rowcount}') # log.debug(vars(result)) # log.debug(dir(result)) diff --git a/app/models/site_domain_models.py b/app/models/site_domain_models.py index 8faa550..81ec394 100644 --- a/app/models/site_domain_models.py +++ b/app/models/site_domain_models.py @@ -67,3 +67,84 @@ class Site_Domain_Base(BaseModel): underscore_attrs_are_private = True fields = base_fields # ### END ### API Site Domain Models ### Site_Domain_Base() ### + + +# ### BEGIN ### API Site Domain Models ### Site_Domain_FQDN_ID_Base() ### +class Site_Domain_FQDN_ID_Base(BaseModel): + log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log.debug(locals()) + + id_random: Optional[str] = Field( + # **base_fields['site_domain_id_random'], + # alias = 'site_domain_id_random', + ) + id: Optional[int] = Field( + alias = 'site_domain_id' + ) + + site_id_random: Optional[str] + site_id: Optional[int] + + site_domain_id_random: Optional[str] + site_domain_id: Optional[int] + + fqdn: Optional[str] + + # restrict_access: Optional[bool] + access_key: Optional[str] + required_referrer: Optional[str] + + valid_for: Optional[int] # number of hours + enable: Optional[bool] + + created_on: Optional[datetime.datetime] = None + updated_on: Optional[datetime.datetime] = None + + # Including convenience data + # This is only for convenience. Probably going to keep unless it causes a problem. + # account_id: Optional[int] + account_id_random: Optional[str] + + _processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now) + + # @validator('id', always=True) + # def site_domain_id_lookup(cls, v, values, **kwargs): + # log.setLevel(logging.WARNING) + # log.debug(locals()) + + # if values['id_random']: + # log.debug(values['id_random']) + # return redis_lookup_id_random(record_id_random=values['id_random'], table_name='site_domain') + # return None + + # @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('site_id', always=True) + def site_id_lookup(cls, v, values, **kwargs): + log.setLevel(logging.WARNING) + log.debug(locals()) + + if values['site_id_random']: + return redis_lookup_id_random(record_id_random=values['site_id_random'], table_name='site') + return None + + @validator('site_domain_id', always=True) + def site_domain_id_lookup(cls, v, values, **kwargs): + log.setLevel(logging.WARNING) + log.debug(locals()) + + if values['site_domain_id_random']: + return redis_lookup_id_random(record_id_random=values['site_domain_id_random'], table_name='site') + return None + + class Config: + underscore_attrs_are_private = True + fields = base_fields +# ### END ### API Site Domain Models ### Site_Domain_FQDN_ID_Base() ### diff --git a/app/routers/api_crud.py b/app/routers/api_crud.py index c5627cb..4e6f9c0 100644 --- a/app/routers/api_crud.py +++ b/app/routers/api_crud.py @@ -99,7 +99,7 @@ obj_type_li['page'] = {'table_name': 'page', 'tbl_name_update': 'page', 'base_na obj_type_li['person'] = {'table_name': 'v_person', 'tbl_name_update': 'person', 'base_name': Person_Base} obj_type_li['site'] = {'table_name': 'site', 'tbl_name_update': 'site', 'base_name': Site_Base} -obj_type_li['site_domain'] = {'table_name': 'v_site_domain', 'table_name_alt': 'v_site_domain_fqdn_id', 'tbl_name_update': 'site_domain', 'base_name': Site_Domain_Base} # NOTE check view name: *_detail? +obj_type_li['site_domain'] = {'table_name': 'v_site_domain', 'table_name_alt': 'v_site_domain_fqdn_id', 'tbl_name_update': 'site_domain', 'base_name': Site_Domain_Base, 'base_name_alt': Site_Domain_FQDN_ID_Base} # NOTE check view name: *_detail? obj_type_li['user'] = {'table_name': 'v_user', 'tbl_name_update': 'user', 'base_name': User_Base} obj_type_li['user_role'] = {'table_name': 'v_user_role', 'tbl_name_update': 'user_role', 'base_name': User_Role_Base} # NOTE check view name: *_detail? @@ -470,6 +470,8 @@ async def get_obj( if use_alt_base: base_name = obj_type_li[obj_name]['base_name_alt'] + log.setLevel(logging.DEBUG) + log.debug(debug_data) else: base_name = obj_type_li[obj_name]['base_name']