in python/src/tablestore_for_agent_memory/knowledge/knowledge_store.py [0:0]
def _wrap_tenant_id_filter(self, tenant_id: Optional[Union[List[str], str]] = None, metadata_filter: Optional[Filter] = None) -> Optional[Filter]:
if self._enable_multi_tenant:
if tenant_id is None:
return metadata_filter
if isinstance(tenant_id, str):
if tenant_id == DOCUMENT_DEFAULT_TENANT_ID:
return metadata_filter
else:
if metadata_filter is None:
return Filters.eq("tenant_id", tenant_id)
else:
return Filters.logical_and([Filters.eq("tenant_id", tenant_id), metadata_filter])
elif isinstance(tenant_id, List) or isinstance(tenant_id, list):
if len(tenant_id) == 0:
return metadata_filter
else:
if metadata_filter is None:
return Filters.In("tenant_id", tenant_id)
else:
return Filters.logical_and([Filters.In("tenant_id", tenant_id), metadata_filter])
return metadata_filter