feat(xo-server#deleteVmBackupNg): use @xen-orchestra/backups lib (#5623)
This commit is contained in:
parent
baa5847949
commit
2952b5a7ec
@ -782,27 +782,17 @@ export default class BackupNg {
|
||||
async deleteVmBackupNg(id: string): Promise<void> {
|
||||
const app = this._app
|
||||
const { metadataFilename, remoteId } = parseVmBackupId(id)
|
||||
const { proxy, url, options } = await app.getRemoteWithCredentials(remoteId)
|
||||
if (proxy !== undefined) {
|
||||
await app.callProxyMethod(proxy, 'backup.deleteVmBackup', {
|
||||
const remote = await app.getRemoteWithCredentials(remoteId)
|
||||
if (remote.proxy !== undefined) {
|
||||
await app.callProxyMethod(remote.proxy, 'backup.deleteVmBackup', {
|
||||
filename: metadataFilename,
|
||||
remote: {
|
||||
url,
|
||||
options,
|
||||
url: remote.url,
|
||||
options: remote.options,
|
||||
},
|
||||
})
|
||||
} else {
|
||||
const handler = await app.getRemoteHandler(remoteId)
|
||||
const metadata: Metadata = JSON.parse(String(await handler.readFile(metadataFilename)))
|
||||
metadata._filename = metadataFilename
|
||||
|
||||
if (metadata.mode === 'delta') {
|
||||
await this._deleteDeltaVmBackups(handler, [metadata])
|
||||
} else if (metadata.mode === 'full') {
|
||||
await this._deleteFullVmBackups(handler, [metadata])
|
||||
} else {
|
||||
throw new Error(`no deleter for backup mode ${metadata.mode}`)
|
||||
}
|
||||
await using(app.getBackupsRemoteAdapter(remoteId), adapter => adapter.deleteVmBackup(metadataFilename))
|
||||
}
|
||||
|
||||
this._listVmBackupsOnRemote(REMOVE_CACHE_ENTRY, remoteId)
|
||||
|
Loading…
Reference in New Issue
Block a user