diff options
| author | Frank <[email protected]> | 2026-01-14 16:02:53 -0500 |
|---|---|---|
| committer | Frank <[email protected]> | 2026-01-14 16:03:04 -0500 |
| commit | 9e4438f5bf09a5713931405b1962f66ff37e7c55 (patch) | |
| tree | ebf50cf232cda241c472cfa98d4f5ea7bd8f60d1 | |
| parent | 87438fb38e3af2d0801065caa7a0c620abd4b097 (diff) | |
| download | opencode-9e4438f5bf09a5713931405b1962f66ff37e7c55.tar.gz opencode-9e4438f5bf09a5713931405b1962f66ff37e7c55.zip | |
wip: black
| -rw-r--r-- | packages/console/core/script/black-cancel-waitlist.ts | 41 | ||||
| -rw-r--r-- | packages/console/core/script/credit-workspace.ts | 15 | ||||
| -rw-r--r-- | packages/console/core/script/lookup-user.ts | 14 |
3 files changed, 68 insertions, 2 deletions
diff --git a/packages/console/core/script/black-cancel-waitlist.ts b/packages/console/core/script/black-cancel-waitlist.ts new file mode 100644 index 000000000..ab2aa16d5 --- /dev/null +++ b/packages/console/core/script/black-cancel-waitlist.ts @@ -0,0 +1,41 @@ +import { subscribe } from "diagnostics_channel" +import { Billing } from "../src/billing.js" +import { and, Database, eq } from "../src/drizzle/index.js" +import { BillingTable, PaymentTable, SubscriptionTable } from "../src/schema/billing.sql.js" + +const workspaceID = process.argv[2] + +if (!workspaceID) { + console.error("Usage: bun script/foo.ts <workspaceID>") + process.exit(1) +} + +console.log(`Removing from Black waitlist`) + +const billing = await Database.use((tx) => + tx + .select({ + subscriptionPlan: BillingTable.subscriptionPlan, + timeSubscriptionBooked: BillingTable.timeSubscriptionBooked, + }) + .from(BillingTable) + .where(eq(BillingTable.workspaceID, workspaceID)) + .then((rows) => rows[0]), +) + +if (!billing?.timeSubscriptionBooked) { + console.error(`Error: Workspace is not on the waitlist`) + process.exit(1) +} + +await Database.use((tx) => + tx + .update(BillingTable) + .set({ + subscriptionPlan: null, + timeSubscriptionBooked: null, + }) + .where(eq(BillingTable.workspaceID, workspaceID)), +) + +console.log(`Done`) diff --git a/packages/console/core/script/credit-workspace.ts b/packages/console/core/script/credit-workspace.ts index 29fb1fa64..ad2404f79 100644 --- a/packages/console/core/script/credit-workspace.ts +++ b/packages/console/core/script/credit-workspace.ts @@ -1,4 +1,6 @@ import { Billing } from "../src/billing.js" +import { Database, eq } from "../src/drizzle/index.js" +import { WorkspaceTable } from "../src/schema/workspace.sql.js" // get input from command line const workspaceID = process.argv[2] @@ -9,6 +11,19 @@ if (!workspaceID || !dollarAmount) { process.exit(1) } +// check workspace exists +const workspace = await Database.use((tx) => + tx + .select() + .from(WorkspaceTable) + .where(eq(WorkspaceTable.id, workspaceID)) + .then((rows) => rows[0]), +) +if (!workspace) { + console.error("Error: Workspace not found") + process.exit(1) +} + const amountInDollars = parseFloat(dollarAmount) if (isNaN(amountInDollars) || amountInDollars <= 0) { console.error("Error: dollarAmount must be a positive number") diff --git a/packages/console/core/script/lookup-user.ts b/packages/console/core/script/lookup-user.ts index b06fb5654..3c97600ec 100644 --- a/packages/console/core/script/lookup-user.ts +++ b/packages/console/core/script/lookup-user.ts @@ -113,8 +113,13 @@ async function printWorkspace(workspaceID: string) { .select({ balance: BillingTable.balance, customerID: BillingTable.customerID, - subscriptionID: BillingTable.subscriptionID, - subscriptionCouponID: BillingTable.subscriptionCouponID, + reload: BillingTable.reload, + subscription: { + id: BillingTable.subscriptionID, + couponID: BillingTable.subscriptionCouponID, + plan: BillingTable.subscriptionPlan, + booked: BillingTable.timeSubscriptionBooked, + }, }) .from(BillingTable) .where(eq(BillingTable.workspaceID, workspace.id)) @@ -123,6 +128,11 @@ async function printWorkspace(workspaceID: string) { rows.map((row) => ({ ...row, balance: `$${(row.balance / 100000000).toFixed(2)}`, + subscription: row.subscription.id + ? `Subscribed ${row.subscription.couponID ? `(coupon: ${row.subscription.couponID}) ` : ""}` + : row.subscription.booked + ? `Waitlist ${row.subscription.plan} plan` + : undefined, }))[0], ), ) |
