UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

26 lines (20 loc) 1.12 kB
/* eslint-disable sort-keys-fix/sort-keys-fix */ import { boolean, integer, pgTable, text, varchar } from 'drizzle-orm/pg-core'; import { createInsertSchema } from 'drizzle-zod'; import { timestamps, timestamptz } from './_helpers'; import { users } from './user'; export const apiKeys = pgTable('api_keys', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), // auto-increment primary key name: varchar('name', { length: 256 }).notNull(), // name of the API key key: varchar('key', { length: 256 }).notNull().unique(), // API key enabled: boolean('enabled').default(true), // whether the API key is enabled expiresAt: timestamptz('expires_at'), // expires time lastUsedAt: timestamptz('last_used_at'), // last used time userId: text('user_id') .references(() => users.id, { onDelete: 'cascade' }) .notNull(), // belongs to user, when user is deleted, the API key will be deleted ...timestamps, }); export const insertApiKeySchema = createInsertSchema(apiKeys); export type ApiKeyItem = typeof apiKeys.$inferSelect; export type NewApiKeyItem = typeof apiKeys.$inferInsert;