import { openDB, DBSchema } from "idb";
//can't change name
export const SnippetTable = "snippet_table";
export interface SnippetModel {
  id: string;
  title: string;
  snippet: string;
  createdAt: Date;
  updatedAt: Date;
}

export interface IndexDBType extends DBSchema {
  [SnippetTable]: {
    key: string;
    value: SnippetModel;
    indexes: { "by-createdAt": Date };
  };
}

const db = openDB<IndexDBType>("oms-index-db", 1, {
  upgrade(db) {
    const snippetTable = db.createObjectStore(SnippetTable, { keyPath: "id" });
    snippetTable.createIndex("by-createdAt", "createdAt");
  },
});

export default db;
