black-onboard-waitlist.ts 917 B

1234567891011121314151617181920212223242526272829303132333435363738
  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(`Onboarding to 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. timeSubscriptionSelected: new Date(),
  28. })
  29. .where(eq(BillingTable.workspaceID, workspaceID)),
  30. )
  31. console.log(`Done`)