From 23fc675ad5130e1770e52878a24879303cc5eaa8 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 6 Jan 2026 23:34:10 -0500 Subject: wip: black --- packages/console/core/src/billing.ts | 1 + packages/console/core/src/black.ts | 20 ++++++++++++++++++++ packages/console/core/src/schema/billing.sql.ts | 2 +- packages/console/core/src/schema/user.sql.ts | 4 ++-- 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 packages/console/core/src/black.ts (limited to 'packages/console/core/src') diff --git a/packages/console/core/src/billing.ts b/packages/console/core/src/billing.ts index c14df11ae..c97dfff1b 100644 --- a/packages/console/core/src/billing.ts +++ b/packages/console/core/src/billing.ts @@ -27,6 +27,7 @@ export namespace Billing { tx .select({ customerID: BillingTable.customerID, + subscriptionID: BillingTable.subscriptionID, paymentMethodID: BillingTable.paymentMethodID, paymentMethodType: BillingTable.paymentMethodType, paymentMethodLast4: BillingTable.paymentMethodLast4, diff --git a/packages/console/core/src/black.ts b/packages/console/core/src/black.ts new file mode 100644 index 000000000..a4c44aea5 --- /dev/null +++ b/packages/console/core/src/black.ts @@ -0,0 +1,20 @@ +import { z } from "zod" +import { fn } from "./util/fn" +import { Resource } from "@opencode-ai/console-resource" + +export namespace BlackData { + const Schema = z.object({ + monthlyLimit: z.number().int(), + intervalLimit: z.number().int(), + intervalLength: z.number().int(), + }) + + export const validate = fn(Schema, (input) => { + return input + }) + + export const get = fn(z.void(), () => { + const json = JSON.parse(Resource.ZEN_BLACK.value) + return Schema.parse(json) + }) +} diff --git a/packages/console/core/src/schema/billing.sql.ts b/packages/console/core/src/schema/billing.sql.ts index 52de18f64..8210bc152 100644 --- a/packages/console/core/src/schema/billing.sql.ts +++ b/packages/console/core/src/schema/billing.sql.ts @@ -55,7 +55,7 @@ export const UsageTable = mysqlTable( cacheWrite1hTokens: int("cache_write_1h_tokens"), cost: bigint("cost", { mode: "number" }).notNull(), keyID: ulid("key_id"), - enrichment: json("data").$type<{ + enrichment: json("enrichment").$type<{ plan: "sub" }>(), }, diff --git a/packages/console/core/src/schema/user.sql.ts b/packages/console/core/src/schema/user.sql.ts index e2b8784b2..46d02c4a8 100644 --- a/packages/console/core/src/schema/user.sql.ts +++ b/packages/console/core/src/schema/user.sql.ts @@ -20,9 +20,9 @@ export const UserTable = mysqlTable( timeMonthlyUsageUpdated: utc("time_monthly_usage_updated"), // subscription timeSubscribed: utc("time_subscribed"), - subRecentUsage: bigint("sub_recent_usage", { mode: "number" }), + subIntervalUsage: bigint("sub_interval_usage", { mode: "number" }), subMonthlyUsage: bigint("sub_monthly_usage", { mode: "number" }), - timeSubRecentUsageUpdated: utc("sub_time_recent_usage_updated"), + timeSubIntervalUsageUpdated: utc("sub_time_interval_usage_updated"), timeSubMonthlyUsageUpdated: utc("sub_time_monthly_usage_updated"), }, (table) => [ -- cgit v1.2.3