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

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

commit 1b3f07c18a9322d6d788255ef595183869bff6d0
Author: Dmytro_Gnatyshyn <di1...@ukr.net>
AuthorDate: Wed Jun 10 12:06:19 2020 +0300

    [DLAB-1758]: Connect audit UI with backend
---
 .../services/applicationServiceFacade.service.ts   | 16 ++++++++
 .../webapp/src/app/core/services/audit.service.ts  | 45 ++++++++++++++--------
 .../src/app/reports/audit/audit.component.ts       |  7 +++-
 .../cluster-details/cluster-details.component.ts   |  5 ++-
 .../detail-dialog/detail-dialog.component.ts       |  3 ++
 5 files changed, 58 insertions(+), 18 deletions(-)

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 a207f97..7f125b3 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
@@ -77,6 +77,7 @@ export class ApplicationServiceFacade {
   private static readonly PROJECT = 'project';
   private static readonly ENDPOINT = 'endpoint';
   private static readonly ENDPOINT_CONNECTION = 'endpoint_connection';
+  private static readonly AUDIT = 'audit';
 
   private requestRegistry: Dictionary<string>;
 
@@ -627,6 +628,18 @@ export class ApplicationServiceFacade {
       null);
   }
 
+  public getAuditList(): Observable<any> {
+    return this.buildRequest(HTTPMethod.GET,
+      this.requestRegistry.Item(ApplicationServiceFacade.AUDIT),
+      null);
+  }
+
+  public postActionToAudit(data): Observable<any> {
+    return this.buildRequest(HTTPMethod.POST,
+      this.requestRegistry.Item(ApplicationServiceFacade.AUDIT),
+      data);
+  }
+
   private setupRegistry(): void {
     this.requestRegistry = new Dictionary<string>();
 
@@ -709,6 +722,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/');
+
+    // audit
+    this.requestRegistry.Add(ApplicationServiceFacade.AUDIT, '/api/audit');
   }
 
   private buildRequest(method: HTTPMethod, url_path: string, body: any, opt?) {
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts
 
b/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts
index f699632..70d1f17 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts
@@ -1,5 +1,7 @@
 import { Injectable } from '@angular/core';
 import {ApplicationServiceFacade} from './applicationServiceFacade.service';
+import {catchError, map} from 'rxjs/operators';
+import {ErrorUtils} from '../util';
 
 @Injectable({
   providedIn: 'root'
@@ -9,21 +11,34 @@ export class AuditService {
   }
 
   public getAuditData() {
-    return [
-      {user: 'Dlab-test-user1', action: 'Deleted users from group', project: 
'', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 
'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
-      {user: 'Dlab-test-user1', action: 'Created project', project: 
'ProjectA', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user1', action: 'Created project', project: 
'ProjectA', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user1', action: 'Created project', project: 
'ProjectA', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user2', action: 'Created notebook ', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user1', action: 'Deleted user to group', project: '', 
date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 
'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
-      {user: 'Dlab-test-user1', action: 'Stopped notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user1', action: 'Started notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user1', action: 'Deleted Users from group', project: 
'', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 
'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
-      {user: 'Dlab-test-user3', action: 'Created EMR', project: 'ProjectA', 
resource: 'Rstudio:Emr1', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user1', action: 'Created notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
-      {user: 'Dlab-test-user1', action: 'Deleted user to group', project: '', 
date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 
'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
-      {user: 'Dlab-test-user2', action: 'Terminated notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
-      ];
+    return this.applicationServiceFacade
+      .getAuditList()
+      .pipe(
+        map(response => response),
+        catchError(ErrorUtils.handleServiceError));
   }
 
+  public sendDataToAudit(data) {
+    return this.applicationServiceFacade
+      .postActionToAudit(data)
+      .pipe(
+        map(response => response),
+        catchError(ErrorUtils.handleServiceError));
+  }
+    // return [
+    //   {user: 'Dlab-test-user1', action: 'Deleted users from group', 
project: '', date: new Date().toLocaleString(), info: {name: 'admin', objects: 
['user1', 'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
+    //   {user: 'Dlab-test-user1', action: 'Created project', project: 
'ProjectA', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user1', action: 'Created project', project: 
'ProjectA', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user1', action: 'Created project', project: 
'ProjectA', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user2', action: 'Created notebook ', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user1', action: 'Deleted user to group', project: 
'', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 
'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
+    //   {user: 'Dlab-test-user1', action: 'Stopped notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user1', action: 'Started notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user1', action: 'Deleted Users from group', 
project: '', date: new Date().toLocaleString(), info: {name: 'admin', objects: 
['user1', 'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
+    //   {user: 'Dlab-test-user3', action: 'Created EMR', project: 'ProjectA', 
resource: 'Rstudio:Emr1', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user1', action: 'Created notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+    //   {user: 'Dlab-test-user1', action: 'Deleted user to group', project: 
'', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 
'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 
'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
+    //   {user: 'Dlab-test-user2', action: 'Terminated notebook', project: 
'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+    //   ];
+
 }
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts
index 4bdd0ee..fba41b2 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts
@@ -84,8 +84,11 @@ export class AuditComponent implements OnInit, OnDestroy {
   }
 
   public buildAuditReport() {
-    this.auditData = this.auditService.getAuditData();
-    this.auditGrid.refreshAudit(this.auditData);
+    this.auditData = this.auditService.getAuditData().subscribe(auditData => {
+      console.log(auditData);
+      // this.auditGrid.refreshAudit(auditData);
+    });
+
 
   }
 
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
index 20bb53a..415cfaa 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
@@ -26,6 +26,7 @@ import { DateUtils, CheckUtils } from '../../../core/util';
 import { DataengineConfigurationService } from '../../../core/services';
 import { DICTIONARY } from '../../../../dictionary/global.dictionary';
 import { CLUSTER_CONFIGURATION } from 
'../computational-resource-create-dialog/cluster-configuration-templates';
+import {AuditService} from '../../../core/services/audit.service';
 
 @Component({
   selector: 'dlab-cluster-details',
@@ -52,7 +53,8 @@ export class DetailComputationalResourcesComponent implements 
OnInit {
     public toastr: ToastrService,
     public dialogRef: MatDialogRef<DetailComputationalResourcesComponent>,
     private dataengineConfigurationService: DataengineConfigurationService,
-    private _fb: FormBuilder
+    private _fb: FormBuilder,
+    private auditService: AuditService
   ) { }
 
   ngOnInit() {
@@ -117,6 +119,7 @@ export class DetailComputationalResourcesComponent 
implements OnInit {
   }
 
   private logAction(name: any, description: string) {
+    this.auditService.sendDataToAudit({resource_name: name, info: ['User 
opened link' + description]}).subscribe();
     console.log(`${name}: ${description}`);
   }
 }
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
index f30189c..b2788f5 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
@@ -28,6 +28,7 @@ import { DataengineConfigurationService } from 
'../../../core/services';
 import { CLUSTER_CONFIGURATION } from 
'../../computational/computational-resource-create-dialog/cluster-configuration-templates';
 import {BucketBrowserComponent} from 
'../../bucket-browser/bucket-browser.component';
 import {CopyPathUtils} from '../../../core/util/copyPathUtils';
+import {AuditService} from '../../../core/services/audit.service';
 
 @Component({
   selector: 'detail-dialog',
@@ -60,6 +61,7 @@ export class DetailDialogComponent implements OnInit {
     public dialogRef: MatDialogRef<DetailDialogComponent>,
     private dialog: MatDialog,
     public toastr: ToastrService,
+    public auditService: AuditService
   ) {
 
   }
@@ -159,6 +161,7 @@ export class DetailDialogComponent implements OnInit {
   }
 
   private logAction(name: any, description: string) {
+    this.auditService.sendDataToAudit({resource_name: name, info: ['User 
opened link' + description]}).subscribe();
     console.log(`${name}: ${description}`);
   }
 }


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

Reply via email to