mirror of https://github.com/portainer/portainer
35 lines
1.2 KiB
JavaScript
35 lines
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;
|