Skip to content

Commit 45773aa

Browse files
committed
Add user defined storage adapter path
1 parent 958675a commit 45773aa

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

packages/attachments/src/storageAdapters/IndexDBFileSystemAdapter.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ import { EncodingType, LocalStorageAdapter } from '../LocalStorageAdapter.js';
22

33
export class IndexDBFileSystemStorageAdapter implements LocalStorageAdapter {
44
private dbPromise: Promise<IDBDatabase>;
5+
6+
constructor(private databaseName: string = 'PowerSyncFiles') {}
57

68
async initialize(): Promise<void> {
79
this.dbPromise = new Promise<IDBDatabase>((resolve, reject) => {
8-
const request = indexedDB.open('PowerSyncFiles', 1);
10+
const request = indexedDB.open(this.databaseName, 1);
911
request.onupgradeneeded = () => {
1012
request.result.createObjectStore('files');
1113
};
@@ -26,7 +28,7 @@ export class IndexDBFileSystemStorageAdapter implements LocalStorageAdapter {
2628
}
2729

2830
getLocalUri(filename: string): string {
29-
return `indexeddb://PowerSyncFiles/files/${filename}`;
31+
return `indexeddb://${this.databaseName}/files/${filename}`;
3032
}
3133

3234
private async getStore(mode: IDBTransactionMode = 'readonly'): Promise<IDBObjectStore> {

packages/attachments/src/storageAdapters/NodeFileSystemAdapter.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,23 @@ import * as path from 'path';
33
import { EncodingType, LocalStorageAdapter } from '../LocalStorageAdapter.js';
44

55
export class NodeFileSystemAdapter implements LocalStorageAdapter {
6+
7+
constructor(private storageDirectory: string = './user_data') {}
8+
69
async initialize(): Promise<void> {
710
// const dir = this.getUserStorageDirectory();
8-
const dir = path.resolve('./user_data');
11+
const dir = path.resolve(this.storageDirectory);
912
await fs.mkdir(dir, { recursive: true });
1013
}
1114

1215
async clear(): Promise<void> {
1316
// const dir = this.getUserStorageDirectory();
14-
const dir = path.resolve('./user_data');
17+
const dir = path.resolve(this.storageDirectory);
1518
await fs.rmdir(dir, { recursive: true });
1619
}
1720

1821
getLocalUri(filename: string): string {
19-
return path.join(path.resolve('./user_data'), filename);
22+
return path.join(path.resolve(this.storageDirectory), filename);
2023
}
2124

2225
async uploadFile(filePath: string, data: ArrayBuffer, options?: { encoding: EncodingType }): Promise<void> {

0 commit comments

Comments
 (0)