feat(dashboard): added new Pages

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-09-04 11:19:10 +02:00
parent 4e5adbedff
commit 7e941080dc
26 changed files with 635 additions and 132 deletions

View File

@@ -28,6 +28,15 @@ export type IImportedEvent = Omit<
properties: Record<string, unknown>;
};
export type IServicePage = {
path: string;
count: number;
project_id: string;
first_seen: string;
title: string;
origin: string;
};
export interface IClickhouseEvent {
id: string;
name: string;
@@ -493,3 +502,30 @@ export async function getLastScreenViewFromProfileId({
return eventInDb || null;
}
export async function getTopPages({
projectId,
cursor,
take,
search,
}: {
projectId: string;
cursor?: number;
take: number;
search?: string;
}) {
const res = await chQuery<IServicePage>(`
SELECT path, count(*) as count, project_id, first_value(created_at) as first_seen, max(properties['__title']) as title, origin
FROM events_v2
WHERE name = 'screen_view'
AND project_id = ${escape(projectId)}
AND created_at > now() - INTERVAL 30 DAY
${search ? `AND path LIKE '%${search}%'` : ''}
GROUP BY path, project_id, origin
ORDER BY count desc
LIMIT ${take}
OFFSET ${Math.max(0, (cursor ?? 0) * take)}
`);
return res;
}