48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import type { Entity } from "../../src/baseTypes";
|
|
import type { InternalDBs } from "../../src/localdb";
|
|
|
|
export const upsertFileContentHistoryByVaultAndProfile = async (
|
|
db: InternalDBs,
|
|
vaultRandomID: string,
|
|
profileID: string,
|
|
prevSync: Entity,
|
|
prevContent: ArrayBuffer
|
|
) => {
|
|
await db.fileContentHistoryTbl.setItem(
|
|
`${vaultRandomID}\t${profileID}\t${prevSync.key}`,
|
|
prevContent
|
|
);
|
|
};
|
|
|
|
export const getFileContentHistoryByVaultAndProfile = async (
|
|
db: InternalDBs,
|
|
vaultRandomID: string,
|
|
profileID: string,
|
|
prevSync: Entity
|
|
) => {
|
|
return (await db.fileContentHistoryTbl.getItem(
|
|
`${vaultRandomID}\t${profileID}\t${prevSync.key}`
|
|
)) as ArrayBuffer | null | undefined;
|
|
};
|
|
|
|
export const clearFileContentHistoryByVaultAndProfile = async (
|
|
db: InternalDBs,
|
|
vaultRandomID: string,
|
|
profileID: string,
|
|
key: string
|
|
) => {
|
|
await db.fileContentHistoryTbl.removeItem(
|
|
`${vaultRandomID}\t${profileID}\t${key}`
|
|
);
|
|
};
|
|
|
|
export const clearAllFileContentHistoryByVault = async (
|
|
db: InternalDBs,
|
|
vaultRandomID: string
|
|
) => {
|
|
const keys = (await db.fileContentHistoryTbl.keys()).filter((x) =>
|
|
x.startsWith(`${vaultRandomID}\t`)
|
|
);
|
|
await db.fileContentHistoryTbl.removeItems(keys);
|
|
};
|