6546fe7a88c3a9238658a8424e75234359085527
[ealt-edge.git] / example-apps / ROBO / RoboUI / src / app / robo.service.ts
1 import { Injectable } from '@angular/core';
2
3 import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
4 import { Observable,throwError } from 'rxjs'
5 import { timer, Subscription, pipe } from 'rxjs';
6 import { switchMap } from 'rxjs/operators';
7
8 import { cameraData, camerainfo, cameraDetails, monitorDetails, monitorinfo, cameraID, appsPvcs, backupRestore, monitorImage } from './datainterface'
9
10
11 @Injectable({
12   providedIn: 'root'
13 })
14 export class RoboService {
15
16   private baseUrl = 'http://localhost:30091';
17
18   private inventoryBaseUrl = 'http://localhost:30092';
19
20   private postCameraDetailsUrl = this.inventoryBaseUrl + '/v1/monitor/cameras'
21   private cameraDetailsUrl = this.inventoryBaseUrl + '/v1/monitor/cameras'
22   private cameraDetails_url = './../assets/data/sample.json'
23
24   private monitorDetails_url = './../assets/data/inventory.json'
25   private monitorDetailsUrl = this.inventoryBaseUrl + '/v1/inventry/table'
26
27   private monitorImageUrl = this.inventoryBaseUrl + '/v1/inventry/image'
28
29   private triggerObjUrl = this.inventoryBaseUrl + '/v1/monitor/cameras/'
30
31   private appsPvcsDetailsUrl = this.baseUrl + '/v1/robo/apps-pvcs'
32   private appsPvcsDetails_url = './../assets/data/appspvc.json'
33
34   private backupRestoreDetailsUrl = this.baseUrl + '/v1/robo/backup-restore'
35   
36   private backupRestoreDetails_url = './../assets/data/backuprestore.json'
37
38   private postBackupDetailsUrl = this.baseUrl + '/v1/robo/backup'
39
40   private postRestoreDetailsUrl = this.baseUrl + '/v1/robo/restore'
41
42   private disasterUrl = this.baseUrl + '/v1/robo/disaster'
43
44   constructor(private http:HttpClient) { }
45   
46   httpOptions = {
47     headers: new HttpHeaders({
48       'Content-Type':'application/json'
49     })
50   }
51
52   httpOptionss = {
53     headers: new HttpHeaders({
54       'Content-Type':'application/json'
55     })
56   }
57
58   postCameraDetails(data): Observable<any> {
59     console.log(data);
60     debugger;
61     return this.http.post<any>(this.postCameraDetailsUrl, data)
62   }
63
64   getCameraInfo(): Observable<cameraDetails> {
65     debugger;
66     return this.http.get<cameraDetails>(this.cameraDetailsUrl);
67   }
68
69   getMonitorInfo(): Observable<any> {
70     debugger;
71     return this.http.get<any>(this.monitorDetailsUrl);
72   }
73
74   
75
76   getMonitorImage(): Observable<any> {
77     debugger;
78     // return timer(0, 2000)
79     //     .pipe(
80           
81     //        switchMap(_ => this.http.get(this.monitorImageUrl)),
82     //     );
83     return this.http.get<any>(this.monitorImageUrl);
84   }
85
86
87   triggerDetection(data): Observable<any> {
88     console.log(data);
89     debugger;
90     this.triggerObjUrl = this.inventoryBaseUrl + '/v1/monitor/cameras/';
91     this.triggerObjUrl = this.triggerObjUrl + data;
92     
93     debugger;
94     console.log(this.triggerObjUrl);
95     return this.http.get<any>(this.triggerObjUrl)
96   }
97
98   getAppsPvcsInfo(): Observable<appsPvcs> {
99     return this.http.get<appsPvcs>(this.appsPvcsDetailsUrl);
100   }
101
102   // getBackupRestoreInfo(): Observable<backupRestore> {
103     // }
104     //   return this.http.get<backupRestore>(this.backupRestoreDetails_url);
105
106   getBackupRestoreInfo(): Observable<any> {
107     return this.http.get<any>(this.backupRestoreDetailsUrl);
108   }
109
110   disturbCluster(): Observable<any> {
111     return this.http.get<any>(this.disasterUrl);
112   }
113
114   postBackup(data): Observable<any> {
115     console.log(data);
116     debugger;
117     return this.http.post<any>(this.postBackupDetailsUrl, data)
118   }
119
120   postRestore(data): Observable<any> {
121     console.log(data);
122     debugger;
123     return this.http.post<any>(this.postRestoreDetailsUrl, data)
124   }
125 }