You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dg...@apache.org on 2020/01/27 16:33:06 UTC

[incubator-dlab] 01/04: [DLAB-1451]: Added url to application facade

This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a commit to branch DLAB-1357
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit fbcc5f209020ed3e6b23674788666ddd43f40703
Author: Dmytro Gnatyshyn <di...@ukr.net>
AuthorDate: Mon Jan 27 17:01:34 2020 +0200

    [DLAB-1451]: Added url to application facade
---
 .../create-legion-cluster.component.html           | 26 +++++++-------
 .../create-legion-cluster.component.ts             |  2 --
 .../legion-deployment.component.ts                 |  8 ++++-
 .../legion-list/legion-list.component.html         |  4 +--
 .../services/applicationServiceFacade.service.ts   | 41 ++++++++++++++++++++++
 .../app/core/services/legion-deployment.service.ts | 25 +++++++++++--
 .../resources-grid/resources-grid.component.html   |  2 +-
 .../src/app/shared/navbar/navbar.component.html    |  2 +-
 8 files changed, 87 insertions(+), 23 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.html
index 92ee71a..fcba08d 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.html
@@ -1,6 +1,6 @@
 <div class="create-legion-cluster" id="dialog-box">
   <header class="dialog-header">
-    <h4 class="modal-title">Create Legion cluster</h4>
+    <h4 class="modal-title">Create Odahu cluster</h4>
     <button type="button" class="close" (click)="dialogRef.close()">&times;</button>
   </header>
   <div class="dialog-content selection">
@@ -52,18 +52,18 @@
           </div>
         </div>
 
-        <div class="control-group">
-          <label class="label" [ngStyle]="!createLegionClusterForm.controls.useExistingClusterUrl.value && {'width': '100%' }">
-            <input  type="checkbox" formControlName="useExistingClusterUrl"/> Use existing k8s cluster
-          </label>
-          <div class="control" *ngIf="createLegionClusterForm.controls.useExistingClusterUrl.value">
-            <input type="text" class="form-control"
-                                   formControlName="existingClusterUrl" placeholder="Enter Legion k8s cluster URL"/>
-            <span class="error url-error">
-                  <span *ngIf="!createLegionClusterForm.controls.existingClusterUrl.valid">Please enter valid cluster URL</span>
-                </span>
-          </div>
-        </div>
+<!--        <div class="control-group">-->
+<!--          <label class="label" [ngStyle]="!createLegionClusterForm.controls.useExistingClusterUrl.value && {'width': '100%' }">-->
+<!--            <input  type="checkbox" formControlName="useExistingClusterUrl"/> Use existing k8s cluster-->
+<!--          </label>-->
+<!--          <div class="control" *ngIf="createLegionClusterForm.controls.useExistingClusterUrl.value">-->
+<!--            <input type="text" class="form-control"-->
+<!--                                   formControlName="existingClusterUrl" placeholder="Enter ODAHU k8s cluster URL"/>-->
+<!--            <span class="error url-error">-->
+<!--                  <span *ngIf="!createLegionClusterForm.controls.existingClusterUrl.valid">Please enter valid cluster URL</span>-->
+<!--                </span>-->
+<!--          </div>-->
+<!--        </div>-->
 
         <div class="text-center m-top-30">
           <button mat-raised-button type="button" class="butt action" (click)="dialogRef.close()">Cancel</button>
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.ts
index b0bebff..8fd2d46 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/create-legion-claster/create-legion-cluster.component.ts
@@ -79,8 +79,6 @@ export class CreateLegionClusterComponent implements OnInit {
       project: ['', Validators.required],
       endpoint: ['', Validators.required],
       name: ['', Validators.required],
-      useExistingClusterUrl: [false],
-      existingClusterUrl: ['', Validators.pattern(PATTERNS.fullUrl)]
     });
   }
 
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-deployment.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-deployment.component.ts
index c1b7a35..1767441 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-deployment.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-deployment.component.ts
@@ -6,6 +6,12 @@ import {ToastrService} from "ngx-toastr";
 import {CreateLegionClusterComponent} from "./create-legion-claster/create-legion-cluster.component";
 import {HealthStatusService, LegionDeploymentService} from "../../core/services";
 
