30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
import { AccountStore } from "./cloudfile/account-store.js";
|
|
import { CloudFileProvider } from "./cloudfile/provider.js";
|
|
import { error as logError, info } from "./util/log.js";
|
|
|
|
const accountStore = new AccountStore();
|
|
const provider = new CloudFileProvider({ accountStore });
|
|
|
|
async function bootstrap() {
|
|
browser.cloudFile.onAccountAdded.addListener(account => provider.onAccountAdded(account));
|
|
browser.cloudFile.onAccountDeleted.addListener(accountId => provider.onAccountDeleted(accountId));
|
|
browser.cloudFile.onFileUpload.addListener((account, fileInfo, tab, relatedFileInfo) => {
|
|
return provider.onFileUpload(account, fileInfo, tab, relatedFileInfo);
|
|
});
|
|
browser.cloudFile.onFileUploadAbort.addListener((account, fileId, tab) => {
|
|
return provider.onFileUploadAbort(account, fileId, tab);
|
|
});
|
|
browser.cloudFile.onFileDeleted.addListener((account, fileId, tab) => {
|
|
return provider.onFileDeleted(account, fileId, tab);
|
|
});
|
|
browser.cloudFile.onFileRename.addListener((account, fileId, newName, tab) => {
|
|
return provider.onFileRename(account, fileId, newName, tab);
|
|
});
|
|
|
|
await provider.initialize();
|
|
info("PsiTransfer Filelink scaffold initialized.");
|
|
}
|
|
|
|
bootstrap().catch(caughtError => {
|
|
logError("Failed to bootstrap background script", caughtError);
|
|
});
|