(websiteId: string, filters: QueryFilters)
| 14 | } |
| 15 | |
| 16 | async function relationalQuery(websiteId: string, filters: QueryFilters) { |
| 17 | const { rawQuery, parseFilters } = prisma; |
| 18 | const { queryParams, filterQuery, cohortQuery, dateQuery } = parseFilters({ |
| 19 | ...filters, |
| 20 | websiteId, |
| 21 | }); |
| 22 | |
| 23 | return rawQuery( |
| 24 | ` |
| 25 | select |
| 26 | website_event.session_id as "sessionId", |
| 27 | website_event.event_name as "eventName", |
| 28 | website_event.created_at as "createdAt", |
| 29 | session.browser, |
| 30 | session.os, |
| 31 | session.device, |
| 32 | session.country, |
| 33 | website_event.url_path as "urlPath", |
| 34 | website_event.referrer_domain as "referrerDomain", |
| 35 | website_event.hostname |
| 36 | from website_event |
| 37 | ${cohortQuery} |
| 38 | inner join session |
| 39 | on session.session_id = website_event.session_id |
| 40 | and session.website_id = website_event.website_id |
| 41 | where website_event.website_id = {{websiteId::uuid}} |
| 42 | and website_event.event_type != ${EVENT_TYPE.performance} |
| 43 | ${filterQuery} |
| 44 | ${dateQuery} |
| 45 | order by website_event.created_at desc |
| 46 | limit 100 |
| 47 | `, |
| 48 | queryParams, |
| 49 | FUNCTION_NAME, |
| 50 | ); |
| 51 | } |
| 52 | |
| 53 | async function clickhouseQuery(websiteId: string, filters: QueryFilters): Promise<{ x: number }> { |
| 54 | const { rawQuery, parseFilters } = clickhouse; |
no test coverage detected