From 64b2e84aebdec0cf57d6cce2607f1f899c832d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Sat, 27 Apr 2024 16:09:35 +0200 Subject: [PATCH] add new filter for checking if profile is set or generated --- packages/db/src/services/chart.service.ts | 9 +++++++++ packages/trpc/src/routers/chart.ts | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/packages/db/src/services/chart.service.ts b/packages/db/src/services/chart.service.ts index ae8abadd..a49dd787 100644 --- a/packages/db/src/services/chart.service.ts +++ b/packages/db/src/services/chart.service.ts @@ -112,6 +112,15 @@ export function getEventFiltersWhereClause(filters: IChartEventFilter[]) { if (value.length === 0) return; + if (name === 'has_profile') { + if (value.includes('true')) { + where[id] = `profile_id != device_id`; + } else { + where[id] = `profile_id = device_id`; + } + return; + } + if (name.startsWith('properties.')) { const whereFrom = `mapValues(mapExtractKeyLike(properties, ${escape( name.replace(/^properties\./, '').replace('.*.', '.%.') diff --git a/packages/trpc/src/routers/chart.ts b/packages/trpc/src/routers/chart.ts index bdba5387..fbec2314 100644 --- a/packages/trpc/src/routers/chart.ts +++ b/packages/trpc/src/routers/chart.ts @@ -85,6 +85,7 @@ export const chartRouter = createTRPCRouter({ .map((item) => `properties.${item}`); properties.push( + 'has_profile', 'name', 'path', 'referrer', @@ -119,6 +120,12 @@ export const chartRouter = createTRPCRouter({ }) ) .query(async ({ input: { event, property, projectId } }) => { + if (property === 'has_profile') { + return { + values: ['true', 'false'], + }; + } + const { sb, getSql } = createSqlBuilder(); sb.where.project_id = `project_id = ${escape(projectId)}`; if (event !== '*') {