feat(downloads): apply bandwidth and schedule policy

This commit is contained in:
Sucukdeluxe
2026-08-12 02:43:06 +02:00
parent 661d7d9858
commit c44314ea2c
15 changed files with 510 additions and 17 deletions
+5 -1
View File
@@ -103,6 +103,7 @@ interface FileCapabilityReference {
contextBridge.exposeInMainWorld('api', {
// Config
getConfig: () => ipcRenderer.invoke('get-config'),
getDownloadPolicyStatus: () => ipcRenderer.invoke('get-download-policy-status'),
saveConfig: (config: any, fileCapability?: string) => ipcRenderer.invoke('save-config', config, fileCapability),
getSecretStatus: () => ipcRenderer.invoke('get-secret-status'),
setClientSecret: (value: string) => ipcRenderer.invoke('set-client-secret', value),
@@ -129,7 +130,7 @@ contextBridge.exposeInMainWorld('api', {
createMergeGroup: (itemIds: string[]) => ipcRenderer.invoke('create-merge-group', itemIds),
// Download
startDownload: () => ipcRenderer.invoke('start-download'),
startDownload: (manualOverride: boolean = true) => ipcRenderer.invoke('start-download', manualOverride),
pauseDownload: () => ipcRenderer.invoke('pause-download'),
cancelDownload: () => ipcRenderer.invoke('cancel-download'),
isDownloading: () => ipcRenderer.invoke('is-downloading'),
@@ -249,6 +250,9 @@ contextBridge.exposeInMainWorld('api', {
onDownloadFinished: (callback: () => void) => {
ipcRenderer.on('download-finished', () => callback());
},
onDownloadPolicyStatus: (callback: (status: DownloadPolicyStatus) => void) => {
ipcRenderer.on('download-policy-status', (_, status) => callback(status));
},
onCutProgress: (callback: (percent: number) => void) => {
ipcRenderer.on('cut-progress', (_, percent) => callback(percent));
},