| 361 | } |
| 362 | |
| 363 | [HttpGet("/api/_stats/historical-sessions")] |
| 364 | public async Task<IActionResult> HistoricalSessions([FromQuery] QueryParams body, CancellationToken cancellationToken) |
| 365 | { |
| 366 | var query = body.Parse(); |
| 367 | |
| 368 | var row = await _queryClient.NamedQueryAsync<LiveRecentSession>("historical_sessions__v1", new |
| 369 | { |
| 370 | app_id = query.AppId, |
| 371 | session_id = query.SessionId, |
| 372 | date_from = query.DateFrom?.ToString("yyyy-MM-dd HH:mm:ss"), |
| 373 | date_to = query.DateTo?.ToString("yyyy-MM-dd HH:mm:ss"), |
| 374 | event_name = query.EventName, |
| 375 | os_name = query.OsName, |
| 376 | app_version = query.AppVersion, |
| 377 | country_code = query.CountryCode |
| 378 | }, cancellationToken); |
| 379 | |
| 380 | return Ok(row); |
| 381 | } |
| 382 | |
| 383 | private async Task<KeyMetricsRow> GetKeyMetrics(QueryArgs args, CancellationToken cancellationToken) |
| 384 | { |