feat(api): FOSS search-errors sort

feat(api): EE search-errors sort
This commit is contained in:
Taha Yassine Kraiem 2022-03-15 19:13:20 +01:00
parent 43701dd132
commit 407666e755
3 changed files with 14 additions and 7 deletions

View file

@ -418,9 +418,9 @@ def __get_basic_constraints(platform=None, time_constraint=True, startTime_arg_n
def __get_sort_key(key): def __get_sort_key(key):
return { return {
"datetime": "max_datetime", schemas.ErrorSort.occurrence: "max_datetime",
"lastOccurrence": "max_datetime", schemas.ErrorSort.users_count: "users",
"firstOccurrence": "min_datetime" schemas.ErrorSort.sessions_count: "sessions"
}.get(key, 'max_datetime') }.get(key, 'max_datetime')

View file

@ -600,7 +600,7 @@ class SessionsSearchPayloadSchema(BaseModel):
startDate: int = Field(None) startDate: int = Field(None)
endDate: int = Field(None) endDate: int = Field(None)
sort: str = Field(default="startTs") sort: str = Field(default="startTs")
order: str = Field(default="DESC") order: Literal["asc", "desc"] = Field(default="desc")
events_order: Optional[SearchEventOrder] = Field(default=SearchEventOrder._then) events_order: Optional[SearchEventOrder] = Field(default=SearchEventOrder._then)
group_by_user: bool = Field(default=False) group_by_user: bool = Field(default=False)
limit: int = Field(default=200, gt=0, le=200) limit: int = Field(default=200, gt=0, le=200)
@ -697,7 +697,14 @@ class ErrorStatus(str, Enum):
ignored = 'ignored' ignored = 'ignored'
class ErrorSort(str, Enum):
occurrence = 'occurrence'
users_count = 'users'
sessions_count = 'sessions'
class SearchErrorsSchema(SessionsSearchPayloadSchema): class SearchErrorsSchema(SessionsSearchPayloadSchema):
sort: ErrorSort = Field(default=ErrorSort.occurrence)
density: Optional[int] = Field(7) density: Optional[int] = Field(7)
status: Optional[ErrorStatus] = Field(default=ErrorStatus.all) status: Optional[ErrorStatus] = Field(default=ErrorStatus.all)
query: Optional[str] = Field(default=None) query: Optional[str] = Field(default=None)

View file

@ -438,9 +438,9 @@ def __get_step_size(startTimestamp, endTimestamp, density):
def __get_sort_key(key): def __get_sort_key(key):
return { return {
"datetime": "max_datetime", schemas.ErrorSort.occurrence: "max_datetime",
"lastOccurrence": "max_datetime", schemas.ErrorSort.users_count: "users",
"firstOccurrence": "min_datetime" schemas.ErrorSort.sessions_count: "sessions"
}.get(key, 'max_datetime') }.get(key, 'max_datetime')