From ff5a94001c68100e5589db8ed5e818ea693df7f1 Mon Sep 17 00:00:00 2001 From: Chris Estreich Date: Fri, 20 Jun 2025 19:02:21 -0700 Subject: [PATCH] Make orgId nullable (#113) --- .github/workflows/CI.yml | 2 +- apps/web/src/actions/analytics/events.ts | 6 +++++- apps/web/src/actions/analytics/messages.ts | 2 +- packages/db/clickhouse/events.sql | 2 ++ packages/db/clickhouse/messages.sql | 1 + 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index df1aa6af99..dcc84dde52 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -106,6 +106,6 @@ jobs: run: pnpm install - name: Migrate production database run: npx drizzle-kit migrate - working-directory: apps/db + working-directory: packages/db env: DATABASE_URL: ${{ secrets.PRODUCTION_DATABASE_URL }} diff --git a/apps/web/src/actions/analytics/events.ts b/apps/web/src/actions/analytics/events.ts index eb479fe0f3..b1dd7bc65d 100644 --- a/apps/web/src/actions/analytics/events.ts +++ b/apps/web/src/actions/analytics/events.ts @@ -21,7 +21,7 @@ type Table = 'events' | 'messages'; type AnalyticsEvent = { id: string; - orgId: string; + orgId: string | null; userId: string; timestamp: number; event: RooCodeTelemetryEvent; @@ -36,6 +36,7 @@ export const captureEvent = async ({ event, ...rest }: AnalyticsEvent) => { table = 'messages'; const { taskId, mode, message } = event.properties; const { ts, type, ask, say, text, reasoning, partial } = message; + value = { ...rest, taskId, @@ -48,6 +49,7 @@ export const captureEvent = async ({ event, ...rest }: AnalyticsEvent) => { reasoning, partial, }; + break; } default: { @@ -95,10 +97,12 @@ export const getUsage = async ({ } const userFilter = effectiveUserId ? 'AND userId = {userId: String}' : ''; + const queryParams: Record = { orgId: orgId!, timePeriod, }; + if (effectiveUserId) { queryParams.userId = effectiveUserId; } diff --git a/apps/web/src/actions/analytics/messages.ts b/apps/web/src/actions/analytics/messages.ts index 7122c1641b..05698c8ebd 100644 --- a/apps/web/src/actions/analytics/messages.ts +++ b/apps/web/src/actions/analytics/messages.ts @@ -10,7 +10,7 @@ import { analytics } from '@/lib/server'; const messageSchema = z.object({ id: z.string(), - orgId: z.string(), + orgId: z.string().nullable(), userId: z.string(), taskId: z.string(), mode: z.string().nullable(), diff --git a/packages/db/clickhouse/events.sql b/packages/db/clickhouse/events.sql index 5d6acd20ce..21f5351016 100644 --- a/packages/db/clickhouse/events.sql +++ b/packages/db/clickhouse/events.sql @@ -32,3 +32,5 @@ CREATE TABLE default.events ENGINE = ReplicatedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}') ORDER BY (id, type, timestamp) SETTINGS index_granularity = 8192; + +ALTER TABLE default.events MODIFY COLUMN `orgId` Nullable(String); diff --git a/packages/db/clickhouse/messages.sql b/packages/db/clickhouse/messages.sql index fbe4343f38..9e97cce883 100644 --- a/packages/db/clickhouse/messages.sql +++ b/packages/db/clickhouse/messages.sql @@ -18,3 +18,4 @@ ORDER BY (id, timestamp) SETTINGS index_granularity = 8192; ALTER TABLE default.messages ADD COLUMN mode Nullable(String); +ALTER TABLE default.messages MODIFY COLUMN `orgId` Nullable(String);