import { openDB, type IDBPDatabase } from "idb";
import type { Verbetervoorstel } from "@/data/verbetervoorstellen";

const DB_NAME = "notary-verbetervoorstellen";
const DB_VERSION = 1;

type VerbetervoorstellenDB = {
  voorstellen: {
    key: string;
    value: Verbetervoorstel;
  };
};

let dbPromise: Promise<IDBPDatabase<VerbetervoorstellenDB>> | null = null;

export function getVerbetervoorstellenDb(): Promise<IDBPDatabase<VerbetervoorstellenDB>> {
  if (!dbPromise) {
    dbPromise = openDB<VerbetervoorstellenDB>(DB_NAME, DB_VERSION, {
      upgrade(db) {
        db.createObjectStore("voorstellen", { keyPath: "id" });
      },
    });
  }
  return dbPromise;
}
