feat: store local data to local db (#2037)

This commit is contained in:
Peng Xiao
2023-04-21 18:06:54 +08:00
committed by GitHub
parent acc5afdd4f
commit 4bb50e8c25
35 changed files with 1103 additions and 167 deletions

View File

@@ -0,0 +1,25 @@
import type { BlobStorage } from '@blocksuite/store';
export const createSQLiteStorage = (workspaceId: string): BlobStorage => {
return {
crud: {
get: async (key: string) => {
const buffer = await window.apis.db.getBlob(workspaceId, key);
return buffer ? new Blob([buffer]) : null;
},
set: async (key: string, value: Blob) => {
return window.apis.db.addBlob(
workspaceId,
key,
new Uint8Array(await value.arrayBuffer())
);
},
delete: async (key: string) => {
return window.apis.db.deleteBlob(workspaceId, key);
},
list: async () => {
return window.apis.db.getPersistedBlobs(workspaceId);
},
},
};
};