From fd373a057fc3145cefc4f4b330e9b666a3b898cc Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Wed, 3 Aug 2022 14:11:53 +0200 Subject: [PATCH] feat(chalice): refactored autocomplete --- api/chalicelib/core/autocomplete.py | 16 +++++++++------- ee/api/chalicelib/core/__init__.py | 3 ++- ee/api/chalicelib/core/autocomplete_ee.py | 12 +++++++----- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/api/chalicelib/core/autocomplete.py b/api/chalicelib/core/autocomplete.py index 67f178b6d..168cbbb83 100644 --- a/api/chalicelib/core/autocomplete.py +++ b/api/chalicelib/core/autocomplete.py @@ -1,7 +1,9 @@ +import schemas from chalicelib.utils import helper from chalicelib.utils import pg_client -import schemas -from chalicelib.utils.event_filter_definition import SupportedFilter, Event +from chalicelib.utils.event_filter_definition import Event + +TABLE = "public.autocomplete" def __get_autocomplete_table(value, project_id): @@ -19,14 +21,14 @@ def __get_autocomplete_table(value, project_id): sub_queries = [] for e in autocomplete_events: sub_queries.append(f"""(SELECT type, value - FROM public.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type= '{e}' AND value ILIKE %(svalue)s LIMIT 5)""") if len(value) > 2: sub_queries.append(f"""(SELECT type, value - FROM public.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type= '{e}' AND value ILIKE %(value)s @@ -51,7 +53,7 @@ def __get_autocomplete_table(value, project_id): def __generic_query(typename, value_length=None): if value_length is None or value_length > 2: return f"""(SELECT DISTINCT value, type - FROM public.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type='{typename}' @@ -60,7 +62,7 @@ def __generic_query(typename, value_length=None): LIMIT 5) UNION DISTINCT (SELECT DISTINCT value, type - FROM public.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type='{typename}' @@ -68,7 +70,7 @@ def __generic_query(typename, value_length=None): ORDER BY value LIMIT 5);""" return f"""SELECT DISTINCT value, type - FROM public.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type='{typename}' diff --git a/ee/api/chalicelib/core/__init__.py b/ee/api/chalicelib/core/__init__.py index a396db6fd..81531632c 100644 --- a/ee/api/chalicelib/core/__init__.py +++ b/ee/api/chalicelib/core/__init__.py @@ -1,6 +1,7 @@ from decouple import config -if config("LEGACY_SEARCH", cast=bool, default=True): +if config("LEGACY_SEARCH", cast=bool, default=False): + print(">>> Using legacy search") from . import autocomplete as autocomplete from . import sessions as sessions else: diff --git a/ee/api/chalicelib/core/autocomplete_ee.py b/ee/api/chalicelib/core/autocomplete_ee.py index bf394c199..db2ecb95b 100644 --- a/ee/api/chalicelib/core/autocomplete_ee.py +++ b/ee/api/chalicelib/core/autocomplete_ee.py @@ -3,6 +3,8 @@ from chalicelib.utils import ch_client from chalicelib.utils import helper from chalicelib.utils.event_filter_definition import Event +TABLE = "final.autocomplete" + def __get_autocomplete_table(value, project_id): autocomplete_events = [schemas.FilterType.rev_id, @@ -19,7 +21,7 @@ def __get_autocomplete_table(value, project_id): sub_queries = [] for e in autocomplete_events: sub_queries.append(f"""(SELECT type, value - FROM final.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type= '{e}' AND value ILIKE %(svalue)s @@ -27,7 +29,7 @@ def __get_autocomplete_table(value, project_id): LIMIT 5)""") if len(value) > 2: sub_queries.append(f"""(SELECT type, value - FROM final.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type= '{e}' AND value ILIKE %(value)s @@ -55,7 +57,7 @@ def __get_autocomplete_table(value, project_id): def __generic_query(typename, value_length=None): if value_length is None or value_length > 2: return f"""(SELECT DISTINCT value, type - FROM final.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type='{typename}' @@ -64,7 +66,7 @@ def __generic_query(typename, value_length=None): LIMIT 5) UNION DISTINCT (SELECT DISTINCT value, type - FROM final.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type='{typename}' @@ -72,7 +74,7 @@ def __generic_query(typename, value_length=None): ORDER BY value LIMIT 5);""" return f"""SELECT DISTINCT value, type - FROM final.autocomplete + FROM {TABLE} WHERE project_id = %(project_id)s AND type='{typename}'