项目文件夹

文件
2026-07-13 12:08:39 +08:00

35 行
1.2 KiB
JavaScript

import * as JsonPatch from 'fast-json-patch';
import { KubernetesStorageClass } from '@/kubernetes/models/storage-class/models';
import { KubernetesStorageClassCreatePayload } from '@/kubernetes/models/storage-class/payload';
class KubernetesStorageClassConverter {
/**
* API storageClass to front storageClass
*/
static apiToStorageClass(data) {
const res = new KubernetesStorageClass();
res.Name = data.metadata.name;
res.Provisioner = data.provisioner;
res.AllowVolumeExpansion = data.allowVolumeExpansion;
return res;
}
static createPayload(storageClass) {
const res = new KubernetesStorageClassCreatePayload();
res.metadata.name = storageClass.Name;
res.provisioner = storageClass.Provisioner;
res.allowVolumeExpansion = storageClass.AllowVolumeExpansion;
return res;
}
static patchPayload(oldStorageClass, newStorageClass) {
const oldPayload = KubernetesStorageClassConverter.createPayload(oldStorageClass);
const newPayload = KubernetesStorageClassConverter.createPayload(newStorageClass);
const payload = JsonPatch.compare(oldPayload, newPayload);
return payload;
}
}
export default KubernetesStorageClassConverter;