Api v1.15.0 (#1522)

* feat(chalice): upgraded dependencies

* feat(chalice): changed path analysis schema

* feat(DB): click coordinate support

* feat(chalice): changed path analysis issues schema
feat(chalice): upgraded dependencies

* fix(chalice): fixed pydantic issue

* refactor(chalice): refresh token validator

* feat(chalice): role restrictions

* feat(chalice): EE path analysis changes

* refactor(DB): changed creation queries
refactor(DB): changed delte queries
feat(DB): support new path analysis payload

* feat(chalice): save path analysis card

* feat(chalice): restrict access

* feat(chalice): restrict access

* feat(chalice): EE save new path analysis card

* refactor(chalice): path analysis

* feat(chalice): path analysis new query

* fix(chalice): configurable CH config

* fix(chalice): assist autocomplete

* refactor(chalice): refactored permissions

* refactor(chalice): changed log level

* refactor(chalice): upgraded dependencies

* refactor(chalice): changed path analysis query

* refactor(chalice): changed path analysis query

* refactor(chalice): upgraded dependencies
refactor(alerts): upgraded dependencies
refactor(crons): upgraded dependencies

* feat(chalice): path analysis ignore start point

* feat(chalice): path analysis in progress

* refactor(chalice): path analysis changed link sort

* refactor(chalice): path analysis changed link sort

* refactor(chalice): path analysis changed link sort

* refactor(chalice): path analysis new query
refactor(chalice): authorizers

* refactor(chalice): refactored authorizer

* fix(chalice): fixed create card of PathAnalysis

* refactor(chalice): compute link-percentage for Path Analysis

* refactor(chalice): remove null starting point from Path Analysis

* feat(chalice): path analysis CH query

* refactor(chalice): changed Path Analysis links-value
fix(chalice): fixed search notes for EE

* feat(chalice): path analysis enhanced query results

* feat(chalice): include timezone in search sessions response

* refactor(chalice): refactored logs

* refactor(chalice): refactored logs
feat(chalice): get path analysis issues

* fix(chalice): fixed path analysis issues pagination

* fix(chalice): sessions-search handle null values

* feat(chalice): PathAnalysis start event support middle-event matching

* feat(chalice): PathAnalysis start event support middle-event matching

* feat(chalice): PathAnalysis support mixed events with start-point

* fix(chalice): PathAnalysis fixed eventType value when metricValue is missing

* fix(chalice): PathAnalysis fixed wrong super-class model for update card

* fix(chalice): PathAnalysis fixed search issues
refactor(chalice): upgraded dependencies

* fix(chalice): enforce isEvent if missing
This commit is contained in:
Kraiem Taha Yassine 2023-10-17 17:10:36 +02:00 committed by GitHub
parent 5aabf1873b
commit c085f17001
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -739,9 +739,15 @@ class SessionsSearchPayloadSchema(_TimedSchema, _PaginatedSchema):
f["value"] = vals
return values
@model_validator(mode="before")
def __force_is_event(cls, values):
for v in values["filters"]:
if v.get("isEvent") is None:
v["isEvent"] = EventType.has_value(v["type"]) or PerformanceEventType.has_value(v["type"])
return values
@model_validator(mode="after")
def split_filters_events(cls, values):
# in case the old search payload was passed
n_filters = []
n_events = []
for v in values.filters:
@ -789,6 +795,13 @@ class PathAnalysisSubFilterSchema(BaseModel):
_remove_duplicate_values = field_validator('value', mode='before')(remove_duplicate_values)
@model_validator(mode="before")
def __force_is_event(cls, values):
for v in values["filters"]:
if v.get("isEvent") is None:
v["isEvent"] = True
return values
class _ProductAnalyticsFilter(BaseModel):
is_event: Literal[False] = False
@ -820,6 +833,13 @@ class PathAnalysisSchema(_TimedSchema, _PaginatedSchema):
filters: List[ProductAnalyticsFilter] = Field(default=[])
type: Optional[str] = Field(default=None)
@model_validator(mode="before")
def __force_is_event(cls, values):
for v in values["filters"]:
if v.get("isEvent") is None:
v["isEvent"] = ProductAnalyticsSelectedEventType.has_value(v["type"])
return values
class MobileSignPayloadSchema(BaseModel):
keys: List[str] = Field(...)
@ -1466,6 +1486,11 @@ class FeatureFlagConditionFilterSchema(BaseModel):
source: Optional[str] = Field(default=None)
sourceOperator: Optional[Union[SearchEventOperator, MathOperator]] = Field(default=None)
@model_validator(mode="before")
def __force_is_event(cls, values):
values["isEvent"] = False
return values
class FeatureFlagCondition(BaseModel):
condition_id: Optional[int] = Field(default=None)