Frank пре 5 месеци
родитељ
комит
0772a95918
1 измењених фајлова са 21 додато и 2 уклоњено
  1. 21 2
      packages/console/core/script/lookup-user.ts

+ 21 - 2
packages/console/core/script/lookup-user.ts

@@ -3,6 +3,7 @@ import { AuthTable } from "../src/schema/auth.sql.js"
 import { UserTable } from "../src/schema/user.sql.js"
 import { BillingTable, PaymentTable, SubscriptionTable, BlackPlans, UsageTable } from "../src/schema/billing.sql.js"
 import { WorkspaceTable } from "../src/schema/workspace.sql.js"
+import { KeyTable } from "../src/schema/key.sql.js"
 import { BlackData } from "../src/black.js"
 import { centsToMicroCents } from "../src/util/price.js"
 import { getWeekBounds } from "../src/util/date.js"
@@ -10,13 +11,31 @@ import { getWeekBounds } from "../src/util/date.js"
 // get input from command line
 const identifier = process.argv[2]
 if (!identifier) {
-  console.error("Usage: bun lookup-user.ts <email|workspaceID>")
+  console.error("Usage: bun lookup-user.ts <email|workspaceID|apiKey>")
   process.exit(1)
 }
 
+// loop up by workspace ID
 if (identifier.startsWith("wrk_")) {
   await printWorkspace(identifier)
-} else {
+}
+// lookup by API key
+else if (identifier.startsWith("key_")) {
+  const key = await Database.use((tx) =>
+    tx
+      .select()
+      .from(KeyTable)
+      .where(eq(KeyTable.id, identifier))
+      .then((rows) => rows[0]),
+  )
+  if (!key) {
+    console.error("API key not found")
+    process.exit(1)
+  }
+  await printWorkspace(key.workspaceID)
+}
+// lookup by email
+else {
   const authData = await Database.use(async (tx) =>
     tx.select().from(AuthTable).where(eq(AuthTable.subject, identifier)),
   )