mirror of
https://github.com/kmc7468/arkvault.git
synced 2026-02-04 16:16:55 +00:00
29 lines
678 B
TypeScript
29 lines
678 B
TypeScript
import { Dexie, type EntityTable } from "dexie";
|
|
|
|
export interface FileCacheIndex {
|
|
fileId: number;
|
|
cachedAt: Date;
|
|
lastRetrievedAt: Date;
|
|
size: number;
|
|
}
|
|
|
|
const cacheIndex = new Dexie("cacheIndex") as Dexie & {
|
|
fileCache: EntityTable<FileCacheIndex, "fileId">;
|
|
};
|
|
|
|
cacheIndex.version(1).stores({
|
|
fileCache: "fileId",
|
|
});
|
|
|
|
export const getFileCacheIndex = async () => {
|
|
return await cacheIndex.fileCache.toArray();
|
|
};
|
|
|
|
export const storeFileCacheIndex = async (fileCacheIndex: FileCacheIndex) => {
|
|
await cacheIndex.fileCache.put(fileCacheIndex);
|
|
};
|
|
|
|
export const deleteFileCacheIndex = async (fileId: number) => {
|
|
await cacheIndex.fileCache.delete(fileId);
|
|
};
|