From 51c12c3d0cf3e3414d2d0d7ac4819032086b8f88 Mon Sep 17 00:00:00 2001 From: Kraiem Taha Yassine Date: Mon, 8 Jul 2024 12:31:06 +0200 Subject: [PATCH] Dev (#2366) * refactor(chalice): upgraded dependencies * refactor(chalice): upgraded dependencies feat(chalice): support heatmaps * feat(chalice): support table-of-browsers showing user-count * feat(chalice): support table-of-devices showing user-count * feat(chalice): support table-of-URLs showing user-count * fix(chalice): fixed Math-operators validation refactor(chalice): search for sessions that have events for heatmaps * refactor(chalice): search for sessions that have at least 1 location event for heatmaps * fix(chalice): fix wrong received filter payload --- api/schemas/schemas.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/api/schemas/schemas.py b/api/schemas/schemas.py index bf6ca5674..a5e8d6ef0 100644 --- a/api/schemas/schemas.py +++ b/api/schemas/schemas.py @@ -761,14 +761,18 @@ class SessionsSearchPayloadSchema(_TimedSchema, _PaginatedSchema): @model_validator(mode="before") def add_missing_attributes(cls, values): + # in case isEvent is wrong: + for f in values.get("filters"): + if EventType.has_value(f["type"]) and not f.get("isEvent"): + f["isEvent"] = True + elif FilterType.has_value(f["type"]) and f.get("isEvent"): + f["isEvent"] = False + # in case the old search payload was passed if len(values.get("events", [])) > 0: for v in values["events"]: v["isEvent"] = True - # for v in values.get("filters", []): - # if v.get("isEvent") is None: - # v["isEvent"] = False return values @model_validator(mode="before")