Patch/api v1.20.0 (#2708)

* fix(chalice): heatmap support operators

* fix(chalice): heatmap click-rage
This commit is contained in:
Kraiem Taha Yassine 2024-10-29 17:08:59 +01:00 committed by GitHub
parent ef482d35a8
commit 16656d5618
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 23 additions and 23 deletions

View file

@ -27,8 +27,8 @@ def get_by_url(project_id, data: schemas.GetHeatMapPayloadSchema):
args["url"] = helper.values_for_operator(data.url, data.operator) args["url"] = helper.values_for_operator(data.url, data.operator)
query_from = "events.clicks INNER JOIN sessions USING (session_id)" query_from = "events.clicks INNER JOIN sessions USING (session_id)"
has_click_rage_filter = False
# TODO: is this used ? # TODO: is this used ?
# has_click_rage_filter = False
# if len(data.filters) > 0: # if len(data.filters) > 0:
# for i, f in enumerate(data.filters): # for i, f in enumerate(data.filters):
# if f.type == schemas.FilterType.issue and len(f.value) > 0: # if f.type == schemas.FilterType.issue and len(f.value) > 0:
@ -55,15 +55,15 @@ def get_by_url(project_id, data: schemas.GetHeatMapPayloadSchema):
# f.value, value_key=f_k)) # f.value, value_key=f_k))
# constraints.append(sh.multi_conditions(f"mis.type = %({f_k})s", # constraints.append(sh.multi_conditions(f"mis.type = %({f_k})s",
# f.value, value_key=f_k)) # f.value, value_key=f_k))
# TODO: change this once click-rage is fixed
if data.click_rage and not has_click_rage_filter: # if data.click_rage and not has_click_rage_filter:
constraints.append("""(issues.session_id IS NULL # constraints.append("""(issues.session_id IS NULL
OR (issues.timestamp >= %(startDate)s # OR (issues.timestamp >= %(startDate)s
AND issues.timestamp <= %(endDate)s # AND issues.timestamp <= %(endDate)s
AND mis.project_id = %(project_id)s # AND mis.project_id = %(project_id)s
AND mis.type='click_rage'))""") # AND mis.type='click_rage'))""")
query_from += """LEFT JOIN events_common.issues USING (timestamp, session_id) # query_from += """LEFT JOIN events_common.issues USING (timestamp, session_id)
LEFT JOIN issues AS mis USING (issue_id)""" # LEFT JOIN issues AS mis USING (issue_id)"""
with pg_client.PostgresClient() as cur: with pg_client.PostgresClient() as cur:
query = cur.mogrify(f"""SELECT normalized_x, normalized_y query = cur.mogrify(f"""SELECT normalized_x, normalized_y
FROM {query_from} FROM {query_from}

View file

@ -33,8 +33,8 @@ def get_by_url(project_id, data: schemas.GetHeatMapPayloadSchema):
args["url"] = helper.values_for_operator(data.url, data.operator) args["url"] = helper.values_for_operator(data.url, data.operator)
query_from = f"{exp_ch_helper.get_main_events_table(data.startTimestamp)} AS main_events" query_from = f"{exp_ch_helper.get_main_events_table(data.startTimestamp)} AS main_events"
has_click_rage_filter = False
# TODO: is this used ? # TODO: is this used ?
# has_click_rage_filter = False
# if len(data.filters) > 0: # if len(data.filters) > 0:
# for i, f in enumerate(data.filters): # for i, f in enumerate(data.filters):
# if f.type == schemas.FilterType.issue and len(f.value) > 0: # if f.type == schemas.FilterType.issue and len(f.value) > 0:
@ -61,18 +61,18 @@ def get_by_url(project_id, data: schemas.GetHeatMapPayloadSchema):
# f.value, value_key=f_k)) # f.value, value_key=f_k))
# constraints.append(sh.multi_conditions(f"mis.type = %({f_k})s", # constraints.append(sh.multi_conditions(f"mis.type = %({f_k})s",
# f.value, value_key=f_k)) # f.value, value_key=f_k))
# TODO: change this once click-rage is fixed
if data.click_rage and not has_click_rage_filter: # if data.click_rage and not has_click_rage_filter:
constraints.append("""(issues_t.session_id IS NULL # constraints.append("""(issues_t.session_id IS NULL
OR (issues_t.datetime >= toDateTime(%(startDate)s/1000) # OR (issues_t.datetime >= toDateTime(%(startDate)s/1000)
AND issues_t.datetime <= toDateTime(%(endDate)s/1000) # AND issues_t.datetime <= toDateTime(%(endDate)s/1000)
AND issues_t.project_id = toUInt16(%(project_id)s) # AND issues_t.project_id = toUInt16(%(project_id)s)
AND issues_t.event_type = 'ISSUE' # AND issues_t.event_type = 'ISSUE'
AND issues_t.project_id = toUInt16(%(project_id)s) # AND issues_t.project_id = toUInt16(%(project_id)s)
AND mis.project_id = toUInt16(%(project_id)s) # AND mis.project_id = toUInt16(%(project_id)s)
AND mis.type='click_rage'))""") # AND mis.type='click_rage'))""")
query_from += """ LEFT JOIN experimental.events AS issues_t ON (main_events.session_id=issues_t.session_id) # query_from += """ LEFT JOIN experimental.events AS issues_t ON (main_events.session_id=issues_t.session_id)
LEFT JOIN experimental.issues AS mis ON (issues_t.issue_id=mis.issue_id)""" # LEFT JOIN experimental.issues AS mis ON (issues_t.issue_id=mis.issue_id)"""
with ch_client.ClickHouseClient() as cur: with ch_client.ClickHouseClient() as cur:
query = cur.format(f"""SELECT main_events.normalized_x AS normalized_x, query = cur.format(f"""SELECT main_events.normalized_x AS normalized_x,
main_events.normalized_y AS normalized_y main_events.normalized_y AS normalized_y