Frank hace 3 meses
padre
commit
1a8b494055

+ 33 - 0
packages/console/core/script/lookup-user.ts

@@ -0,0 +1,33 @@
+import { Database, eq } from "../src/drizzle/index.js"
+import { AuthTable } from "../src/schema/auth.sql"
+
+// get input from command line
+const email = process.argv[2]
+if (!email) {
+  console.error("Usage: bun lookup-user.ts <email>")
+  process.exit(1)
+}
+
+const authData = await printTable("Auth", (tx) =>
+  tx.select().from(AuthTable).where(eq(AuthTable.subject, email)),
+)
+if (authData.length === 0) {
+  console.error("User not found")
+  process.exit(1)
+}
+
+await printTable("Auth", (tx) =>
+  tx.select().from(AuthTable).where(eq(AuthTable.accountID, authData[0].accountID)),
+)
+
+function printTable(
+  title: string,
+  callback: (tx: Database.TxOrDb) => Promise<any[]>,
+): Promise<any[]> {
+  return Database.use(async (tx) => {
+    const data = await callback(tx)
+    console.log(`== ${title} ==`)
+    console.table(data)
+    return data
+  })
+}

+ 15 - 7
packages/console/core/script/reset-db.ts

@@ -1,13 +1,21 @@
 import { Resource } from "@opencode-ai/console-resource"
 import { Resource } from "@opencode-ai/console-resource"
-import { Database } from "@opencode-ai/console-core/drizzle/index.js"
-import { UserTable } from "@opencode-ai/console-core/schema/user.sql.js"
-import { AccountTable } from "@opencode-ai/console-core/schema/account.sql.js"
-import { WorkspaceTable } from "@opencode-ai/console-core/schema/workspace.sql.js"
-import { BillingTable, PaymentTable, UsageTable } from "@opencode-ai/console-core/schema/billing.sql.js"
-import { KeyTable } from "@opencode-ai/console-core/schema/key.sql.js"
+import { Database } from "../src/drizzle/index.js"
+import { UserTable } from "../src/schema/user.sql.js"
+import { AccountTable } from "../src/schema/account.sql.js"
+import { WorkspaceTable } from "../src/schema/workspace.sql.js"
+import { BillingTable, PaymentTable, UsageTable } from "../src/schema/billing.sql.js"
+import { KeyTable } from "../src/schema/key.sql.js"
 
 
 if (Resource.App.stage !== "frank") throw new Error("This script is only for frank")
 if (Resource.App.stage !== "frank") throw new Error("This script is only for frank")
 
 
-for (const table of [AccountTable, BillingTable, KeyTable, PaymentTable, UsageTable, UserTable, WorkspaceTable]) {
+for (const table of [
+  AccountTable,
+  BillingTable,
+  KeyTable,
+  PaymentTable,
+  UsageTable,
+  UserTable,
+  WorkspaceTable,
+]) {
   await Database.use((tx) => tx.delete(table))
   await Database.use((tx) => tx.delete(table))
 }
 }