From b1384380364d21f12c43c8f29102a7c75f764203 Mon Sep 17 00:00:00 2001 From: badrAZ Date: Tue, 19 May 2020 14:25:33 +0200 Subject: [PATCH] feat(xo-server#_listVmBackupsOnRemote): remove unused properties (#4985) This reduce by 10/100 times the quantity of data sent to the clients, which should improve performance. --- .../src/xo-mixins/backups-ng/index.js | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/xo-server/src/xo-mixins/backups-ng/index.js b/packages/xo-server/src/xo-mixins/backups-ng/index.js index de2258f2e..af3cdfe4e 100644 --- a/packages/xo-server/src/xo-mixins/backups-ng/index.js +++ b/packages/xo-server/src/xo-mixins/backups-ng/index.js @@ -993,25 +993,30 @@ export default class BackupNg { return } - // inject an id usable by importVmBackupNg() - backups.forEach(backup => { - backup.id = `${remoteId}/${backup._filename}` - - const { vdis, vhds } = backup - backup.disks = - vhds === undefined + backupsByVm[vmUuid] = backups.map(backup => ({ + disks: + backup.vhds === undefined ? [] - : Object.keys(vhds).map(vdiId => { - const vdi = vdis[vdiId] + : Object.keys(backup.vhds).map(vdiId => { + const vdi = backup.vdis[vdiId] return { - id: `${dirname(backup._filename)}/${vhds[vdiId]}`, + id: `${dirname(backup._filename)}/${backup.vhds[vdiId]}`, name: vdi.name_label, uuid: vdi.uuid, } - }) - }) + }), - backupsByVm[vmUuid] = backups + // inject an id usable by importVmBackupNg() + id: `${remoteId}/${backup._filename}`, + jobId: backup.jobId, + mode: backup.mode, + size: backup.size, + timestamp: backup.timestamp, + vm: { + name_description: backup.vm.name_description, + name_label: backup.vm.name_label, + }, + })) }) ) } catch (error) {