mirror of https://github.com/portainer/portainer
				
				
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
| import _ from 'lodash-es';
 | |
| 
 | |
| import { KubernetesResourcePool } from 'Kubernetes/models/resource-pool/models';
 | |
| import { KubernetesNamespace } from 'Kubernetes/models/namespace/models';
 | |
| import { KubernetesIngressConverter } from 'Kubernetes/ingress/converter';
 | |
| import KubernetesResourceQuotaConverter from './resourceQuota';
 | |
| 
 | |
| class KubernetesResourcePoolConverter {
 | |
|   static apiToResourcePool(namespace) {
 | |
|     const res = new KubernetesResourcePool();
 | |
|     res.Namespace = namespace;
 | |
|     res.Yaml = namespace.Yaml;
 | |
|     return res;
 | |
|   }
 | |
| 
 | |
|   static formValuesToResourcePool(formValues) {
 | |
|     const namespace = new KubernetesNamespace();
 | |
|     namespace.Name = formValues.Name;
 | |
|     namespace.ResourcePoolName = formValues.Name;
 | |
|     namespace.ResourcePoolOwner = formValues.Owner;
 | |
|     namespace.IsSystem = formValues.IsSystem;
 | |
| 
 | |
|     const quota = KubernetesResourceQuotaConverter.resourcePoolFormValuesToResourceQuota(formValues);
 | |
| 
 | |
|     const ingMap = _.map(formValues.IngressClasses, (c) => {
 | |
|       if (c.Selected) {
 | |
|         c.Namespace = namespace.Name;
 | |
|         return KubernetesIngressConverter.resourcePoolIngressClassFormValueToIngress(c);
 | |
|       }
 | |
|     });
 | |
|     const ingresses = _.without(ingMap, undefined);
 | |
|     const registries = _.map(formValues.Registries, (r) => {
 | |
|       if (!r.RegistryAccesses[formValues.EndpointId]) {
 | |
|         r.RegistryAccesses[formValues.EndpointId] = { Namespaces: [] };
 | |
|       }
 | |
|       if (!_.includes(r.RegistryAccesses[formValues.EndpointId].Namespaces, formValues.Name)) {
 | |
|         r.RegistryAccesses[formValues.EndpointId].Namespaces = [...r.RegistryAccesses[formValues.EndpointId].Namespaces, formValues.Name];
 | |
|       }
 | |
|       return r;
 | |
|     });
 | |
|     return [namespace, quota, ingresses, registries];
 | |
|   }
 | |
| }
 | |
| 
 | |
| export default KubernetesResourcePoolConverter;
 |