let-me-focus-browser/utils/database.ts
2026-08-08 17:55:56 +07:00

24 lines
646 B
TypeScript

import { DBSchema, IDBPDatabase, openDB } from "idb";
import { Todo, BlockedSite } from "./types";
interface ExtensionDatabaseScheme extends DBSchema {
todos: {
key: string;
value: Todo;
};
blocked_sites: {
key: string;
value: BlockedSite;
};
}
export type ExtensionDatabase = IDBPDatabase<ExtensionDatabaseScheme>;
export function openExtensionDatabase(): Promise<ExtensionDatabase> {
return openDB<ExtensionDatabaseScheme>("let-me-focus", 1, {
upgrade(database) {
database.createObjectStore("todos", { keyPath: "id" });
database.createObjectStore("blocked_sites", { keyPath: "id" });
},
});
}