( telemetryId: string, filters: BaseQueryFilters )
| 202 | } |
| 203 | |
| 204 | export async function getTelemetrySession( |
| 205 | telemetryId: string, |
| 206 | filters: BaseQueryFilters |
| 207 | ) { |
| 208 | const { timezone = 'utc', unit = 'day' } = filters; |
| 209 | const { filterQuery, joinSession, params } = await parseTelemetryFilters( |
| 210 | telemetryId, |
| 211 | { |
| 212 | ...filters, |
| 213 | } |
| 214 | ); |
| 215 | |
| 216 | return prisma.$queryRaw` |
| 217 | select |
| 218 | ${getDateQuery('"TelemetryEvent"."createdAt"', unit, timezone)} x, |
| 219 | count(distinct "TelemetryEvent"."sessionId") y |
| 220 | from "TelemetryEvent" |
| 221 | ${joinSession} |
| 222 | where "TelemetryEvent"."telemetryId" = ${params.telemetryId} |
| 223 | and "TelemetryEvent"."createdAt" between ${ |
| 224 | params.startDate |
| 225 | }::timestamptz and ${params.endDate}::timestamptz |
| 226 | ${filterQuery} |
| 227 | group by 1 |
| 228 | `; |
| 229 | } |
| 230 | |
| 231 | export async function getTelemetryStats( |
| 232 | telemetryId: string, |
no test coverage detected