Files
Git-Manager-Gui/preload.js
2026-02-02 16:55:27 +00:00

71 lines
3.8 KiB
JavaScript

// preload.js — expose IPC to renderer
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electronAPI', {
selectFolder: () => ipcRenderer.invoke('select-folder'),
selectFile: () => ipcRenderer.invoke('select-file'),
saveCredentials: (data) => ipcRenderer.invoke('save-credentials', data),
loadCredentials: () => ipcRenderer.invoke('load-credentials'),
createRepo: (data) => ipcRenderer.invoke('create-repo', data),
pushProject: (data) => ipcRenderer.invoke('push-project', data),
getBranches: (data) => ipcRenderer.invoke('getBranches', data),
getCommitLogs: (data) => ipcRenderer.invoke('getCommitLogs', data),
getFileTree: (data) => ipcRenderer.invoke('getFileTree', data),
readFile: (data) => ipcRenderer.invoke('readFile', data),
writeFile: (data) => ipcRenderer.invoke('writeFile', data),
deleteFile: (data) => ipcRenderer.invoke('deleteFile', data),
listGiteaRepos: (data) => ipcRenderer.invoke('list-gitea-repos', data),
getGiteaRepoContents: (data) => ipcRenderer.invoke('get-gitea-repo-contents', data),
getGiteaFileContent: (data) => ipcRenderer.invoke('get-gitea-file-content', data),
readGiteaFile: (data) => ipcRenderer.invoke('read-gitea-file', data),
writeGiteaFile: (data) => ipcRenderer.invoke('write-gitea-file', data),
uploadGiteaFile: (data) => ipcRenderer.invoke('upload-gitea-file', data),
uploadLocalFolderToGitea: (data) => ipcRenderer.invoke('upload-local-folder-to-gitea', data),
downloadGiteaFolder: (data) => ipcRenderer.invoke('download-gitea-folder', data),
downloadGiteaFile: (data) => ipcRenderer.invoke('download-gitea-file', data),
prepareDownloadDrag: (data) => ipcRenderer.invoke('prepare-download-drag', data),
startNativeDrag: (filePath) => ipcRenderer.send('ondragstart', filePath),
uploadAndPush: (data) => ipcRenderer.invoke('upload-and-push', data),
deleteGiteaRepo: (data) => ipcRenderer.invoke('delete-gitea-repo', data),
// Release Management
listReleases: (data) => ipcRenderer.invoke('list-releases', data),
getRelease: (data) => ipcRenderer.invoke('get-release', data),
createRelease: (data) => ipcRenderer.invoke('create-release', data),
editRelease: (data) => ipcRenderer.invoke('edit-release', data),
deleteRelease: (data) => ipcRenderer.invoke('delete-release', data),
uploadReleaseAsset: (data) => ipcRenderer.invoke('upload-release-asset', data),
deleteReleaseAsset: (data) => ipcRenderer.invoke('delete-release-asset', data),
downloadReleaseArchive: (data) => ipcRenderer.invoke('download-release-archive', data),
// Commit History & Visualization
getCommits: (data) => ipcRenderer.invoke('get-commits', data),
getCommitDetails: (data) => ipcRenderer.invoke('get-commit-details', data),
getCommitDiff: (data) => ipcRenderer.invoke('get-commit-diff', data),
getCommitFiles: (data) => ipcRenderer.invoke('get-commit-files', data),
searchCommits: (data) => ipcRenderer.invoke('search-commits', data),
getRepoBranches: (data) => ipcRenderer.invoke('get-repo-branches', data),
// Local Repository Commits
getLocalCommits: (data) => ipcRenderer.invoke('get-local-commits', data),
getLocalCommitDiff: (data) => ipcRenderer.invoke('get-local-commit-diff', data),
getLocalCommitDetails: (data) => ipcRenderer.invoke('get-local-commit-details', data),
searchLocalCommits: (data) => ipcRenderer.invoke('search-local-commits', data),
// progress subscriptions
onPushProgress: (cb) => {
ipcRenderer.on('push-progress', (event, percent) => {
try { cb(percent); } catch (_) {}
});
},
onFolderUploadProgress: (cb) => {
ipcRenderer.on('folder-upload-progress', (event, payload) => {
try { cb(payload); } catch (_) {}
});
},
onFolderDownloadProgress: (cb) => {
ipcRenderer.on('folder-download-progress', (event, payload) => {
try { cb(payload); } catch (_) {}
});
}
});