(websiteId: string, filters: QueryFilters)
| 14 | } |
| 15 | |
| 16 | async function relationalQuery(websiteId: string, filters: QueryFilters) { |
| 17 | const { timezone = 'utc' } = filters; |
| 18 | const { rawQuery, getDateWeeklySQL, parseFilters } = prisma; |
| 19 | const { filterQuery, joinSessionQuery, cohortQuery, excludeBounceQuery, queryParams } = |
| 20 | parseFilters({ |
| 21 | ...filters, |
| 22 | websiteId, |
| 23 | }); |
| 24 | |
| 25 | return rawQuery( |
| 26 | ` |
| 27 | select |
| 28 | ${getDateWeeklySQL('website_event.created_at', timezone)} as time, |
| 29 | count(distinct website_event.session_id) as value |
| 30 | from website_event |
| 31 | ${cohortQuery} |
| 32 | ${excludeBounceQuery} |
| 33 | ${joinSessionQuery} |
| 34 | where website_event.website_id = {{websiteId::uuid}} |
| 35 | and website_event.created_at between {{startDate}} and {{endDate}} |
| 36 | and website_event.event_type NOT IN (2, 5) |
| 37 | ${filterQuery} |
| 38 | group by time |
| 39 | order by 1 |
| 40 | `, |
| 41 | queryParams, |
| 42 | FUNCTION_NAME, |
| 43 | ).then(formatResults); |
| 44 | } |
| 45 | |
| 46 | async function clickhouseQuery(websiteId: string, filters: QueryFilters) { |
| 47 | const { timezone = 'utc' } = filters; |
no test coverage detected