FileLink-PsiTransfer/src/background.js

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);
});