Upload preload.js via GUI
This commit is contained in:
67
preload.js
67
preload.js
@@ -2,32 +2,39 @@
|
|||||||
const { contextBridge, ipcRenderer } = require('electron');
|
const { contextBridge, ipcRenderer } = require('electron');
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('electronAPI', {
|
contextBridge.exposeInMainWorld('electronAPI', {
|
||||||
|
// Lokale Datei-Operationen
|
||||||
selectFolder: () => ipcRenderer.invoke('select-folder'),
|
selectFolder: () => ipcRenderer.invoke('select-folder'),
|
||||||
selectFile: () => ipcRenderer.invoke('select-file'),
|
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),
|
getFileTree: (data) => ipcRenderer.invoke('getFileTree', data),
|
||||||
readFile: (data) => ipcRenderer.invoke('readFile', data),
|
readFile: (data) => ipcRenderer.invoke('readFile', data),
|
||||||
writeFile: (data) => ipcRenderer.invoke('writeFile', data),
|
writeFile: (data) => ipcRenderer.invoke('writeFile', data),
|
||||||
deleteFile: (data) => ipcRenderer.invoke('deleteFile', data),
|
deleteFile: (data) => ipcRenderer.invoke('deleteFile', data),
|
||||||
|
|
||||||
|
// Gitea Datei-Operationen
|
||||||
listGiteaRepos: (data) => ipcRenderer.invoke('list-gitea-repos', data),
|
listGiteaRepos: (data) => ipcRenderer.invoke('list-gitea-repos', data),
|
||||||
getGiteaRepoContents: (data) => ipcRenderer.invoke('get-gitea-repo-contents', data),
|
getGiteaRepoContents: (data) => ipcRenderer.invoke('get-gitea-repo-contents', data),
|
||||||
getGiteaFileContent: (data) => ipcRenderer.invoke('get-gitea-file-content', data),
|
getGiteaFileContent: (data) => ipcRenderer.invoke('get-gitea-file-content', data),
|
||||||
readGiteaFile: (data) => ipcRenderer.invoke('read-gitea-file', data),
|
readGiteaFile: (data) => ipcRenderer.invoke('read-gitea-file', data),
|
||||||
writeGiteaFile: (data) => ipcRenderer.invoke('write-gitea-file', data),
|
writeGiteaFile: (data) => ipcRenderer.invoke('write-gitea-file', data),
|
||||||
uploadGiteaFile: (data) => ipcRenderer.invoke('upload-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),
|
downloadGiteaFolder: (data) => ipcRenderer.invoke('download-gitea-folder', data),
|
||||||
downloadGiteaFile: (data) => ipcRenderer.invoke('download-gitea-file', data),
|
downloadGiteaFile: (data) => ipcRenderer.invoke('download-gitea-file', data),
|
||||||
prepareDownloadDrag: (data) => ipcRenderer.invoke('prepare-download-drag', data),
|
uploadLocalFolderToGitea: (data) => ipcRenderer.invoke('upload-local-folder-to-gitea', data),
|
||||||
startNativeDrag: (filePath) => ipcRenderer.send('ondragstart', filePath),
|
|
||||||
|
// Repository & Git Management
|
||||||
|
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),
|
||||||
uploadAndPush: (data) => ipcRenderer.invoke('upload-and-push', data),
|
uploadAndPush: (data) => ipcRenderer.invoke('upload-and-push', data),
|
||||||
deleteGiteaRepo: (data) => ipcRenderer.invoke('delete-gitea-repo', data),
|
deleteGiteaRepo: (data) => ipcRenderer.invoke('delete-gitea-repo', data),
|
||||||
|
|
||||||
|
// Drag & Drop
|
||||||
|
prepareDownloadDrag: (data) => ipcRenderer.invoke('prepare-download-drag', data),
|
||||||
|
startNativeDrag: (filePath) => ipcRenderer.send('ondragstart', filePath),
|
||||||
|
|
||||||
// Release Management
|
// Release Management
|
||||||
listReleases: (data) => ipcRenderer.invoke('list-releases', data),
|
listReleases: (data) => ipcRenderer.invoke('list-releases', data),
|
||||||
getRelease: (data) => ipcRenderer.invoke('get-release', data),
|
getRelease: (data) => ipcRenderer.invoke('get-release', data),
|
||||||
@@ -52,20 +59,42 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
getLocalCommitDetails: (data) => ipcRenderer.invoke('get-local-commit-details', data),
|
getLocalCommitDetails: (data) => ipcRenderer.invoke('get-local-commit-details', data),
|
||||||
searchLocalCommits: (data) => ipcRenderer.invoke('search-local-commits', data),
|
searchLocalCommits: (data) => ipcRenderer.invoke('search-local-commits', data),
|
||||||
|
|
||||||
// progress subscriptions
|
// === UPDATER APIs ===
|
||||||
|
checkForUpdates: () => ipcRenderer.invoke('check-for-updates'),
|
||||||
|
getAppVersion: () => ipcRenderer.invoke('get-app-version'),
|
||||||
|
|
||||||
|
// Triggert den tatsächlichen Download des Assets
|
||||||
|
// WICHTIG: Muss in renderer.js als window.electronAPI.startUpdateDownload(asset) aufgerufen werden
|
||||||
|
startUpdateDownload: (asset) => ipcRenderer.invoke('start-update-download', asset),
|
||||||
|
|
||||||
|
// === Progress & Update Subscriptions ===
|
||||||
|
onUpdateAvailable: (cb) => {
|
||||||
|
const listener = (event, info) => cb(info);
|
||||||
|
ipcRenderer.on('update-available', listener);
|
||||||
|
return () => ipcRenderer.removeListener('update-available', listener);
|
||||||
|
},
|
||||||
|
|
||||||
|
onUpdateProgress: (cb) => {
|
||||||
|
const listener = (event, percent) => cb(percent);
|
||||||
|
ipcRenderer.on('update-progress', listener);
|
||||||
|
return () => ipcRenderer.removeListener('update-progress', listener);
|
||||||
|
},
|
||||||
|
|
||||||
onPushProgress: (cb) => {
|
onPushProgress: (cb) => {
|
||||||
ipcRenderer.on('push-progress', (event, percent) => {
|
const listener = (event, percent) => { try { cb(percent); } catch (_) {} };
|
||||||
try { cb(percent); } catch (_) {}
|
ipcRenderer.on('push-progress', listener);
|
||||||
});
|
return () => ipcRenderer.removeListener('push-progress', listener);
|
||||||
},
|
},
|
||||||
|
|
||||||
onFolderUploadProgress: (cb) => {
|
onFolderUploadProgress: (cb) => {
|
||||||
ipcRenderer.on('folder-upload-progress', (event, payload) => {
|
const listener = (event, payload) => { try { cb(payload); } catch (_) {} };
|
||||||
try { cb(payload); } catch (_) {}
|
ipcRenderer.on('folder-upload-progress', listener);
|
||||||
});
|
return () => ipcRenderer.removeListener('folder-upload-progress', listener);
|
||||||
},
|
},
|
||||||
|
|
||||||
onFolderDownloadProgress: (cb) => {
|
onFolderDownloadProgress: (cb) => {
|
||||||
ipcRenderer.on('folder-download-progress', (event, payload) => {
|
const listener = (event, payload) => { try { cb(payload); } catch (_) {} };
|
||||||
try { cb(payload); } catch (_) {}
|
ipcRenderer.on('folder-download-progress', listener);
|
||||||
});
|
return () => ipcRenderer.removeListener('folder-download-progress', listener);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user