import { sql } from 'drizzle-orm'; import { text, integer, sqliteTable } from 'drizzle-orm/sqlite-core'; export const messages = sqliteTable('messages', { id: integer('id').primaryKey(), content: text('content').notNull(), chatId: text('chatId').notNull(), messageId: text('messageId').notNull(), role: text('type', { enum: ['assistant', 'user'] }), metadata: text('metadata', { mode: 'json', }), }); interface File { name: string; fileId: string; } export const chats = sqliteTable('chats', { id: text('id').primaryKey(), title: text('title').notNull(), createdAt: text('createdAt').notNull(), focusMode: text('focusMode').notNull(), files: text('files', { mode: 'json' }) .$type() .default(sql`'[]'`), }); export const userPreferences = sqliteTable('user_preferences', { id: integer('id').primaryKey(), userId: text('user_id').notNull(), categories: text('categories', { mode: 'json' }) .$type() .default(sql`'["AI", "Technology"]'`), languages: text('languages', { mode: 'json' }) // Changed from 'language' to 'languages' .$type() .default(sql`'[]'`), // Empty array means "All Languages" createdAt: text('created_at').notNull().default(sql`CURRENT_TIMESTAMP`), updatedAt: text('updated_at').notNull().default(sql`CURRENT_TIMESTAMP`), });