From 9b2ceb347a3371819fcad6bbe2268203afecaf4e Mon Sep 17 00:00:00 2001 From: "Stone, Avi (as206k)" Date: Thu, 12 Apr 2018 16:36:39 +0300 Subject: DCAE-D fe initial commit DCAE-D fe initial commit Change-Id: Ica8ccb7c7ef769c969664d1e168d205eb9fc67f2 Issue-ID: SDC-1218 Signed-off-by: Stone, Avi (as206k) --- public/src/app/api/feather-pipe.ts | 19 +++ public/src/app/api/rest-api.service.spec.ts | 26 ++++ public/src/app/api/rest-api.service.ts | 179 ++++++++++++++++++++++++++++ 3 files changed, 224 insertions(+) create mode 100644 public/src/app/api/feather-pipe.ts create mode 100644 public/src/app/api/rest-api.service.spec.ts create mode 100644 public/src/app/api/rest-api.service.ts (limited to 'public/src/app/api') diff --git a/public/src/app/api/feather-pipe.ts b/public/src/app/api/feather-pipe.ts new file mode 100644 index 0000000..7a0715d --- /dev/null +++ b/public/src/app/api/feather-pipe.ts @@ -0,0 +1,19 @@ +import { DomSanitizer } from '@angular/platform-browser'; +import { Pipe, PipeTransform } from '@angular/core'; + +import * as feather from 'feather-icons/dist/feather'; + +@Pipe({ name: 'feather' }) +export class FeatherIconsPipe implements PipeTransform { + constructor(private sanitizer: DomSanitizer) {} + + transform(icon: string, size: number = 24, fill: string = 'none') { + return this.sanitizer.bypassSecurityTrustHtml( + feather.icons[icon].toSvg({ + width: size, + height: size, + fill: fill + }) + ); + } +} diff --git a/public/src/app/api/rest-api.service.spec.ts b/public/src/app/api/rest-api.service.spec.ts new file mode 100644 index 0000000..ce921cb --- /dev/null +++ b/public/src/app/api/rest-api.service.spec.ts @@ -0,0 +1,26 @@ +import { TestBed, inject } from '@angular/core/testing'; +import { HttpModule } from '@angular/http'; +import { RestApiService } from './rest-api.service'; +import { v4 as genrateUuid } from 'uuid'; + +describe('RestApiService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpModule], + providers: [RestApiService] + }); + }); + + it( + 'should be created', + inject([RestApiService], (service: RestApiService) => { + expect(service).toBeTruthy(); + }) + ); + + it('should genrate deffrent uuid each time for request id', () => { + const firstUuid = genrateUuid(); + const secondUuid = genrateUuid(); + expect(firstUuid !== secondUuid).toBe(true); + }); +}); diff --git a/public/src/app/api/rest-api.service.ts b/public/src/app/api/rest-api.service.ts new file mode 100644 index 0000000..ba5cc54 --- /dev/null +++ b/public/src/app/api/rest-api.service.ts @@ -0,0 +1,179 @@ +import { Injectable } from '@angular/core'; +import { + Http, + Response, + Headers, + RequestOptions, + URLSearchParams +} from '@angular/http'; +import { Observable } from 'rxjs/Observable'; +// Import RxJs required methods +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/observable/throw'; +import { environment } from '../../environments/environment'; +import { v4 as uuidGenarator } from 'uuid'; + +@Injectable() +export class RestApiService { + options: RequestOptions; + headers: Headers; + baseUrl: string; + + constructor(private http: Http) { + this.baseUrl = `${environment.apiBaseUrl}`; + this.headers = new Headers({ + 'Content-Type': 'application/json', + USER_ID: 'ym903w' + }); + this.options = new RequestOptions({ headers: this.headers }); + } + + getVfcmtsForMigration(params) { + 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) { + 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() { + 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) { + 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) { + 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) { + 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() { + 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) { + 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) { + 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.json()) + .catch((error: any) => Observable.throw(error.json() || 'Server error')); + } + + deleteMonitoringComponentWithBlueprint( + params, + monitoringComponentName, + vfcmtUuid, + vfiName + ) { + 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.json()) + .catch((error: any) => Observable.throw(error.json() || 'Server error')); + } + + getCompositionMonitoringComponent(vfcmtUuid) { + 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) { + 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, cdump, this.options) + .map((res: Response) => res.json()) + .catch((error: any) => Observable.throw(error.json() || 'Server error')); + } + + submitMonitoringComponent(params) { + 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')); + } +} -- cgit 1.2.3-korg