diff --git a/api/chalicelib/core/alerts_processor.py b/api/chalicelib/core/alerts_processor.py index 76f08c3e56..efb344785e 100644 --- a/api/chalicelib/core/alerts_processor.py +++ b/api/chalicelib/core/alerts_processor.py @@ -2,6 +2,7 @@ import logging from decouple import config +from pydantic_core._pydantic_core import ValidationError import schemas from chalicelib.core import alerts_listener @@ -109,11 +110,18 @@ def Build(a): if a["seriesId"] is not None: a["filter"]["sort"] = "session_id" a["filter"]["order"] = schemas.SortOrderType.desc - a["filter"]["startDate"] = -1 + a["filter"]["startDate"] = 0 a["filter"]["endDate"] = TimeUTC.now() - full_args, query_part = sessions.search_query_parts( - data=schemas.SessionsSearchPayloadSchema.model_validate(a["filter"]), error_status=None, errors_only=False, - issue=None, project_id=a["projectId"], user_id=None, favorite_only=False) + try: + data = schemas.SessionsSearchPayloadSchema.model_validate(a["filter"]) + except ValidationError: + logging.warning("Validation error for:") + logging.warning(a["filter"]) + raise + + full_args, query_part = sessions.search_query_parts(data=data, error_status=None, errors_only=False, + issue=None, project_id=a["projectId"], user_id=None, + favorite_only=False) subQ = f"""SELECT COUNT(session_id) AS value {query_part}""" else: diff --git a/ee/api/chalicelib/core/alerts_processor.py b/ee/api/chalicelib/core/alerts_processor.py index 57ea07da7e..6927861196 100644 --- a/ee/api/chalicelib/core/alerts_processor.py +++ b/ee/api/chalicelib/core/alerts_processor.py @@ -2,10 +2,11 @@ import logging from decouple import config +from pydantic_core._pydantic_core import ValidationError import schemas -from chalicelib.core import alerts_listener from chalicelib.core import alerts +from chalicelib.core import alerts_listener from chalicelib.utils import pg_client from chalicelib.utils.TimeUTC import TimeUTC @@ -114,11 +115,17 @@ def Build(a): if a["seriesId"] is not None: a["filter"]["sort"] = "session_id" a["filter"]["order"] = schemas.SortOrderType.desc - a["filter"]["startDate"] = -1 + a["filter"]["startDate"] = 0 a["filter"]["endDate"] = TimeUTC.now() - full_args, query_part = sessions.search_query_parts( - data=schemas.SessionsSearchPayloadSchema.model_validate(a["filter"]), error_status=None, errors_only=False, - issue=None, project_id=a["projectId"], user_id=None, favorite_only=False) + try: + data = schemas.SessionsSearchPayloadSchema.model_validate(a["filter"]) + except ValidationError: + logging.warning("Validation error for:") + logging.warning(a["filter"]) + raise + full_args, query_part = sessions.search_query_parts(data=data, error_status=None, errors_only=False, + issue=None, project_id=a["projectId"], user_id=None, + favorite_only=False) subQ = f"""SELECT COUNT(session_id) AS value {query_part}""" else: diff --git a/ee/api/chalicelib/core/alerts_processor_exp.py b/ee/api/chalicelib/core/alerts_processor_exp.py index 310c6faa9b..dba05fc412 100644 --- a/ee/api/chalicelib/core/alerts_processor_exp.py +++ b/ee/api/chalicelib/core/alerts_processor_exp.py @@ -1,13 +1,14 @@ import logging from decouple import config +from pydantic_core._pydantic_core import ValidationError import schemas -from chalicelib.core import alerts_listener, alerts_processor from chalicelib.core import alerts +from chalicelib.core import alerts_listener, alerts_processor +from chalicelib.core import sessions_exp as sessions from chalicelib.utils import pg_client, ch_client, exp_ch_helper from chalicelib.utils.TimeUTC import TimeUTC -from chalicelib.core import sessions_exp as sessions logging.basicConfig(level=config("LOGLEVEL", default=logging.INFO)) @@ -122,11 +123,18 @@ def Build(a): if a["seriesId"] is not None: a["filter"]["sort"] = "session_id" a["filter"]["order"] = schemas.SortOrderType.desc - a["filter"]["startDate"] = -1 + a["filter"]["startDate"] = 0 a["filter"]["endDate"] = TimeUTC.now() - full_args, query_part = sessions.search_query_parts_ch( - data=schemas.SessionsSearchPayloadSchema.parse_obj(a["filter"]), error_status=None, errors_only=False, - issue=None, project_id=a["projectId"], user_id=None, favorite_only=False) + try: + data = schemas.SessionsSearchPayloadSchema.model_validate(a["filter"]) + except ValidationError: + logging.warning("Validation error for:") + logging.warning(a["filter"]) + raise + + full_args, query_part = sessions.search_query_parts_ch(data=data, error_status=None, errors_only=False, + issue=None, project_id=a["projectId"], user_id=None, + favorite_only=False) subQ = f"""SELECT COUNT(session_id) AS value {query_part}""" else: