diff options
Diffstat (limited to 'usecaseui-portal/src/app/core')
4 files changed, 74 insertions, 0 deletions
diff --git a/usecaseui-portal/src/app/core/services/appEvent.ts b/usecaseui-portal/src/app/core/services/appEvent.ts new file mode 100644 index 00000000..775eced9 --- /dev/null +++ b/usecaseui-portal/src/app/core/services/appEvent.ts @@ -0,0 +1,23 @@ +/* + Copyright (C) 2021 Huawei Canada, Inc. and others. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +import {AppEventType} from "@src/app/core/services/appEventType"; + +export class AppEvent<T> { + constructor( + public type: AppEventType, + public payload: T, + ) {} +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/core/services/appEventType.ts b/usecaseui-portal/src/app/core/services/appEventType.ts new file mode 100644 index 00000000..e5369a8c --- /dev/null +++ b/usecaseui-portal/src/app/core/services/appEventType.ts @@ -0,0 +1,4 @@ +export enum AppEventType { + GenericEvent = 'GENERIC_EVENT', + UserNodeDrag = 'USER_NODE_DRAG' +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/core/services/eventQueue.service.ts b/usecaseui-portal/src/app/core/services/eventQueue.service.ts new file mode 100644 index 00000000..e4c32c38 --- /dev/null +++ b/usecaseui-portal/src/app/core/services/eventQueue.service.ts @@ -0,0 +1,36 @@ +/* + Copyright (C) 2021 Huawei Canada, Inc. and others. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +import { Injectable } from '@angular/core'; +import {Observable, Subject} from "rxjs/Rx"; +import {AppEvent} from "@src/app/core/services/appEvent"; +import {AppEventType} from "@src/app/core/services/appEventType"; +import {filter} from "rxjs/operators"; + +@Injectable() +export class EventQueueService { + + private eventBroker = new Subject<AppEvent<any>>(); + + on(eventType: AppEventType): Observable<AppEvent<any>> { + return this.eventBroker.pipe(filter(event => event.type === eventType)); + } + + dispatch<T>(event: AppEvent<T>): void { + this.eventBroker.next(event); + } + +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts b/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts index 20b79a77..0959f564 100644 --- a/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts +++ b/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts @@ -27,6 +27,7 @@ export class networkHttpservice { url = { "getNetworkD3Data": this.baseUrl+"/uui-sotn/getNetWorkResources", "getLogicalLinksData": this.baseUrl+"/uui-sotn/getLogicalLinks", + "getPnfsData": this.baseUrl+"/uui-sotn/getPnfs", "deleteCloud": this.baseUrl+"/uui-sotn/deleteExtNetWork", "getPInterfacesData": this.baseUrl+"/uui-sotn/getPinterfaceByPnfName/", "createLink": this.baseUrl+"/uui-sotn/createLink/", @@ -39,6 +40,7 @@ export class networkHttpservice { "createCloudLink": this.baseUrl+"/uui-sotn/createLink/", "createCloudUrl": this.baseUrl+"/uui-sotn/createHostUrl/", "deleteLink": this.baseUrl+"/uui-sotn/deleteLink/", + "getConnectivities": this.baseUrl+"/uui-sotn/getConnectivityInfo", }; @@ -47,6 +49,10 @@ export class networkHttpservice { getNetworkD3Data() { return this.http.get<any>(this.url["getNetworkD3Data"]); } + // GET AAI PNF(s) data + getPnfsData() { + return this.http.get<any>(this.url["getPnfsData"]); + } //Initialize the connection logical-links getLogicalLinksData() { return this.http.get<any>(this.url["getLogicalLinksData"]); @@ -76,6 +82,11 @@ export class networkHttpservice { queryExtAAIIdVersion(aaiId) { return this.http.get<any>(this.url["queryExtAAIIdVersion"] + aaiId); } + + getConnectivities(){ + return this.http.get<any>(this.url["getConnectivities"]); + } + //Create an external cloud newwork interface createNetwrok(paramsObj) { return this.http.put<any>(this.url["createNetwrok"] + paramsObj["network-id"], paramsObj); |