mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-21 01:34:22 +01:00
wip: zen
This commit is contained in:
33
packages/console/core/script/lookup-user.ts
Normal file
33
packages/console/core/script/lookup-user.ts
Normal file
@@ -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
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -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 { Database } from "../src/drizzle/index.js"
|
||||||
import { UserTable } from "@opencode-ai/console-core/schema/user.sql.js"
|
import { UserTable } from "../src/schema/user.sql.js"
|
||||||
import { AccountTable } from "@opencode-ai/console-core/schema/account.sql.js"
|
import { AccountTable } from "../src/schema/account.sql.js"
|
||||||
import { WorkspaceTable } from "@opencode-ai/console-core/schema/workspace.sql.js"
|
import { WorkspaceTable } from "../src/schema/workspace.sql.js"
|
||||||
import { BillingTable, PaymentTable, UsageTable } from "@opencode-ai/console-core/schema/billing.sql.js"
|
import { BillingTable, PaymentTable, UsageTable } from "../src/schema/billing.sql.js"
|
||||||
import { KeyTable } from "@opencode-ai/console-core/schema/key.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))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user