summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/script
diff options
context:
space:
mode:
authorFrank <[email protected]>2026-04-18 16:26:58 -0400
committerFrank <[email protected]>2026-04-18 17:33:28 -0400
commit9d012b062186ef9900cc2673b77c446d38ebd789 (patch)
tree0185f564ac585be5e50e1ba090da8a461e6fb4fc /packages/console/core/script
parentfbb0a93e12740c7fb3f5f7ff62eee027c157e351 (diff)
downloadopencode-9d012b062186ef9900cc2673b77c446d38ebd789.tar.gz
opencode-9d012b062186ef9900cc2673b77c446d38ebd789.zip
zen: redeem credit
Diffstat (limited to 'packages/console/core/script')
-rw-r--r--packages/console/core/script/create-coupon.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/console/core/script/create-coupon.ts b/packages/console/core/script/create-coupon.ts
new file mode 100644
index 000000000..e13337905
--- /dev/null
+++ b/packages/console/core/script/create-coupon.ts
@@ -0,0 +1,24 @@
+import { Database } from "../src/drizzle/index.js"
+import { CouponTable, CouponType } from "../src/schema/billing.sql.js"
+
+const email = process.argv[2]
+const type = process.argv[3] as (typeof CouponType)[number]
+
+if (!email || !type) {
+ console.error(`Usage: bun create-coupon.ts <email> <${CouponType.join("|")}>`)
+ process.exit(1)
+}
+
+if (!(CouponType as readonly string[]).includes(type)) {
+ console.error(`Error: type must be one of ${CouponType.join(", ")}`)
+ process.exit(1)
+}
+
+await Database.use((tx) =>
+ tx.insert(CouponTable).values({
+ email,
+ type,
+ }),
+)
+
+console.log(`Created ${type} coupon for ${email}`)