a large semi-rewrite of fs logic
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import { RemotelySavePluginSettings } from "./baseTypes";
|
||||
import { FakeFs } from "./fsAll";
|
||||
import { FakeFsDropbox } from "./fsDropbox";
|
||||
import { FakeFsOnedrive } from "./fsOnedrive";
|
||||
import { FakeFsS3 } from "./fsS3";
|
||||
import { FakeFsWebdav } from "./fsWebdav";
|
||||
|
||||
/**
|
||||
* To avoid circular dependency, we need a new file here.
|
||||
*/
|
||||
export function getClient(
|
||||
settings: RemotelySavePluginSettings,
|
||||
vaultName: string,
|
||||
saveUpdatedConfigFunc: () => Promise<any>
|
||||
): FakeFs {
|
||||
switch (settings.serviceType) {
|
||||
case "s3":
|
||||
return new FakeFsS3(settings.s3);
|
||||
break;
|
||||
case "webdav":
|
||||
return new FakeFsWebdav(
|
||||
settings.webdav,
|
||||
vaultName,
|
||||
saveUpdatedConfigFunc
|
||||
);
|
||||
break;
|
||||
case "dropbox":
|
||||
return new FakeFsDropbox(
|
||||
settings.dropbox,
|
||||
vaultName,
|
||||
saveUpdatedConfigFunc
|
||||
);
|
||||
break;
|
||||
case "onedrive":
|
||||
return new FakeFsOnedrive(
|
||||
settings.onedrive,
|
||||
vaultName,
|
||||
saveUpdatedConfigFunc
|
||||
);
|
||||
break;
|
||||
default:
|
||||
throw Error(`cannot init client for serviceType=${settings.serviceType}`);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user