1 import { Injectable } from '@angular/core';
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';
8 import { cameraData, camerainfo, cameraDetails, monitorDetails, monitorinfo, cameraID, appsPvcs, backupRestore, monitorImage } from './datainterface'
14 export class RoboService {
16 private baseUrl = 'http://localhost:30091';
18 private inventoryBaseUrl = 'http://localhost:30092';
20 private postCameraDetailsUrl = this.inventoryBaseUrl + '/v1/monitor/cameras'
21 private cameraDetailsUrl = this.inventoryBaseUrl + '/v1/monitor/cameras'
22 private cameraDetails_url = './../assets/data/sample.json'
24 private monitorDetails_url = './../assets/data/inventory.json'
25 private monitorDetailsUrl = this.inventoryBaseUrl + '/v1/inventry/table'
27 private monitorImageUrl = this.inventoryBaseUrl + '/v1/inventry/image'
29 private triggerObjUrl = this.inventoryBaseUrl + '/v1/monitor/cameras/'
31 private appsPvcsDetailsUrl = this.baseUrl + '/v1/robo/apps-pvcs'
32 private appsPvcsDetails_url = './../assets/data/appspvc.json'
34 private backupRestoreDetailsUrl = this.baseUrl + '/v1/robo/backup-restore'
36 private backupRestoreDetails_url = './../assets/data/backuprestore.json'
38 private postBackupDetailsUrl = this.baseUrl + '/v1/robo/backup'
40 private postRestoreDetailsUrl = this.baseUrl + '/v1/robo/restore'
42 private disasterUrl = this.baseUrl + '/v1/robo/disaster'
44 constructor(private http:HttpClient) { }
47 headers: new HttpHeaders({
48 'Content-Type':'application/json'
53 headers: new HttpHeaders({
54 'Content-Type':'application/json'
58 postCameraDetails(data): Observable<any> {
61 return this.http.post<any>(this.postCameraDetailsUrl, data)
64 getCameraInfo(): Observable<cameraDetails> {
66 return this.http.get<cameraDetails>(this.cameraDetailsUrl);
69 getMonitorInfo(): Observable<any> {
71 return this.http.get<any>(this.monitorDetailsUrl);
76 getMonitorImage(): Observable<any> {
78 // return timer(0, 2000)
81 // switchMap(_ => this.http.get(this.monitorImageUrl)),
83 return this.http.get<any>(this.monitorImageUrl);
87 triggerDetection(data): Observable<any> {
90 this.triggerObjUrl = this.inventoryBaseUrl + '/v1/monitor/cameras/';
91 this.triggerObjUrl = this.triggerObjUrl + data;
94 console.log(this.triggerObjUrl);
95 return this.http.get<any>(this.triggerObjUrl)
98 getAppsPvcsInfo(): Observable<appsPvcs> {
99 return this.http.get<appsPvcs>(this.appsPvcsDetailsUrl);
102 // getBackupRestoreInfo(): Observable<backupRestore> {
104 // return this.http.get<backupRestore>(this.backupRestoreDetails_url);
106 getBackupRestoreInfo(): Observable<any> {
107 return this.http.get<any>(this.backupRestoreDetailsUrl);
110 disturbCluster(): Observable<any> {
111 return this.http.get<any>(this.disasterUrl);
114 postBackup(data): Observable<any> {
117 return this.http.post<any>(this.postBackupDetailsUrl, data)
120 postRestore(data): Observable<any> {
123 return this.http.post<any>(this.postRestoreDetailsUrl, data)