From e5d4d0556d0bdefc20f7a1eec5ed4dce0f2339ed Mon Sep 17 00:00:00 2001 From: Yi-Ya Chen Date: Fri, 3 Jan 2025 13:33:04 +0800 Subject: [PATCH] fix: patch data to avoid status overwrite Signed-off-by: Yi-Ya Chen --- .../harvesterhci.io.virtualmachineimage.vue | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue b/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue index 984e42c9..5256ef6a 100644 --- a/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue +++ b/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue @@ -245,6 +245,8 @@ export default { async saveImage(buttonCb) { this.value.spec.displayName = (this.value.spec.displayName || '').trim(); + if (this.isEdit) return await this.handleEditImage(buttonCb); + if (this.value.spec.sourceType === UPLOAD && this.isCreate) { try { this.value.spec.url = ''; @@ -269,6 +271,23 @@ export default { } }, + async handleEditImage(buttonCb) { + try { + const data = [{ + op: 'replace', path: '/metadata/labels', value: this.value.metadata.labels + }, { + op: 'replace', path: '/metadata/annotations', value: this.value.metadata.annotations + }]; + + await this.value.patch(data); + buttonCb(true); + this.done(); + } catch (e) { + this.errors = exceptionToErrorsArray(e); + buttonCb(false); + } + }, + setImageLabels(str) { const suffixName = str?.split('/')?.pop() || str;