34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('api', {
|
|
// Config
|
|
getConfig: () => ipcRenderer.invoke('get-config'),
|
|
saveConfig: (config) => ipcRenderer.invoke('save-config', config),
|
|
|
|
// Servers
|
|
getServers: () => ipcRenderer.invoke('get-servers'),
|
|
saveServer: (server) => ipcRenderer.invoke('save-server', server),
|
|
deleteServer: (serverId) => ipcRenderer.invoke('delete-server', serverId),
|
|
|
|
// Scanning
|
|
scanLocalProjects: () => ipcRenderer.invoke('scan-local-projects'),
|
|
scanServer: (serverId) => ipcRenderer.invoke('scan-server', serverId),
|
|
getRunningContainers: (serverId) => ipcRenderer.invoke('get-running-containers', serverId),
|
|
|
|
// Comparison
|
|
compareProject: (data) => ipcRenderer.invoke('compare-project', data),
|
|
|
|
// Actions
|
|
buildTar: (projectPath) => ipcRenderer.invoke('build-tar', projectPath),
|
|
deployProject: (data) => ipcRenderer.invoke('deploy-project', data),
|
|
pullFile: (data) => ipcRenderer.invoke('pull-file', data),
|
|
pullFiles: (data) => ipcRenderer.invoke('pull-files', data),
|
|
initProject: (projectPath) => ipcRenderer.invoke('init-project', projectPath),
|
|
|
|
// Logs
|
|
getContainerLogs: (data) => ipcRenderer.invoke('get-container-logs', data),
|
|
|
|
// VS Code integration
|
|
openVSCodeDiff: (data) => ipcRenderer.invoke('open-vscode-diff', data)
|
|
});
|