Files
poyraz-portfolio/apps/data-panel/preload.cjs
T

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),
},
snippet: {
list: () => ipcRenderer.invoke("snippet:list"),
upsert: (payload) => ipcRenderer.invoke("snippet:upsert", payload),
delete: (slug) => ipcRenderer.invoke("snippet:delete", slug),
},
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),
},
});