summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/src/schema
diff options
context:
space:
mode:
Diffstat (limited to 'packages/console/core/src/schema')
-rw-r--r--packages/console/core/src/schema/billing.sql.ts26
1 files changed, 23 insertions, 3 deletions
diff --git a/packages/console/core/src/schema/billing.sql.ts b/packages/console/core/src/schema/billing.sql.ts
index 6d96fc7eb..a5c70c211 100644
--- a/packages/console/core/src/schema/billing.sql.ts
+++ b/packages/console/core/src/schema/billing.sql.ts
@@ -2,7 +2,7 @@ import { bigint, boolean, index, int, json, mysqlEnum, mysqlTable, uniqueIndex,
import { timestamps, ulid, utc, workspaceColumns } from "../drizzle/types"
import { workspaceIndexes } from "./workspace.sql"
-export const SubscriptionPlan = ["20", "100", "200"] as const
+export const BlackPlans = ["20", "100", "200"] as const
export const BillingTable = mysqlTable(
"billing",
{
@@ -25,14 +25,18 @@ export const BillingTable = mysqlTable(
subscription: json("subscription").$type<{
status: "subscribed"
seats: number
- plan: "20" | "100" | "200"
+ plan: (typeof BlackPlans)[number]
useBalance?: boolean
coupon?: string
}>(),
subscriptionID: varchar("subscription_id", { length: 28 }),
- subscriptionPlan: mysqlEnum("subscription_plan", SubscriptionPlan),
+ subscriptionPlan: mysqlEnum("subscription_plan", BlackPlans),
timeSubscriptionBooked: utc("time_subscription_booked"),
timeSubscriptionSelected: utc("time_subscription_selected"),
+ liteSubscriptionID: varchar("lite_subscription_id", { length: 28 }),
+ lite: json("lite").$type<{
+ useBalance?: boolean
+ }>(),
},
(table) => [
...workspaceIndexes(table),
@@ -55,6 +59,22 @@ export const SubscriptionTable = mysqlTable(
(table) => [...workspaceIndexes(table), uniqueIndex("workspace_user_id").on(table.workspaceID, table.userID)],
)
+export const LiteTable = mysqlTable(
+ "lite",
+ {
+ ...workspaceColumns,
+ ...timestamps,
+ userID: ulid("user_id").notNull(),
+ rollingUsage: bigint("rolling_usage", { mode: "number" }),
+ weeklyUsage: bigint("weekly_usage", { mode: "number" }),
+ monthlyUsage: bigint("monthly_usage", { mode: "number" }),
+ timeRollingUpdated: utc("time_rolling_updated"),
+ timeWeeklyUpdated: utc("time_weekly_updated"),
+ timeMonthlyUpdated: utc("time_monthly_updated"),
+ },
+ (table) => [...workspaceIndexes(table), uniqueIndex("workspace_user_id").on(table.workspaceID, table.userID)],
+)
+
export const PaymentTable = mysqlTable(
"payment",
{