black-cancel-waitlist.ts 939 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { Database, eq } from "../src/drizzle/index.js"
  2. import { BillingTable } from "../src/schema/billing.sql.js"
  3. const workspaceID = process.argv[2]
  4. if (!workspaceID) {
  5. console.error("Usage: bun script/foo.ts <workspaceID>")
  6. process.exit(1)
  7. }
  8. console.log(`Removing from Black waitlist`)
  9. const billing = await Database.use((tx) =>
  10. tx
  11. .select({
  12. subscriptionPlan: BillingTable.subscriptionPlan,
  13. timeSubscriptionBooked: BillingTable.timeSubscriptionBooked,
  14. })
  15. .from(BillingTable)
  16. .where(eq(BillingTable.workspaceID, workspaceID))
  17. .then((rows) => rows[0]),
  18. )
  19. if (!billing?.timeSubscriptionBooked) {
  20. console.error(`Error: Workspace is not on the waitlist`)
  21. process.exit(1)
  22. }
  23. await Database.use((tx) =>
  24. tx
  25. .update(BillingTable)
  26. .set({
  27. subscriptionPlan: null,
  28. timeSubscriptionBooked: null,
  29. })
  30. .where(eq(BillingTable.workspaceID, workspaceID)),
  31. )
  32. console.log(`Done`)