+export interface OdahuCluster {
+  project: string;
+  endpoint: string;
+  name: string;
+}
+
 @Component({
   selector: 'dlab-legion-deployment',
   templateUrl: './legion-deployment.component.html',
@@ -34,7 +40,7 @@ export class LegionDeploymentComponent implements OnInit {
 
   public createLegionClaster(): void {
     this.dialog.open(CreateLegionClusterComponent, { panelClass: 'modal-lg' })
-      .afterClosed().subscribe(result => {
+      .afterClosed().subscribe((result: OdahuCluster[]) => {
       result && this.createLegionCluster(result);
         this.refreshGrid()
       });
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-list/legion-list.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-list/legion-list.component.html
index 2a24402..e0ac85c 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-list/legion-list.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/legion-deployment/legion-list/legion-list.component.html
@@ -19,7 +19,7 @@
   </ng-container>
 
   <ng-container matColumnDef="legion-name">
-    <th mat-header-cell *matHeaderCellDef class="legion-name"> Legion cluster Name </th>
+    <th mat-header-cell *matHeaderCellDef class="legion-name"> Odahu cluster Name </th>
     <td mat-cell *matCellDef="let element" class="legion-name">
       <span *ngIf="element && element.name">{{element.name}}</span>
     </td>
@@ -82,7 +82,7 @@
           [colSpan]="displayedColumns.length"
           class="info">
           <span *ngIf="!legionClustersList.length">
-            No legion clusters </span>
+            No Odahu clusters </span>
       </td>
       <td mat-footer-cell *matFooterCellDef></td>
     </ng-container>
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts
index e37293b..573c05f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts
@@ -74,6 +74,7 @@ export class ApplicationServiceFacade {
   private static readonly DOWNLOAD_REPORT = 'download_report';
   private static readonly SETTINGS = 'settings';
   private static readonly PROJECT = 'project';
+  private static readonly ODAHU = 'oduhu';
   private static readonly ENDPOINT = 'endpoint';
   private static readonly ENDPOINT_CONNECTION = 'endpoint_connection';
 
@@ -600,6 +601,43 @@ export class ApplicationServiceFacade {
       null);
   }
 
+  public createOdahuCluster(data): Observable<any> {
+    return this.buildRequest(HTTPMethod.POST,
+      this.requestRegistry.Item(ApplicationServiceFacade.ODAHU),
+      data);
+  }
+
+   public getOdahuList(): Observable<any> {
+      return this.buildRequest(HTTPMethod.GET,
+        this.requestRegistry.Item(ApplicationServiceFacade.ODAHU),
+        null);
+    }
+
+  // public buildGetUserProjectsList(params?): Observable<any> {
+  //   return this.buildRequest(HTTPMethod.GET,
+  //     this.requestRegistry.Item(ApplicationServiceFacade.PROJECT) + params,
+  //     null);
+  // }
+  //
+  // public buildDeleteProject(param): Observable<any> {
+  //   return this.buildRequest(HTTPMethod.DELETE,
+  //     this.requestRegistry.Item(ApplicationServiceFacade.PROJECT) + param,
+  //     null);
+  // }
+  //
+  // public buildToggleProjectStatus(param, data): Observable<any> {
+  //   return this.buildRequest(HTTPMethod.POST,
+  //     this.requestRegistry.Item(ApplicationServiceFacade.PROJECT) + param,
+  //     data);
+  // }
+  //
+  // public buildUpdateProjectsBudget(param, data): Observable<any> {
+  //   return this.buildRequest(HTTPMethod.PUT,
+  //     this.requestRegistry.Item(ApplicationServiceFacade.PROJECT) + param,
+  //     data,
+  //     { observe: 'response' });
+  // }
+
   private setupRegistry(): void {
     this.requestRegistry = new Dictionary<string>();
 
@@ -677,6 +715,9 @@ export class ApplicationServiceFacade {
     this.requestRegistry.Add(ApplicationServiceFacade.PROJECT, '/api/project');
     this.requestRegistry.Add(ApplicationServiceFacade.ENDPOINT, '/api/endpoint');
     this.requestRegistry.Add(ApplicationServiceFacade.ENDPOINT_CONNECTION, '/api/endpoint/url/');
+
+    // odahu
+    this.requestRegistry.Add(ApplicationServiceFacade.ODAHU, '/api/oduhu');
   }
 
   private buildRequest(method: HTTPMethod, url_path: string, body: any, opt?) {
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/legion-deployment.service.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/legion-deployment.service.ts
index 8a45252..89cfe80 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/legion-deployment.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/legion-deployment.service.ts
@@ -1,5 +1,8 @@
 import { Injectable } from '@angular/core';
-import {from} from "rxjs";
+import {from, Observable} from "rxjs";
+import { map, catchError } from 'rxjs/operators';
+import { ApplicationServiceFacade } from './applicationServiceFacade.service';
+import { ErrorUtils } from '../util';
 
 @Injectable({
   providedIn: 'root'
@@ -22,14 +25,30 @@ export class LegionDeploymentService {
       //   name: "claster1",
       // }
       ]}];
-  constructor() { }
+  constructor(private applicationServiceFacade: ApplicationServiceFacade) { }
 
   public getLegionClasters(){
     const obsList = from(this.list);
-    return obsList
+    return obsList;
   }
 
   public addLegionCluster(cluster) {
     this.list[0].clasters.push(cluster);
   }
+
+  public createOduhuCluster(data): Observable<{}> {
+    return this.applicationServiceFacade
+      .createOdahuCluster(data)
+      .pipe(
+        map(response => response),
+        catchError(ErrorUtils.handleServiceError));
+  }
+
+  public getOduhuClustersList(): Observable<{}> {
+    return this.applicationServiceFacade
+      .getOdahuList()
+      .pipe(
+        map(response => response),
+        catchError(ErrorUtils.handleServiceError));
+  }
 }
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
index f5e2bdf..b8a97d5 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
@@ -105,7 +105,7 @@
         <tr *ngFor="let element of element.exploratory; let i = index" class="element-row mat-row">
           <td class="name-col">
             <span matTooltip="{{ element.name }}" matTooltipPosition="above" (click)="printDetailEnvironmentModal(element)">{{ element.name }}</span>
-            <span (click)="printDetailLegionModal(element)" ><i class="material-icons legion-icon">cloud_circle</i></span>
+            <!--<span (click)="printDetailLegionModal(element)" ><i class="material-icons legion-icon">cloud_circle</i></span>-->
           </td>
           <td class="status-col status" ngClass="{{ element.status.toLowerCase() || ''}}">
             {{element.status | underscoreless }}
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
index bca5141..d344274 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
@@ -90,7 +90,7 @@
             </a>
             <a class="sub-nav-item" [style.margin-left.px]="isExpanded ? '30' : '0'" [routerLink]="['/legion-deployment']"
                [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
-              <span *ngIf="isExpanded; else legion">Legion deployment</span>
+              <span *ngIf="isExpanded; else legion">Odahu deployment</span>
               <ng-template #legion><i class="material-icons">get_app</i></ng-template>
             </a>
             <a class="sub-nav-item" [style.margin-left.px]="isExpanded ? '30' : '0'"


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org