35 lines
1.5 KiB
JavaScript
35 lines
1.5 KiB
JavaScript
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
const { contextBridge, ipcRenderer } = require("electron");
|
|
|
|
contextBridge.exposeInMainWorld("panelAPI", {
|
|
data: {
|
|
list: () => ipcRenderer.invoke("data:list"),
|
|
read: (fileName) => ipcRenderer.invoke("data:read", fileName),
|
|
saveRaw: (payload) => ipcRenderer.invoke("data:saveRaw", payload),
|
|
updateExport: (payload) => ipcRenderer.invoke("data:updateExport", payload),
|
|
create: (payload) => ipcRenderer.invoke("data:create", payload),
|
|
delete: (fileName) => ipcRenderer.invoke("data:delete", fileName),
|
|
},
|
|
blog: {
|
|
list: () => ipcRenderer.invoke("blog:list"),
|
|
upsert: (payload) => ipcRenderer.invoke("blog:upsert", payload),
|
|
delete: (slug) => ipcRenderer.invoke("blog:delete", slug),
|
|
},
|
|
podcast: {
|
|
list: (kind) => ipcRenderer.invoke("podcast:list", kind),
|
|
upsert: (payload) => ipcRenderer.invoke("podcast:upsert", payload),
|
|
delete: (payload) => ipcRenderer.invoke("podcast:delete", payload),
|
|
},
|
|
media: {
|
|
listFolders: () => ipcRenderer.invoke("media:listFolders"),
|
|
createFolder: (folder) => ipcRenderer.invoke("media:createFolder", folder),
|
|
listFiles: (folder) => ipcRenderer.invoke("media:listFiles", folder),
|
|
upload: (folder) => ipcRenderer.invoke("media:upload", folder),
|
|
deleteFile: (relativePath) => ipcRenderer.invoke("media:deleteFile", relativePath),
|
|
},
|
|
publish: {
|
|
status: () => ipcRenderer.invoke("publish:status"),
|
|
run: (message) => ipcRenderer.invoke("publish:run", message),
|
|
},
|
|
});
|