blob: cd55a6dad38cc63e6e4f57aee022f4b0e2b0326d [file] [log] [blame]
import { Injectable } from '@angular/core';
import { Headers, Http, RequestOptions, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/catch';
// Import RxJs required methods
import 'rxjs/add/operator/map';
import { v4 as uuidGenarator } from 'uuid';
import { environment } from '../../environments/environment';
import { Store } from '../store/store';
@Injectable()
export class RestApiService {
options: RequestOptions;
headers: Headers;
baseUrl: string;
constructor(private http: Http, public store: Store) {
this.baseUrl = `${environment.apiBaseUrl}`;
}
addHeaders() {
const userID =
this.store.sdcParmas === undefined
? 'ym903w'
: this.store.sdcParmas.userId;
this.headers = new Headers({
'Content-Type': 'application/json',
USER_ID: userID
});
this.options = new RequestOptions({ headers: this.headers });
}
getVfcmtsForMigration(params) {
this.addHeaders();
const { contextType, uuid, version } = params;
const url = `${
this.baseUrl
}/${contextType}/${uuid}/${version}/getVfcmtsForMigration`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.get(url, this.options)
.map((res: Response) => res.json())
.catch((error: any) => {
return Observable.throw(error.json() || 'Server error');
});
}
getVfcmtReferenceData(vfcmtUUID) {
this.addHeaders();
const url = `${this.baseUrl}/getVfcmtReferenceData/${vfcmtUUID}`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.get(url, this.options)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
getFlowType() {
this.addHeaders();
const url = `${this.baseUrl}/conf/composition`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.get(url, this.options)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
createNewVFCMT(params) {
this.addHeaders();
const url = `${this.baseUrl}/createMC`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.post(url, params, this.options)
.map((res: Response) => res.json())
.catch((error: any) => {
return Observable.throw(error.json() || 'Server error');
});
}
importVFCMT(params) {
this.addHeaders();
const url = `${this.baseUrl}/importMC`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.post(url, params, this.options)
.map((res: Response) => res.json())
.catch((error: any) => {
return Observable.throw(error.json() || 'Server error');
});
}
getServiceInstances(serviceID) {
this.addHeaders();
const url = `${this.baseUrl}/service/${serviceID}`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.get(url, this.options)
.map((res: Response) => res.json())
.catch((error: any) => {
return Observable.throw(error.json() || 'Server error');
});
}
getTemplateResources() {
this.addHeaders();
const url = `${this.baseUrl}/getResourcesByMonitoringTemplateCategory`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.get(url, this.options)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
getMonitoringComponents(params) {
this.addHeaders();
const { contextType, uuid, version } = params;
const url = `${
this.baseUrl
}/${contextType}/${uuid}/${version}/monitoringComponents`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.get(url, this.options)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
deleteMonitoringComponent(params, vfcmtUuid, vfiName) {
this.addHeaders();
const { contextType, uuid } = params;
const url = `${
this.baseUrl
}/${contextType}/${uuid}/${vfiName}/${vfcmtUuid}/deleteVfcmtReference`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.delete(url, this.options)
.map((res: Response) => res)
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
deleteMonitoringComponentWithBlueprint(
params,
monitoringComponentName,
vfcmtUuid,
vfiName
) {
this.addHeaders();
const { contextType, uuid } = params;
const url = `${
this.baseUrl
}/${contextType}/${monitoringComponentName}/${uuid}/${vfiName}/${vfcmtUuid}/deleteVfcmtReference`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.delete(url, this.options)
.map((res: Response) => res)
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
getCompositionMonitoringComponent(vfcmtUuid) {
this.addHeaders();
const url = `${this.baseUrl}/getMC/${vfcmtUuid}`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.get(url, this.options)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
saveMonitoringComponent(params) {
this.addHeaders();
const { contextType, serviceUuid, vfiName, vfcmtUuid, cdump } = params;
const url = `${
this.baseUrl
}/${contextType}/${serviceUuid}/${vfiName}/saveComposition/${vfcmtUuid}`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.post(url, JSON.stringify(cdump), this.options)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
submitMonitoringComponent(params) {
this.addHeaders();
const { contextType, serviceUuid, vfiName, vfcmtUuid, flowType } = params;
const url = `${
this.baseUrl
}/${contextType}/createBluePrint/${vfcmtUuid}/${serviceUuid}/${vfiName}`;
this.options.headers.set('X-ECOMP-RequestID', uuidGenarator());
return this.http
.post(url, {}, this.options)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json() || 'Server error'));
}
}