mirror of
https://github.com/portainer/portainer.git
synced 2025-07-22 23:09:41 +02:00
* feat(applications): update UI to use existing volumes * feat(application): Add the ability to use existing volumes when creating an application * feat(application): Existing persisted folders should default to associated volumes * feat(application): add form validation to existing volume * feat(application): remove the ability to use an existing volume with statefulset application * feat(k8s/applications): minor UI update * feat(k8s/application): minor UI update * feat(volume): allow to increase volume size and few other things * feat(volumes): add the ability to allow volume expansion * fix(storage): fix the storage patch request * fix(k8s/applications): remove conflict leftover * feat(k8s/configure): minor UI update * feat(k8s/volume): minor UI update * fix(storage): change few things Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
import { KubernetesStorageClass } from 'Kubernetes/models/storage-class/models';
|
|
import { KubernetesStorageClassCreatePayload } from 'Kubernetes/models/storage-class/payload';
|
|
import * as JsonPatch from 'fast-json-patch';
|
|
|
|
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;
|