summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFrank <[email protected]>2026-01-14 16:02:53 -0500
committerFrank <[email protected]>2026-01-14 16:03:04 -0500
commit9e4438f5bf09a5713931405b1962f66ff37e7c55 (patch)
treeebf50cf232cda241c472cfa98d4f5ea7bd8f60d1
parent87438fb38e3af2d0801065caa7a0c620abd4b097 (diff)
downloadopencode-9e4438f5bf09a5713931405b1962f66ff37e7c55.tar.gz
opencode-9e4438f5bf09a5713931405b1962f66ff37e7c55.zip
wip: black
-rw-r--r--packages/console/core/script/black-cancel-waitlist.ts41
-rw-r--r--packages/console/core/script/credit-workspace.ts15
-rw-r--r--packages/console/core/script/lookup-user.ts14
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],
),
)