feat(panel): add electron dashboards for data, podcasts, media, and publish
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
/* 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),
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user