feat(api): top-members data

This commit is contained in:
Shekar Siri 2023-10-09 11:50:59 +02:00
parent d0d3e87642
commit 7d8b25e6f8
2 changed files with 9 additions and 1 deletions

View file

@ -308,7 +308,11 @@ def get_top_members(
CASE WHEN '{sort_by}' = 'sessionsAssisted'
THEN SUM(CASE WHEN ae.event_type = 'assist' THEN 1 ELSE 0 END)
ELSE SUM(CASE WHEN ae.event_type <> 'assist' THEN ae.duration ELSE 0 END)
END AS count
END AS count,
SUM(CASE WHEN ae.event_type = 'assist' THEN ae.duration ELSE 0 END) AS assist_duration,
SUM(CASE WHEN ae.event_type = 'call' THEN ae.duration ELSE 0 END) AS call_duration,
SUM(CASE WHEN ae.event_type = 'control' THEN ae.duration ELSE 0 END) AS control_duration,
SUM(CASE WHEN ae.event_type = 'assist' THEN 1 ELSE 0 END) AS assist_count
FROM assist_events ae
JOIN users u ON u.user_id = ae.agent_id
WHERE {' AND '.join(f'ae.{constraint}' for constraint in constraints)}

View file

@ -1620,6 +1620,10 @@ class AssistStatsAverage(BaseModel):
class AssistStatsMember(BaseModel):
name: str
count: int
assist_duration: Optional[int] = Field(default=0)
call_duration: Optional[int] = Field(default=0)
control_duration: Optional[int] = Field(default=0)
assist_count: Optional[int] = Field(default=0)
class AssistStatsSessionAgent(BaseModel):