22 lines
1.2 KiB
JavaScript
22 lines
1.2 KiB
JavaScript
const { contextBridge, ipcRenderer } = require("electron");
|
|
|
|
contextBridge.exposeInMainWorld("desktopApi", {
|
|
getRuntimeConfig: () => ipcRenderer.invoke("runtime:config"),
|
|
selectDirectory: () => ipcRenderer.invoke("dialog:select-directory"),
|
|
saveCsvDialog: (defaultPath) => ipcRenderer.invoke("dialog:save-csv", defaultPath),
|
|
writeTextFile: (filePath, content) => ipcRenderer.invoke("file:write-text", filePath, content),
|
|
findFirstDocument: (rootPath, keywords) => ipcRenderer.invoke("fs:first-document", rootPath, keywords),
|
|
indexFolder: (rootPath, structureMode, docTypes, keywords) =>
|
|
ipcRenderer.invoke("fs:index-folder", rootPath, structureMode, docTypes, keywords),
|
|
readFile: (filePath) => ipcRenderer.invoke("fs:read-file", filePath),
|
|
checkForUpdates: () => ipcRenderer.invoke("updater:check"),
|
|
getReleaseMeta: () => ipcRenderer.invoke("updater:release-meta"),
|
|
listVersions: () => ipcRenderer.invoke("updater:list-versions"),
|
|
installUpdate: (manifest) => ipcRenderer.invoke("updater:install", manifest),
|
|
onUpdateProgress: (callback) => {
|
|
const handler = (_event, payload) => callback(payload);
|
|
ipcRenderer.on("updater:progress", handler);
|
|
return () => ipcRenderer.removeListener("updater:progress", handler);
|
|
},
|
|
});
|