import { pgTable, uuid, text, timestamp, index, uniqueIndex } from "drizzle-orm/pg-core"; import { authUsers } from "./auth.js"; export const boardApiKeys = pgTable( "board_api_keys", { id: uuid("id").primaryKey().defaultRandom(), userId: text("user_id").notNull().references(() => authUsers.id, { onDelete: "cascade" }), name: text("name").notNull(), keyHash: text("key_hash").notNull(), lastUsedAt: timestamp("last_used_at", { withTimezone: true }), revokedAt: timestamp("revoked_at", { withTimezone: true }), expiresAt: timestamp("expires_at", { withTimezone: true }), createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(), }, (table) => ({ keyHashIdx: uniqueIndex("board_api_keys_key_hash_idx").on(table.keyHash), userIdx: index("board_api_keys_user_idx").on(table.userId), }), );