From 29409aec51a88e1dc6eb626b6e5cdc0184684555 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 13 Nov 2023 18:03:13 -0300 Subject: [PATCH] Refactored tag filtering in StoreService --- .../langflow/services/store/service.py | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/backend/langflow/services/store/service.py b/src/backend/langflow/services/store/service.py index ff61393e3..9f7934d93 100644 --- a/src/backend/langflow/services/store/service.py +++ b/src/backend/langflow/services/store/service.py @@ -144,11 +144,12 @@ class StoreService(Service): filter_conditions.append({"is_component": {"_eq": is_component}}) if tags: - filter_conditions.append({"tags": {"tags_id": {"name": {"_in": tags}}}}) - # tags_filter = {"tags": {"_or": []}} - # for tag in tags: - # tags_filter["tags"]["_or"].append({"tags_id": {"name": {"_eq": tag}}}) - # filter_conditions.append(tags_filter) + tags_filter = {"tags": {"_and": []}} + for tag in tags: + tags_filter["tags"]["_and"].append( + {"_some": {"tags_id": {"name": {"_eq": tag}}}} + ) + filter_conditions.append(tags_filter) if date_from: # params["filter[date_updated][_gte]"] = date_from.isoformat() @@ -247,11 +248,12 @@ class StoreService(Service): filter_conditions.append({"status": {"_eq": status}}) if tags: - filter_conditions.append({"tags": {"tags_id": {"name": {"_in": tags}}}}) - # tags_filter = {"tags": {"_or": []}} - # for tag in tags: - # tags_filter["tags"]["_or"].append({"tags_id": {"name": {"_eq": tag}}}) - # filter_conditions.append(tags_filter) + tags_filter = {"tags": {"_and": []}} + for tag in tags: + tags_filter["tags"]["_and"].append( + {"_some": {"tags_id": {"name": {"_eq": tag}}}} + ) + filter_conditions.append(tags_filter) if is_component is not None: filter_conditions.append({"is_component": {"_eq": is_component}})