summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/script
diff options
context:
space:
mode:
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}`)