diff options
| author | Frank <[email protected]> | 2026-01-08 19:24:20 -0500 |
|---|---|---|
| committer | Frank <[email protected]> | 2026-01-09 01:32:00 -0500 |
| commit | 52fbd16e08fe59d2d0a7a588dfa565a8ff2d2c95 (patch) | |
| tree | 86d28ed49f348ad779bcd9f22f23da9b5b601a13 /packages/console/core/src | |
| parent | cf97633d7d81c68aa154b82eeb718ba99beb13d8 (diff) | |
| download | opencode-52fbd16e08fe59d2d0a7a588dfa565a8ff2d2c95.tar.gz opencode-52fbd16e08fe59d2d0a7a588dfa565a8ff2d2c95.zip | |
wip: zen
wip: zen
Diffstat (limited to 'packages/console/core/src')
| -rw-r--r-- | packages/console/core/src/black.ts | 6 | ||||
| -rw-r--r-- | packages/console/core/src/identifier.ts | 1 | ||||
| -rw-r--r-- | packages/console/core/src/schema/billing.sql.ts | 14 | ||||
| -rw-r--r-- | packages/console/core/src/schema/user.sql.ts | 6 | ||||
| -rw-r--r-- | packages/console/core/src/util/date.ts | 9 |
5 files changed, 27 insertions, 9 deletions
diff --git a/packages/console/core/src/black.ts b/packages/console/core/src/black.ts index a4c44aea5..0ecbc94a4 100644 --- a/packages/console/core/src/black.ts +++ b/packages/console/core/src/black.ts @@ -4,9 +4,9 @@ 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(), + fixedLimit: z.number().int(), + rollingLimit: z.number().int(), + rollingWindow: z.number().int(), }) export const validate = fn(Schema, (input) => { diff --git a/packages/console/core/src/identifier.ts b/packages/console/core/src/identifier.ts index f94765ec7..b10bf32f6 100644 --- a/packages/console/core/src/identifier.ts +++ b/packages/console/core/src/identifier.ts @@ -11,6 +11,7 @@ export namespace Identifier { model: "mod", payment: "pay", provider: "prv", + subscription: "sub", usage: "usg", user: "usr", workspace: "wrk", diff --git a/packages/console/core/src/schema/billing.sql.ts b/packages/console/core/src/schema/billing.sql.ts index 42da13776..f56cf4182 100644 --- a/packages/console/core/src/schema/billing.sql.ts +++ b/packages/console/core/src/schema/billing.sql.ts @@ -30,6 +30,20 @@ export const BillingTable = mysqlTable( ], ) +export const SubscriptionTable = mysqlTable( + "subscription", + { + ...workspaceColumns, + ...timestamps, + userID: ulid("user_id").notNull(), + rollingUsage: bigint("rolling_usage", { mode: "number" }), + fixedUsage: bigint("fixed_usage", { mode: "number" }), + timeRollingUpdated: utc("time_rolling_updated"), + timeFixedUpdated: utc("time_fixed_updated"), + }, + (table) => [...workspaceIndexes(table), uniqueIndex("workspace_user_id").on(table.workspaceID, table.userID)], +) + export const PaymentTable = mysqlTable( "payment", { diff --git a/packages/console/core/src/schema/user.sql.ts b/packages/console/core/src/schema/user.sql.ts index 46d02c4a8..7fd7f5e1e 100644 --- a/packages/console/core/src/schema/user.sql.ts +++ b/packages/console/core/src/schema/user.sql.ts @@ -18,12 +18,6 @@ export const UserTable = mysqlTable( monthlyLimit: int("monthly_limit"), monthlyUsage: bigint("monthly_usage", { mode: "number" }), timeMonthlyUsageUpdated: utc("time_monthly_usage_updated"), - // subscription - timeSubscribed: utc("time_subscribed"), - subIntervalUsage: bigint("sub_interval_usage", { mode: "number" }), - subMonthlyUsage: bigint("sub_monthly_usage", { mode: "number" }), - timeSubIntervalUsageUpdated: utc("sub_time_interval_usage_updated"), - timeSubMonthlyUsageUpdated: utc("sub_time_monthly_usage_updated"), }, (table) => [ ...workspaceIndexes(table), diff --git a/packages/console/core/src/util/date.ts b/packages/console/core/src/util/date.ts new file mode 100644 index 000000000..72d6b8e19 --- /dev/null +++ b/packages/console/core/src/util/date.ts @@ -0,0 +1,9 @@ +export function getWeekBounds(date: Date) { + const dayOfWeek = date.getUTCDay() + const start = new Date(date) + start.setUTCDate(date.getUTCDate() - dayOfWeek) + start.setUTCHours(0, 0, 0, 0) + const end = new Date(start) + end.setUTCDate(start.getUTCDate() + 7) + return { start, end } +} |
