Buckets:
| import { mysqlTable, uniqueIndex, varchar, int, mysqlEnum, index, bigint } from "drizzle-orm/mysql-core" | |
| import { timestamps, ulid, utc, workspaceColumns } from "../drizzle/types" | |
| import { workspaceIndexes } from "./workspace.sql" | |
| export const UserRole = ["admin", "member"] as const | |
| export const UserTable = mysqlTable( | |
| "user", | |
| { | |
| ...workspaceColumns, | |
| ...timestamps, | |
| accountID: ulid("account_id"), | |
| email: varchar("email", { length: 255 }), | |
| name: varchar("name", { length: 255 }).notNull(), | |
| timeSeen: utc("time_seen"), | |
| color: int("color"), | |
| role: mysqlEnum("role", UserRole).notNull(), | |
| monthlyLimit: int("monthly_limit"), | |
| monthlyUsage: bigint("monthly_usage", { mode: "number" }), | |
| timeMonthlyUsageUpdated: utc("time_monthly_usage_updated"), | |
| }, | |
| (table) => [ | |
| ...workspaceIndexes(table), | |
| uniqueIndex("user_account_id").on(table.workspaceID, table.accountID), | |
| uniqueIndex("user_email").on(table.workspaceID, table.email), | |
| index("global_account_id").on(table.accountID), | |
| index("global_email").on(table.email), | |
| ], | |
| ) | |
Xet Storage Details
- Size:
- 1.08 kB
- Xet hash:
- 764e8e179077cb30e71fa7259cb2a871f5e7cebfdd960aa0f9c8ce74e218fdc1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.