import { desc } from 'drizzle-orm'
import { bigint, bigserial, index, jsonb, pgTable, text } from 'drizzle-orm/pg-core'

export const recordStoreTable = pgTable(
  'record_store',
  {
    seq: bigserial('seq', { mode: 'number' }).primaryKey(),
    id: text('id').notNull(),
    createdAtMs: bigint('created_at_ms', { mode: 'number' }).notNull(),
    record: jsonb('record').notNull(),
  },
  (table) => [
    index('record_store_created_at_ms_seq_idx').on(desc(table.createdAtMs), desc(table.seq)),
  ],
)

export const recordStoreSchema = {
  recordStore: recordStoreTable,
}

export type RecordStoreSchema = typeof recordStoreSchema
