def _wrap_tenant_id_filter()

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