Upload via Git Manager GUI - preload.js
This commit is contained in:
58
preload.js
58
preload.js
@@ -1,5 +1,5 @@
|
|||||||
// preload.js — expose IPC to renderer
|
// preload.js — expose IPC to renderer
|
||||||
const { contextBridge, ipcRenderer } = require('electron');
|
const { contextBridge, ipcRenderer, webUtils } = require('electron');
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('electronAPI', {
|
contextBridge.exposeInMainWorld('electronAPI', {
|
||||||
// Lokale Datei-Operationen
|
// Lokale Datei-Operationen
|
||||||
@@ -20,7 +20,13 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
|
|
||||||
// Gitea Datei-Operationen
|
// Gitea Datei-Operationen
|
||||||
listGiteaRepos: (data) => ipcRenderer.invoke('list-gitea-repos', data),
|
listGiteaRepos: (data) => ipcRenderer.invoke('list-gitea-repos', data),
|
||||||
|
getGiteaCurrentUser: () => ipcRenderer.invoke('get-gitea-current-user'),
|
||||||
getGiteaUserHeatmap: (data) => ipcRenderer.invoke('get-gitea-user-heatmap', data),
|
getGiteaUserHeatmap: (data) => ipcRenderer.invoke('get-gitea-user-heatmap', data),
|
||||||
|
|
||||||
|
// GitHub Datei-Operationen
|
||||||
|
listGithubRepos: (data) => ipcRenderer.invoke('list-github-repos', data),
|
||||||
|
getGithubCurrentUser: () => ipcRenderer.invoke('get-github-current-user'),
|
||||||
|
getGithubUserHeatmap: (data) => ipcRenderer.invoke('get-github-user-heatmap', 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),
|
||||||
@@ -33,13 +39,22 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
// Repository & Git Management
|
// Repository & Git Management
|
||||||
saveCredentials: (data) => ipcRenderer.invoke('save-credentials', data),
|
saveCredentials: (data) => ipcRenderer.invoke('save-credentials', data),
|
||||||
loadCredentials: () => ipcRenderer.invoke('load-credentials'),
|
loadCredentials: () => ipcRenderer.invoke('load-credentials'),
|
||||||
|
getCredentialsStatus: () => ipcRenderer.invoke('get-credentials-status'),
|
||||||
testGiteaConnection: (data) => ipcRenderer.invoke('test-gitea-connection', data),
|
testGiteaConnection: (data) => ipcRenderer.invoke('test-gitea-connection', data),
|
||||||
|
testGithubConnection: (data) => ipcRenderer.invoke('test-github-connection', data),
|
||||||
|
updateGiteaAvatar: (data) => ipcRenderer.invoke('update-gitea-avatar', data),
|
||||||
|
updateGiteaRepoAvatar: (data) => ipcRenderer.invoke('update-gitea-repo-avatar', data),
|
||||||
|
updateGiteaRepoVisibility: (data) => ipcRenderer.invoke('update-gitea-repo-visibility', data),
|
||||||
|
updateGiteaRepoTopics: (data) => ipcRenderer.invoke('update-gitea-repo-topics', data),
|
||||||
|
getGiteaTopicsCatalog: () => ipcRenderer.invoke('get-gitea-topics-catalog'),
|
||||||
|
migrateRepoToGitea: (data) => ipcRenderer.invoke('migrate-repo-to-gitea', data),
|
||||||
createRepo: (data) => ipcRenderer.invoke('create-repo', data),
|
createRepo: (data) => ipcRenderer.invoke('create-repo', data),
|
||||||
pushProject: (data) => ipcRenderer.invoke('push-project', data),
|
pushProject: (data) => ipcRenderer.invoke('push-project', data),
|
||||||
getBranches: (data) => ipcRenderer.invoke('getBranches', data),
|
getBranches: (data) => ipcRenderer.invoke('getBranches', data),
|
||||||
getCommitLogs: (data) => ipcRenderer.invoke('getCommitLogs', 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),
|
||||||
|
syncRepoToGitHub: (data) => ipcRenderer.invoke('sync-repo-to-github', data),
|
||||||
runBatchRepoAction: (data) => ipcRenderer.invoke('run-batch-repo-action', data),
|
runBatchRepoAction: (data) => ipcRenderer.invoke('run-batch-repo-action', data),
|
||||||
validateRepoName: (data) => ipcRenderer.invoke('validate-repo-name', data),
|
validateRepoName: (data) => ipcRenderer.invoke('validate-repo-name', data),
|
||||||
checkCloneTargetCollisions: (data) => ipcRenderer.invoke('check-clone-target-collisions', data),
|
checkCloneTargetCollisions: (data) => ipcRenderer.invoke('check-clone-target-collisions', data),
|
||||||
@@ -52,6 +67,14 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
// Drag & Drop
|
// Drag & Drop
|
||||||
prepareDownloadDrag: (data) => ipcRenderer.invoke('prepare-download-drag', data),
|
prepareDownloadDrag: (data) => ipcRenderer.invoke('prepare-download-drag', data),
|
||||||
startNativeDrag: (filePath) => ipcRenderer.send('ondragstart', filePath),
|
startNativeDrag: (filePath) => ipcRenderer.send('ondragstart', filePath),
|
||||||
|
getPathType: (filePath) => ipcRenderer.invoke('get-path-type', filePath),
|
||||||
|
getPathForFile: (file) => {
|
||||||
|
try {
|
||||||
|
return webUtils.getPathForFile(file) || '';
|
||||||
|
} catch (_) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Release Management
|
// Release Management
|
||||||
listReleases: (data) => ipcRenderer.invoke('list-releases', data),
|
listReleases: (data) => ipcRenderer.invoke('list-releases', data),
|
||||||
@@ -84,7 +107,7 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
saveRecent: (data) => ipcRenderer.invoke('save-recent', data),
|
saveRecent: (data) => ipcRenderer.invoke('save-recent', data),
|
||||||
|
|
||||||
// === UPDATER APIs ===
|
// === UPDATER APIs ===
|
||||||
checkForUpdates: () => ipcRenderer.invoke('check-for-updates'),
|
checkForUpdates: (options) => ipcRenderer.invoke('check-for-updates', options || {}),
|
||||||
getAppVersion: () => ipcRenderer.invoke('get-app-version'),
|
getAppVersion: () => ipcRenderer.invoke('get-app-version'),
|
||||||
|
|
||||||
// Triggert den tatsächlichen Download des Assets
|
// Triggert den tatsächlichen Download des Assets
|
||||||
@@ -98,6 +121,12 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
return () => ipcRenderer.removeListener('update-available', listener);
|
return () => ipcRenderer.removeListener('update-available', listener);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onUpdateNotAvailable: (cb) => {
|
||||||
|
const listener = (event, info) => cb(info);
|
||||||
|
ipcRenderer.on('update-not-available', listener);
|
||||||
|
return () => ipcRenderer.removeListener('update-not-available', listener);
|
||||||
|
},
|
||||||
|
|
||||||
onUpdateProgress: (cb) => {
|
onUpdateProgress: (cb) => {
|
||||||
const listener = (event, percent) => cb(percent);
|
const listener = (event, percent) => cb(percent);
|
||||||
ipcRenderer.on('update-progress', listener);
|
ipcRenderer.on('update-progress', listener);
|
||||||
@@ -110,12 +139,6 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
return () => ipcRenderer.removeListener('push-progress', listener);
|
return () => ipcRenderer.removeListener('push-progress', listener);
|
||||||
},
|
},
|
||||||
|
|
||||||
onPrePushBackupStatus: (cb) => {
|
|
||||||
const listener = (event, payload) => { try { cb(payload); } catch (_) {} };
|
|
||||||
ipcRenderer.on('pre-push-backup-status', listener);
|
|
||||||
return () => ipcRenderer.removeListener('pre-push-backup-status', listener);
|
|
||||||
},
|
|
||||||
|
|
||||||
onFolderUploadProgress: (cb) => {
|
onFolderUploadProgress: (cb) => {
|
||||||
const listener = (event, payload) => { try { cb(payload); } catch (_) {} };
|
const listener = (event, payload) => { try { cb(payload); } catch (_) {} };
|
||||||
ipcRenderer.on('folder-upload-progress', listener);
|
ipcRenderer.on('folder-upload-progress', listener);
|
||||||
@@ -140,22 +163,6 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
return () => ipcRenderer.removeListener('batch-action-progress', listener);
|
return () => ipcRenderer.removeListener('batch-action-progress', listener);
|
||||||
},
|
},
|
||||||
|
|
||||||
// Backup Management
|
|
||||||
exportGiteaProjectsToLocal: (data) => ipcRenderer.invoke('export-gitea-projects-to-local', data),
|
|
||||||
setupBackupProvider: (data) => ipcRenderer.invoke('setup-backup-provider', data),
|
|
||||||
testBackupProvider: (data) => ipcRenderer.invoke('test-backup-provider', data),
|
|
||||||
getBackupAuthStatus: (data) => ipcRenderer.invoke('get-backup-auth-status', data),
|
|
||||||
createCloudBackup: (data) => ipcRenderer.invoke('create-cloud-backup', data),
|
|
||||||
listCloudBackups: (data) => ipcRenderer.invoke('list-cloud-backups', data),
|
|
||||||
restoreCloudBackup: (data) => ipcRenderer.invoke('restore-cloud-backup', data),
|
|
||||||
deleteCloudBackup: (data) => ipcRenderer.invoke('delete-cloud-backup', data),
|
|
||||||
|
|
||||||
onBackupCreated: (cb) => {
|
|
||||||
const listener = (event, payload) => { try { cb(payload); } catch (_) {} };
|
|
||||||
ipcRenderer.on('backup-created', listener);
|
|
||||||
return () => ipcRenderer.removeListener('backup-created', listener);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Window Controls
|
// Window Controls
|
||||||
windowMinimize: () => ipcRenderer.send('window-minimize'),
|
windowMinimize: () => ipcRenderer.send('window-minimize'),
|
||||||
windowMaximize: () => ipcRenderer.send('window-maximize'),
|
windowMaximize: () => ipcRenderer.send('window-maximize'),
|
||||||
@@ -167,5 +174,6 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
|||||||
|
|
||||||
// Utility
|
// Utility
|
||||||
copyToClipboard: (text) => ipcRenderer.invoke('copy-to-clipboard', text),
|
copyToClipboard: (text) => ipcRenderer.invoke('copy-to-clipboard', text),
|
||||||
openExternalUrl: (url) => ipcRenderer.invoke('open-external-url', url)
|
openExternalUrl: (url) => ipcRenderer.invoke('open-external-url', url),
|
||||||
|
debugToMain: (level, message, payload) => ipcRenderer.send('renderer-debug-log', { level, message, payload })
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user