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

export const skills = sqliteTable(
  'skills',
  {
    id: text('id').primaryKey(),
    name: text('name').notNull(),
    description: text('description').notNull().default(''),
    scope: text('scope').notNull().default('workspace'),
    enabled: integer('enabled').notNull().default(1),
    content: text('content').notNull().default(''),
    userId: text('user_id').notNull().default(''),
    createdAt: text('created_at').notNull().default(sql`(datetime('now'))`),
    updatedAt: text('updated_at').notNull().default(sql`(datetime('now'))`),
  },
  (t) => ({
    userIdx: index('idx_skills_user').on(t.userId, t.updatedAt),
  }),
)

export type Skill = typeof skills.$inferSelect
export type NewSkill = typeof skills.$inferInsert
