diff --git a/apps/api/src/pkg/testutil/harness.ts b/apps/api/src/pkg/testutil/harness.ts index de23f51df4..c4d75c6f9c 100644 --- a/apps/api/src/pkg/testutil/harness.ts +++ b/apps/api/src/pkg/testutil/harness.ts @@ -254,7 +254,7 @@ export abstract class Harness { const unkeyWorkspace: Workspace = { id: newId("test"), name: "unkey", - slug: "unkey-workspace", + slug: newId("test"), orgId: newId("test"), plan: "enterprise", tier: "Enterprise", @@ -273,7 +273,7 @@ export abstract class Harness { const userWorkspace: Workspace = { id: newId("test"), name: "user", - slug: "user-workspace", + slug: newId("test"), orgId: newId("test"), plan: "pro", tier: "Pro Max", diff --git a/apps/dashboard/app/(app)/ratelimits/[namespaceId]/logs/components/table/logs-table.tsx b/apps/dashboard/app/(app)/ratelimits/[namespaceId]/logs/components/table/logs-table.tsx index 476845c8a4..2156f4b456 100644 --- a/apps/dashboard/app/(app)/ratelimits/[namespaceId]/logs/components/table/logs-table.tsx +++ b/apps/dashboard/app/(app)/ratelimits/[namespaceId]/logs/components/table/logs-table.tsx @@ -187,7 +187,7 @@ export const RatelimitLogsTable = () => { key: "region", header: "Region", width: "10%", - render: (log) =>
{log.colo}
, + render: (log) =>
{log.region}
, }, { key: "actions", diff --git a/apps/dashboard/lib/trpc/routers/api/keys/query-api-keys/get-all-keys.ts b/apps/dashboard/lib/trpc/routers/api/keys/query-api-keys/get-all-keys.ts index a21ed5d3a3..37dc6d1a8b 100644 --- a/apps/dashboard/lib/trpc/routers/api/keys/query-api-keys/get-all-keys.ts +++ b/apps/dashboard/lib/trpc/routers/api/keys/query-api-keys/get-all-keys.ts @@ -111,7 +111,7 @@ export async function getAllKeys({ const tagQuery = clickhouse.querier.query({ query: ` SELECT DISTINCT key_id - FROM verifications.raw_key_verifications_v1 + FROM default.key_verifications_raw_v2 WHERE workspace_id = {workspaceId: String} AND key_space_id = {keyspaceId: String} AND (${tagQueries.map(({ condition }) => condition).join(" OR ")}) diff --git a/internal/clickhouse/src/active_keys.ts b/internal/clickhouse/src/active_keys.ts deleted file mode 100644 index bf9f07a141..0000000000 --- a/internal/clickhouse/src/active_keys.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { z } from "zod"; -import type { Querier } from "./client/interface"; -import { dateTimeToUnix } from "./util"; - -export function getActiveKeysPerHour(ch: Querier) { - return async (args: { - workspaceId: string; - keySpaceId: string; - start: number; - end: number; - }) => { - const query = ch.query({ - query: ` - SELECT count(DISTINCT key_id) as keys, - time - FROM verifications.key_verifications_per_hour_v3 - WHERE workspace_id = {workspaceId: String} - AND key_space_id = {keySpaceId: String} - AND time < fromUnixTimestamp64Milli({end: Int64}) - AND time < fromUnixTimestamp64Milli({end: Int64}) - GROUP BY time - ORDER BY time ASC - WITH FILL - FROM toStartOfHour(fromUnixTimestamp64Milli({start: Int64})) - TO toStartOfHour(fromUnixTimestamp64Milli({end: Int64})) - STEP INTERVAL 1 HOUR - ;`, - params: z.object({ - workspaceId: z.string(), - keySpaceId: z.string(), - start: z.number().int(), - end: z.number().int(), - }), - schema: z.object({ - keys: z.number().int(), - time: dateTimeToUnix, - }), - }); - - return query(args); - }; -} - -export function getActiveKeysPerDay(ch: Querier) { - return async (args: { - workspaceId: string; - keySpaceId: string; - start: number; - end: number; - }) => { - const query = ch.query({ - query: ` - SELECT - count(DISTINCT key_id) as keys, - time, - FROM verifications.key_verifications_per_day_v3 - WHERE - workspace_id = {workspaceId: String} - AND key_space_id = {keySpaceId: String} - AND time >= fromUnixTimestamp64Milli({start: Int64}) - AND time < fromUnixTimestamp64Milli({end: Int64}) - GROUP BY time - ORDER BY time ASC - WITH FILL - FROM toStartOfDay(fromUnixTimestamp64Milli({start: Int64})) - TO toStartOfDay(fromUnixTimestamp64Milli({end: Int64})) - STEP INTERVAL 1 DAY - ;`, - params: z.object({ - workspaceId: z.string(), - keySpaceId: z.string(), - start: z.number().int(), - end: z.number().int(), - }), - schema: z.object({ - keys: z.number().int(), - time: dateTimeToUnix, - }), - }); - - return query(args); - }; -} -export function getActiveKeysPerMonth(ch: Querier) { - return async (args: { - workspaceId: string; - keySpaceId: string; - start: number; - end: number; - }) => { - const query = ch.query({ - query: ` - SELECT - count(DISTINCT key_id) as keys, - time, - FROM verifications.key_verifications_per_month_v3 - WHERE - workspace_id = {workspaceId: String} - AND key_space_id = {keySpaceId: String} - AND time >= fromUnixTimestamp64Milli({start: Int64}) - AND time < fromUnixTimestamp64Milli({end: Int64}) - GROUP BY time - ORDER BY time ASC - WITH FILL - FROM toDateTime(toStartOfMonth(fromUnixTimestamp64Milli({start: Int64}))) - TO toDateTime(toStartOfMonth(fromUnixTimestamp64Milli({end: Int64}))) - STEP INTERVAL 1 MONTH - ;`, - params: z.object({ - workspaceId: z.string(), - keySpaceId: z.string(), - start: z.number().int(), - end: z.number().int(), - }), - schema: z.object({ - keys: z.number().int(), - time: dateTimeToUnix, - }), - }); - - return query(args); - }; -} diff --git a/internal/clickhouse/src/billing.ts b/internal/clickhouse/src/billing.ts index ebdd6df6d4..7b65ca055c 100644 --- a/internal/clickhouse/src/billing.ts +++ b/internal/clickhouse/src/billing.ts @@ -13,7 +13,7 @@ export function getBillableRatelimits(ch: Querier) { query: ` SELECT sum(count) as count - FROM billing.billable_ratelimits_per_month_v1 + FROM default.billable_ratelimits_per_month_v2 WHERE workspace_id = {workspaceId: String} AND year = {year: Int64} AND month = {month: Int64} @@ -48,7 +48,7 @@ export function getBillableVerifications(ch: Querier) { query: ` SELECT sum(count) as count - FROM billing.billable_verifications_per_month_v2 + FROM default.billable_verifications_per_month_v2 WHERE workspace_id = {workspaceId: String} AND year = {year: Int64} AND month = {month: Int64} diff --git a/internal/clickhouse/src/keys/active_keys.ts b/internal/clickhouse/src/keys/active_keys.ts index 551153f7e9..22a29e4c3c 100644 --- a/internal/clickhouse/src/keys/active_keys.ts +++ b/internal/clickhouse/src/keys/active_keys.ts @@ -62,75 +62,75 @@ type TimeInterval = { const ACTIVE_KEYS_INTERVALS: Record = { // Minute-based intervals minute: { - table: "verifications.key_verifications_per_minute_v1", + table: "default.key_verifications_per_minute_v2", step: "MINUTE", stepSize: 1, }, fiveMinutes: { - table: "verifications.key_verifications_per_minute_v1", + table: "default.key_verifications_per_minute_v2", step: "MINUTE", stepSize: 5, }, thirtyMinutes: { - table: "verifications.key_verifications_per_minute_v1", + table: "default.key_verifications_per_minute_v2", step: "MINUTE", stepSize: 30, }, // Hour-based intervals hour: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 1, }, twoHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 2, }, fourHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 4, }, sixHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 6, }, twelveHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 12, }, // Day-based intervals day: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 1, }, threeDays: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 3, }, week: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 7, }, twoWeeks: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 14, }, // Monthly-based intervals month: { - table: "verifications.key_verifications_per_month_v3", + table: "default.key_verifications_per_month_v2", step: "MONTH", stepSize: 1, }, quarter: { - table: "verifications.key_verifications_per_month_v3", + table: "default.key_verifications_per_month_v2", step: "MONTH", stepSize: 3, }, diff --git a/internal/clickhouse/src/keys/keys.ts b/internal/clickhouse/src/keys/keys.ts index 9a2a5d4604..7cd56e60de 100644 --- a/internal/clickhouse/src/keys/keys.ts +++ b/internal/clickhouse/src/keys/keys.ts @@ -273,7 +273,7 @@ WITH key_id, tags, outcome - FROM verifications.raw_key_verifications_v1 + FROM default.key_verifications_raw_v2 WHERE workspace_id = {workspaceId: String} AND key_space_id = {keyspaceId: String} AND time BETWEEN {startTime: UInt64} AND {endTime: UInt64} diff --git a/internal/clickhouse/src/latest_verifications.ts b/internal/clickhouse/src/latest_verifications.ts index 1a8369f579..f45d76b626 100644 --- a/internal/clickhouse/src/latest_verifications.ts +++ b/internal/clickhouse/src/latest_verifications.ts @@ -17,7 +17,7 @@ export function getLatestVerifications(ch: Querier) { outcome, region, tags - FROM verifications.raw_key_verifications_v1 + FROM default.key_verifications_raw_v2 WHERE workspace_id = {workspaceId: String} AND key_space_id = {keySpaceId: String} AND key_id = {keyId: String} diff --git a/internal/clickhouse/src/logs.ts b/internal/clickhouse/src/logs.ts index 7e56b3c565..0ad25bb81e 100644 --- a/internal/clickhouse/src/logs.ts +++ b/internal/clickhouse/src/logs.ts @@ -75,37 +75,37 @@ export function getLogs(ch: Querier) { const filterConditions = ` workspace_id = {workspaceId: String} AND time BETWEEN {startTime: UInt64} AND {endTime: UInt64} - + ---------- Apply request ID filter if present (highest priority) AND ( CASE - WHEN length({requestIds: Array(String)}) > 0 THEN + WHEN length({requestIds: Array(String)}) > 0 THEN request_id IN {requestIds: Array(String)} ELSE TRUE END ) - + ---------- Apply host filter AND ( CASE - WHEN length({hosts: Array(String)}) > 0 THEN + WHEN length({hosts: Array(String)}) > 0 THEN host IN {hosts: Array(String)} ELSE TRUE END ) - + ---------- Apply method filter AND ( CASE - WHEN length({methods: Array(String)}) > 0 THEN + WHEN length({methods: Array(String)}) > 0 THEN method IN {methods: Array(String)} ELSE TRUE END ) - + ---------- Apply path filter using pre-generated conditions AND (${pathConditions}) - + ---------- Apply status code filter AND ( CASE @@ -133,7 +133,7 @@ export function getLogs(ch: Querier) { query: ` SELECT count(request_id) as total_count - FROM metrics.raw_api_requests_v1 + FROM default.api_requests_raw_v2 WHERE ${filterConditions}`, params: extendedParamsSchema, schema: z.object({ @@ -157,7 +157,7 @@ export function getLogs(ch: Querier) { response_body, error, service_latency - FROM metrics.raw_api_requests_v1 + FROM default.api_requests_raw_v2 WHERE ${filterConditions} AND ({cursorTime: Nullable(UInt64)} IS NULL OR time < {cursorTime: Nullable(UInt64)}) ORDER BY time DESC LIMIT {limit: Int}`, @@ -310,34 +310,34 @@ function getLogsTimeseriesWhereClause( "workspace_id = {workspaceId: String}", // Host filter `(CASE - WHEN length({hosts: Array(String)}) > 0 THEN + WHEN length({hosts: Array(String)}) > 0 THEN host IN {hosts: Array(String)} ELSE TRUE END)`, // Method filter `(CASE - WHEN length({methods: Array(String)}) > 0 THEN + WHEN length({methods: Array(String)}) > 0 THEN method IN {methods: Array(String)} ELSE TRUE END)`, // Status code filter - `(CASE + `(CASE WHEN length({statusCodes: Array(UInt16)}) > 0 THEN response_status IN ( - SELECT status + SELECT status FROM ( SELECT multiIf( code = 200, arrayJoin(range(200, 300)), code = 400, arrayJoin(range(400, 500)), code = 500, arrayJoin(range(500, 600)), code - ) as status + ) as status FROM ( SELECT arrayJoin({statusCodes: Array(UInt16)}) as code ) ) - ) - ELSE TRUE + ) + ELSE TRUE END)`, ...additionalConditions, ]; diff --git a/internal/clickhouse/src/ratelimits.ts b/internal/clickhouse/src/ratelimits.ts index 5644d54e76..699b3f7917 100644 --- a/internal/clickhouse/src/ratelimits.ts +++ b/internal/clickhouse/src/ratelimits.ts @@ -50,52 +50,52 @@ type TimeInterval = { const INTERVALS: Record = { minute: { - table: "ratelimits.ratelimits_per_minute_v1", + table: "default.ratelimits_per_minute_v2", step: "MINUTE", stepSize: 1, }, fiveMinutes: { - table: "ratelimits.ratelimits_per_minute_v1", + table: "default.ratelimits_per_minute_v2", step: "MINUTES", stepSize: 5, }, fifteenMinutes: { - table: "ratelimits.ratelimits_per_minute_v1", + table: "default.ratelimits_per_minute_v2", step: "MINUTES", stepSize: 15, }, thirtyMinutes: { - table: "ratelimits.ratelimits_per_minute_v1", + table: "default.ratelimits_per_minute_v2", step: "MINUTES", stepSize: 30, }, hour: { - table: "ratelimits.ratelimits_per_hour_v1", + table: "default.ratelimits_per_hour_v2", step: "HOUR", stepSize: 1, }, twoHours: { - table: "ratelimits.ratelimits_per_hour_v1", + table: "default.ratelimits_per_hour_v2", step: "HOURS", stepSize: 2, }, fourHours: { - table: "ratelimits.ratelimits_per_hour_v1", + table: "default.ratelimits_per_hour_v2", step: "HOURS", stepSize: 4, }, sixHours: { - table: "ratelimits.ratelimits_per_hour_v1", + table: "default.ratelimits_per_hour_v2", step: "HOURS", stepSize: 6, }, day: { - table: "ratelimits.ratelimits_per_day_v1", + table: "default.ratelimits_per_day_v2", step: "DAY", stepSize: 1, }, month: { - table: "ratelimits.ratelimits_per_month_v1", + table: "default.ratelimits_per_month_v2", step: "MONTH", stepSize: 1, }, @@ -223,7 +223,7 @@ export function getRatelimitLastUsed(ch: Querier) { SELECT identifier, max(time) as time - FROM ratelimits.ratelimits_last_used_v1 + FROM default.ratelimits_last_used_v2 WHERE workspace_id = {workspaceId: String} AND namespace_id = {namespaceId: String} @@ -286,7 +286,7 @@ export const ratelimitLogs = z.object({ response_body: z.string(), service_latency: z.number().int(), user_agent: z.string(), - colo: z.string(), + region: z.string(), }); export type RatelimitLog = z.infer; @@ -351,7 +351,7 @@ WITH filtered_ratelimits AS ( namespace_id, identifier, toUInt8(passed) as status - FROM ratelimits.raw_ratelimits_v1 r + FROM default.ratelimits_raw_v2 r WHERE workspace_id = {workspaceId: String} AND namespace_id = {namespaceId: String} AND time BETWEEN {startTime: UInt64} AND {endTime: UInt64} @@ -362,7 +362,7 @@ WITH filtered_ratelimits AS ( {cursorTime: Nullable(UInt64)} IS NULL OR time < {cursorTime: Nullable(UInt64)} ) ) -SELECT +SELECT fr.request_id, fr.time, fr.workspace_id, @@ -379,10 +379,10 @@ SELECT m.response_body, m.service_latency, m.user_agent, - m.colo + m.region FROM filtered_ratelimits fr LEFT JOIN ( - SELECT + SELECT request_id, host, method, @@ -394,8 +394,8 @@ LEFT JOIN ( response_body, service_latency, user_agent, - colo - FROM metrics.raw_api_requests_v1 + region + FROM default.api_requests_raw_v2 WHERE workspace_id = {workspaceId: String} AND time BETWEEN {startTime: UInt64} AND {endTime: UInt64} ) m ON fr.request_id = m.request_id @@ -409,7 +409,7 @@ LIMIT {limit: Int}`, query: ` SELECT count(*) as total_count -FROM ratelimits.raw_ratelimits_v1 r +FROM default.ratelimits_raw_v2 r WHERE workspace_id = {workspaceId: String} AND namespace_id = {namespaceId: String} AND time BETWEEN {startTime: UInt64} AND {endTime: UInt64} @@ -614,7 +614,7 @@ export function getRatelimitOverviewLogs(ch: Querier) { time, identifier, toUInt8(passed) as status - FROM ratelimits.raw_ratelimits_v1 + FROM default.ratelimits_raw_v2 WHERE workspace_id = {workspaceId: String} AND namespace_id = {namespaceId: String} AND time BETWEEN {startTime: UInt64} AND {endTime: UInt64} @@ -623,7 +623,7 @@ export function getRatelimitOverviewLogs(ch: Querier) { ${cursorCondition} ), aggregated_data AS ( - SELECT + SELECT identifier, max(time) as last_request_time, max(request_id) as last_request_id, @@ -632,7 +632,7 @@ aggregated_data AS ( FROM filtered_ratelimits GROUP BY identifier ) -SELECT +SELECT identifier, last_request_time as time, last_request_id as request_id, @@ -649,7 +649,7 @@ LIMIT {limit: Int}`, query: ` SELECT count(DISTINCT identifier) as total_count -FROM ratelimits.raw_ratelimits_v1 +FROM default.ratelimits_raw_v2 WHERE workspace_id = {workspaceId: String} AND namespace_id = {namespaceId: String} AND time BETWEEN {startTime: UInt64} AND {endTime: UInt64} @@ -699,47 +699,47 @@ export type RatelimitLatencyTimeseriesParams = z.infer = { minute: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_minute_v1", + table: "default.ratelimits_identifier_latency_stats_per_minute_v2", step: "MINUTE", stepSize: 1, }, fiveMinutes: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_minute_v1", + table: "default.ratelimits_identifier_latency_stats_per_minute_v2", step: "MINUTES", stepSize: 5, }, fifteenMinutes: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_minute_v1", + table: "default.ratelimits_identifier_latency_stats_per_minute_v2", step: "MINUTES", stepSize: 15, }, thirtyMinutes: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_minute_v1", + table: "default.ratelimits_identifier_latency_stats_per_minute_v2", step: "MINUTES", stepSize: 30, }, hour: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_hour_v1", + table: "default.ratelimits_identifier_latency_stats_per_hour_v2", step: "HOUR", stepSize: 1, }, twoHours: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_hour_v1", + table: "default.ratelimits_identifier_latency_stats_per_hour_v2", step: "HOURS", stepSize: 2, }, fourHours: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_hour_v1", + table: "default.ratelimits_identifier_latency_stats_per_hour_v2", step: "HOURS", stepSize: 4, }, sixHours: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_hour_v1", + table: "default.ratelimits_identifier_latency_stats_per_hour_v2", step: "HOURS", stepSize: 6, }, day: { - table: "ratelimits.ratelimits_identifier_latency_stats_per_day_v1", + table: "default.ratelimits_identifier_latency_stats_per_day_v2", step: "DAY", stepSize: 1, }, diff --git a/internal/clickhouse/src/success.ts b/internal/clickhouse/src/success.ts index 5d0bd830fb..c5e8e1c16d 100644 --- a/internal/clickhouse/src/success.ts +++ b/internal/clickhouse/src/success.ts @@ -8,10 +8,10 @@ export function getActiveWorkspacesPerMonth(ch: Querier) { return async () => { const query = ch.query({ query: ` - SELECT - count(DISTINCT workspace_id) as workspaces, + SELECT + count(DISTINCT workspace_id) as workspaces, time - FROM business.active_workspaces_per_month_v1 + FROM default.active_workspaces_per_month_v2 GROUP BY time ORDER BY time ASC ;`, diff --git a/internal/clickhouse/src/verifications.ts b/internal/clickhouse/src/verifications.ts index 2759dc4d34..d190a643c4 100644 --- a/internal/clickhouse/src/verifications.ts +++ b/internal/clickhouse/src/verifications.ts @@ -66,9 +66,9 @@ export const keyDetailsLog = z.object({ export type KeyDetailsLog = z.infer; export type KeyDetailsLogsParams = z.infer; -interface ExtendedParamsKeyDetails extends KeyDetailsLogsParams { +type ExtendedParamsKeyDetails = KeyDetailsLogsParams & { [key: string]: unknown; -} +}; export function getKeyDetailsLogs(ch: Querier) { return async (args: KeyDetailsLogsParams) => { @@ -146,7 +146,7 @@ export function getKeyDetailsLogs(ch: Querier) { query: ` SELECT count(request_id) as total_count - FROM verifications.raw_key_verifications_v1 + FROM default.key_verifications_raw_v2 WHERE ${baseConditions}`, params: extendedParamsSchema, schema: z.object({ @@ -162,7 +162,7 @@ export function getKeyDetailsLogs(ch: Querier) { region, outcome, tags - FROM verifications.raw_key_verifications_v1 + FROM default.key_verifications_raw_v2 WHERE ${baseConditions} -- Handle pagination using time as cursor ${cursorCondition} @@ -261,75 +261,75 @@ type TimeInterval = { const INTERVALS: Record = { // Minute-based intervals minute: { - table: "verifications.key_verifications_per_minute_v1", + table: "default.key_verifications_per_minute_v2", step: "MINUTE", stepSize: 1, }, fiveMinutes: { - table: "verifications.key_verifications_per_minute_v1", + table: "default.key_verifications_per_minute_v2", step: "MINUTE", stepSize: 5, }, thirtyMinutes: { - table: "verifications.key_verifications_per_minute_v1", + table: "default.key_verifications_per_minute_v2", step: "MINUTE", stepSize: 30, }, // Hour-based intervals hour: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 1, }, twoHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 2, }, fourHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 4, }, sixHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 6, }, twelveHours: { - table: "verifications.key_verifications_per_hour_v3", + table: "default.key_verifications_per_hour_v2", step: "HOUR", stepSize: 12, }, // Day-based intervals day: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 1, }, threeDays: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 3, }, week: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 7, }, twoWeeks: { - table: "verifications.key_verifications_per_day_v3", + table: "default.key_verifications_per_day_v2", step: "DAY", stepSize: 14, }, // Monthly-based intervals month: { - table: "verifications.key_verifications_per_month_v3", + table: "default.key_verifications_per_month_v2", step: "MONTH", stepSize: 1, }, quarter: { - table: "verifications.key_verifications_per_month_v3", + table: "default.key_verifications_per_month_v2", step: "MONTH", stepSize: 3, }, @@ -483,7 +483,6 @@ function createVerificationTimeseriesQuerier(interval: TimeInterval) { ]); // Create parameters object with filter values - const parameters = { ...args, ...(args.keyIds?.reduce(