import { sqliteTable, text, index } from 'drizzle-orm/sqlite-core'
import { sql } from 'drizzle-orm'

export const workspaces = sqliteTable(
  'workspaces',
  {
    id: text('id').primaryKey(),
    path: text('path').notNull().unique(),
    lastOpenedAt: text('last_opened_at').notNull().default(sql`(datetime('now'))`),
    createdAt: text('created_at').notNull().default(sql`(datetime('now'))`),
    ownerUserId: text('owner_user_id').notNull().default(''),
  },
  (t) => ({
    ownerIdx: index('idx_workspaces_owner').on(t.ownerUserId, t.lastOpenedAt),
  }),
)

export type Workspace = typeof workspaces.$inferSelect
export type NewWorkspace = typeof workspaces.$inferInsert
