From b60d251cd72f72080c3a8d8039bad330a7cda344 Mon Sep 17 00:00:00 2001 From: Phillip Ho Date: Wed, 26 Feb 2025 09:53:00 +0800 Subject: [PATCH] [service-utils] fix usageV2 caller (#6346) --- .changeset/social-icons-mix.md | 5 +++++ packages/service-utils/src/cf-worker/usageV2.ts | 13 ++++--------- packages/service-utils/src/node/usageV2.ts | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) create mode 100644 .changeset/social-icons-mix.md diff --git a/.changeset/social-icons-mix.md b/.changeset/social-icons-mix.md new file mode 100644 index 00000000000..aaca4640e07 --- /dev/null +++ b/.changeset/social-icons-mix.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/service-utils": patch +--- + +[service-utils] fix usageV2 caller diff --git a/packages/service-utils/src/cf-worker/usageV2.ts b/packages/service-utils/src/cf-worker/usageV2.ts index 71e2becc6e5..aaee2a3ecc2 100644 --- a/packages/service-utils/src/cf-worker/usageV2.ts +++ b/packages/service-utils/src/cf-worker/usageV2.ts @@ -5,7 +5,7 @@ import type { } from "../core/usageV2.js"; type UsageV2Options = { - environment: "development" | "production"; + usageBaseUrl: string; source: UsageV2Source; } & ( | { serviceKey: string; thirdwebClientId?: never; thirdwebSecretKey?: never } @@ -34,23 +34,18 @@ export async function sendUsageV2Events( : ClientUsageV2Event[], options: T, ): Promise { - const baseUrl = - options.environment === "production" - ? "https://u.thirdweb.com" - : "https://u.thirdweb-dev.com"; - // Determine endpoint and auth header based on provided credentials. let url: string; const headers: HeadersInit = { "Content-Type": "application/json" }; if (options.serviceKey) { - url = `${baseUrl}/usage-v2/${options.source}`; + url = `${options.usageBaseUrl}/usage-v2/${options.source}`; headers["x-service-api-key"] = options.serviceKey; } else if (options.thirdwebSecretKey) { - url = `${baseUrl}/usage-v2/${options.source}/client`; + url = `${options.usageBaseUrl}/usage-v2/${options.source}/client`; headers["x-secret-key"] = options.thirdwebSecretKey; } else if (options.thirdwebClientId) { - url = `${baseUrl}/usage-v2/${options.source}/client`; + url = `${options.usageBaseUrl}/usage-v2/${options.source}/client`; headers["x-client-id"] = options.thirdwebClientId; } else { throw new Error("[UsageV2] No authentication method provided."); diff --git a/packages/service-utils/src/node/usageV2.ts b/packages/service-utils/src/node/usageV2.ts index a737bad4c00..3a37a99b538 100644 --- a/packages/service-utils/src/node/usageV2.ts +++ b/packages/service-utils/src/node/usageV2.ts @@ -28,9 +28,9 @@ export class UsageV2Producer { */ producerName: string; /** - * The environment the service is running in. + * A comma-separated list of `host[:port]` Kafka servers. */ - environment: "development" | "production"; + kafkaServers: string; /** * The product where usage is coming from. */ @@ -41,7 +41,7 @@ export class UsageV2Producer { }) { this.kafkaProducer = new KafkaProducer({ producerName: config.producerName, - environment: config.environment, + kafkaServers: config.kafkaServers, username: config.username, password: config.password, });