feat(deployment): Implement Deployment and DeploymentManager classes with CRUD operations and service integration
This commit is contained in:
		| @@ -142,13 +142,21 @@ export const getAllDataAction = dataState.createAction(async (statePartArg) => { | ||||
|       '/typedrequest', | ||||
|       'getServices' | ||||
|     ); | ||||
|   const responseServices = await trGetServices.fire({ | ||||
|     identity: loginStatePart.getState().identity, | ||||
|   }); | ||||
|   currentState = { | ||||
|     ...currentState, | ||||
|     services: responseServices.services, | ||||
|   }; | ||||
|   try { | ||||
|     const responseServices = await trGetServices.fire({ | ||||
|       identity: loginStatePart.getState().identity, | ||||
|     }); | ||||
|     currentState = { | ||||
|       ...currentState, | ||||
|       services: responseServices?.services || [], | ||||
|     }; | ||||
|   } catch (error) { | ||||
|     console.error('Failed to fetch services:', error); | ||||
|     currentState = { | ||||
|       ...currentState, | ||||
|       services: [], | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   // Deployments | ||||
|   const trGetDeployments = | ||||
| @@ -156,13 +164,21 @@ export const getAllDataAction = dataState.createAction(async (statePartArg) => { | ||||
|       '/typedrequest', | ||||
|       'getDeployments' | ||||
|     ); | ||||
|   const responseDeployments = await trGetDeployments.fire({ | ||||
|     identity: loginStatePart.getState().identity, | ||||
|   }); | ||||
|   currentState = { | ||||
|     ...currentState, | ||||
|     deployments: responseDeployments.deployments, | ||||
|   }; | ||||
|   try { | ||||
|     const responseDeployments = await trGetDeployments.fire({ | ||||
|       identity: loginStatePart.getState().identity, | ||||
|     }); | ||||
|     currentState = { | ||||
|       ...currentState, | ||||
|       deployments: responseDeployments?.deployments || [], | ||||
|     }; | ||||
|   } catch (error) { | ||||
|     console.error('Failed to fetch deployments:', error); | ||||
|     currentState = { | ||||
|       ...currentState, | ||||
|       deployments: [], | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   return currentState; | ||||
| }); | ||||
|   | ||||
| @@ -15,10 +15,7 @@ import * as appstate from '../appstate.js'; | ||||
| @customElement('cloudly-view-clusters') | ||||
| export class CloudlyViewClusters extends DeesElement { | ||||
|   @state() | ||||
|   private data: appstate.IDataState = { | ||||
|     secretGroups: [], | ||||
|     secretBundles: [], | ||||
|   }; | ||||
|   private data: appstate.IDataState = {}; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
|   | ||||
| @@ -15,10 +15,7 @@ import * as appstate from '../appstate.js'; | ||||
| @customElement('cloudly-view-deployments') | ||||
| export class CloudlyViewDeployments extends DeesElement { | ||||
|   @state() | ||||
|   private data: appstate.IDataState = { | ||||
|     secretGroups: [], | ||||
|     secretBundles: [], | ||||
|   }; | ||||
|   private data: appstate.IDataState = {}; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
|   | ||||
| @@ -8,10 +8,7 @@ import * as appstate from '../appstate.js'; | ||||
| @customElement('cloudly-view-images') | ||||
| export class CloudlyViewImages extends DeesElement { | ||||
|   @state() | ||||
|   private data: appstate.IDataState = { | ||||
|     secretGroups: [], | ||||
|     secretBundles: [], | ||||
|   }; | ||||
|   private data: appstate.IDataState = {}; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
|   | ||||
| @@ -15,10 +15,7 @@ import * as appstate from '../appstate.js'; | ||||
| @customElement('cloudly-view-secretbundles') | ||||
| export class CloudlyViewSecretBundles extends DeesElement { | ||||
|   @state() | ||||
|   private data: appstate.IDataState = { | ||||
|     secretGroups: [], | ||||
|     secretBundles: [], | ||||
|   }; | ||||
|   private data: appstate.IDataState = {}; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
| @@ -44,7 +41,7 @@ export class CloudlyViewSecretBundles extends DeesElement { | ||||
|       <dees-table | ||||
|         .heading1=${'SecretBundles'} | ||||
|         .heading2=${'decoded in client'} | ||||
|         .data=${this.data.secretBundles} | ||||
|         .data=${this.data.secretBundles || []} | ||||
|         .displayFunction=${(itemArg: plugins.interfaces.data.ISecretBundle) => { | ||||
|           return { | ||||
|             name: itemArg.data.name, | ||||
|   | ||||
| @@ -8,18 +8,16 @@ import * as appstate from '../appstate.js'; | ||||
| @customElement('cloudly-view-secretsgroups') | ||||
| export class CloudlyViewSecretGroups extends DeesElement { | ||||
|   @state() | ||||
|   private data: appstate.IDataState = { | ||||
|     secretGroups: [], | ||||
|     secretBundles: [], | ||||
|   }; | ||||
|   private data: appstate.IDataState = {}; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
|     appstate.dataState | ||||
|     const subscription = appstate.dataState | ||||
|       .select((stateArg) => stateArg) | ||||
|       .subscribe((dataArg) => { | ||||
|         this.data = dataArg; | ||||
|       }); | ||||
|     this.rxSubscriptions.push(subscription); | ||||
|   } | ||||
|  | ||||
|   public static styles = [ | ||||
| @@ -36,7 +34,7 @@ export class CloudlyViewSecretGroups extends DeesElement { | ||||
|       <dees-table | ||||
|         heading1="SecretGroups" | ||||
|         heading2="decoded in client" | ||||
|         .data=${this.data.secretGroups} | ||||
|         .data=${this.data.secretGroups || []} | ||||
|         .displayFunction=${(secretGroup: plugins.interfaces.data.ISecretGroup) => { | ||||
|           return { | ||||
|             name: secretGroup.data.name, | ||||
|   | ||||
| @@ -15,10 +15,7 @@ import * as appstate from '../appstate.js'; | ||||
| @customElement('cloudly-view-services') | ||||
| export class CloudlyViewServices extends DeesElement { | ||||
|   @state() | ||||
|   private data: appstate.IDataState = { | ||||
|     secretGroups: [], | ||||
|     secretBundles: [], | ||||
|   }; | ||||
|   private data: appstate.IDataState = {}; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user