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;
 |