diff options
author | Michael Dürre <michael.duerre@highstreet-technologies.com> | 2019-08-02 06:45:49 +0200 |
---|---|---|
committer | Timoney, Dan (dt5972) <dtimoney@att.com> | 2019-08-09 08:21:40 -0400 |
commit | b4fce004a40753e396f100ac9abdbe876de5865e (patch) | |
tree | 88daa991a9aada177c8356c81b32aa9323ecb750 /sdnr/wt/odlux/apps/mediatorApp/src/services | |
parent | f60b704c23ffb6df5ceb3b6d5b43729a5434f375 (diff) |
fixed mediator app
route requests through apigateway
Issue-ID: SDNC-824
Signed-off-by: Michael Dürre <michael.duerre@highstreet-technologies.com>
Change-Id: Ief159a71888f271a7751884260f85be01efdd6b4
Diffstat (limited to 'sdnr/wt/odlux/apps/mediatorApp/src/services')
-rw-r--r-- | sdnr/wt/odlux/apps/mediatorApp/src/services/mediatorService.ts | 97 |
1 files changed, 65 insertions, 32 deletions
diff --git a/sdnr/wt/odlux/apps/mediatorApp/src/services/mediatorService.ts b/sdnr/wt/odlux/apps/mediatorApp/src/services/mediatorService.ts index 50fd869b1..b257fa92c 100644 --- a/sdnr/wt/odlux/apps/mediatorApp/src/services/mediatorService.ts +++ b/sdnr/wt/odlux/apps/mediatorApp/src/services/mediatorService.ts @@ -1,13 +1,30 @@ +/** + * ============LICENSE_START======================================================================== + * ONAP : ccsdk feature sdnr wt odlux + * ================================================================================================= + * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. 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. + * ============LICENSE_END========================================================================== + */ import * as $ from 'jquery'; -import { requestRest } from '../../../../framework/src/services/restService'; +import { requestRest, formEncode } from '../../../../framework/src/services/restService'; import { MediatorServer, MediatorServerVersionInfo, MediatorConfig, MediatorServerDevice, MediatorConfigResponse } from '../models/mediatorServer'; import { HitEntry } from '../../../../framework/src/models'; export const mediatorServerResourcePath = "mwtn/mediator-server"; type MediatorServerResponse<TData> = { code: number, data: TData }; -type IndexableMediatorServer = MediatorServer & { [key: string]: any; } ; +type IndexableMediatorServer = MediatorServer & { [key: string]: any; }; /** * Represents a web api accessor service for all mediator server actions. @@ -60,13 +77,29 @@ class MediatorService { // https://cloud-highstreet-technologies.com/wiki/doku.php?id=att:ms:api - private accassMediatorServer<TData ={}>(mediatorServerUrl: string, task: string, data?: {}): Promise<MediatorServerResponse<TData> | null> { - const url = `${mediatorServerUrl}/api/?task=${task}`; - // return (await requestRest<{ code: number, data: TData}>(path, { method: "POST" })) || null ; + private async accassMediatorServer<TData = {}>(mediatorServerId: string, task: string, data?: {}): Promise<MediatorServerResponse<TData> | null> { + const path = `ms/${mediatorServerId}/api/'?task=${task}`; + const result = (await requestRest<string>(path, { + method: data ? "POST" : "GET", + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: data ? formEncode({ + ...data, + ...{ task: task } + }) : null + }, true)) || null; + + return result ? JSON.parse(result) as { code: number, data: TData } : null; + } + /* + private accassMediatorServer<TData = {}>(mediatorServerId: string, task: string, data?: {}): Promise<MediatorServerResponse<TData> | null> { + const path = `ms/${mediatorServerId}/api/?task=${task}`; return new Promise<{ code: number, data: TData }>((resolve, reject) => { - $.post({ - url, - data: data, + $.ajax({ + method: data ? 'POST' : 'GET', + url: path, + data: { ...{ task: task }, ...data }, //contentType: 'application/json' }).then((result: any) => { if (typeof result === "string") { @@ -76,70 +109,70 @@ class MediatorService { }; }); }); - } + }*/ - public async getMediatorServerVersion(mediatorServerUrl: string): Promise<MediatorServerVersionInfo | null> { - const result = await this.accassMediatorServer<MediatorServerVersionInfo>(mediatorServerUrl, 'version'); + public async getMediatorServerVersion(mediatorServerId: string): Promise<MediatorServerVersionInfo | null> { + const result = await this.accassMediatorServer<MediatorServerVersionInfo>(mediatorServerId, 'version'); if (result && result.code === 1) return result.data; return null; } - public async getMediatorServerAllConfigs(mediatorServerUrl: string): Promise<MediatorConfigResponse[] | null> { - const result = await this.accassMediatorServer<MediatorConfigResponse[]>(mediatorServerUrl, 'getconfig'); + public async getMediatorServerAllConfigs(mediatorServerId: string): Promise<MediatorConfigResponse[] | null> { + const result = await this.accassMediatorServer<MediatorConfigResponse[]>(mediatorServerId, 'getconfig'); if (result && result.code === 1) return result.data; return null; } - public async getMediatorServerConfigByName(mediatorServerUrl: string, name: string): Promise<MediatorConfigResponse | null> { - const result = await this.accassMediatorServer<MediatorConfigResponse[]>(mediatorServerUrl, 'getconfig', { name } ); + public async getMediatorServerConfigByName(mediatorServerId: string, name: string): Promise<MediatorConfigResponse | null> { + const result = await this.accassMediatorServer<MediatorConfigResponse[]>(mediatorServerId, `getconfig&name=${name}`); if (result && result.code === 1 && result.data && result.data.length === 1) return result.data[0]; return null; } - public async getMediatorServerSupportedDevices(mediatorServerUrl: string): Promise<MediatorServerDevice[] | null> { - const result = await this.accassMediatorServer<MediatorServerDevice[]>(mediatorServerUrl, 'getdevices' ); + public async getMediatorServerSupportedDevices(mediatorServerId: string): Promise<MediatorServerDevice[] | null> { + const result = await this.accassMediatorServer<MediatorServerDevice[]>(mediatorServerId, 'getdevices'); if (result && result.code === 1) return result.data; return null; } - public async startMediatorByName(mediatorServerUrl: string, name: string): Promise<string | null> { - const result = await this.accassMediatorServer<string>(mediatorServerUrl, 'start', { name } ); + public async startMediatorByName(mediatorServerId: string, name: string): Promise<string | null> { + const result = await this.accassMediatorServer<string>(mediatorServerId, `start&name=${name}`); if (result && result.code === 1) return result.data; return null; } - public async stopMediatorByName(mediatorServerUrl: string, name: string): Promise<string | null> { - const result = await this.accassMediatorServer<string>(mediatorServerUrl, 'stop', { name } ); + public async stopMediatorByName(mediatorServerId: string, name: string): Promise<string | null> { + const result = await this.accassMediatorServer<string>(mediatorServerId, `stop&name=${name}`); if (result && result.code === 1) return result.data; return null; } - public async createMediatorConfig(mediatorServerUrl: string, config: MediatorConfig): Promise<string | null> { - const result = await this.accassMediatorServer<string>(mediatorServerUrl, 'create', { config: JSON.stringify(config) } ); + public async createMediatorConfig(mediatorServerId: string, config: MediatorConfig): Promise<string | null> { + const result = await this.accassMediatorServer<string>(mediatorServerId, 'create', { config: JSON.stringify(config) }); if (result && result.code === 1) return result.data; return null; } - public async updateMediatorConfigByName(mediatorServerUrl: string, config: MediatorConfig): Promise<string | null> { - const result = await this.accassMediatorServer<string>(mediatorServerUrl, 'update', { config: JSON.stringify(config) } ); + public async updateMediatorConfigByName(mediatorServerId: string, config: MediatorConfig): Promise<string | null> { + const result = await this.accassMediatorServer<string>(mediatorServerId, 'update', { config: JSON.stringify(config) }); if (result && result.code === 1) return result.data; return null; } - public async deleteMediatorConfigByName(mediatorServerUrl: string, name: string): Promise<string | null> { - const result = await this.accassMediatorServer<string>(mediatorServerUrl, 'delete', { name } ); + public async deleteMediatorConfigByName(mediatorServerId: string, name: string): Promise<string | null> { + const result = await this.accassMediatorServer<string>(mediatorServerId, `delete&name=${name}`); if (result && result.code === 1) return result.data; return null; } - public async getMediatorServerFreeNcPorts(mediatorServerUrl: string, limit?: number): Promise<number[] | null> { - const result = await this.accassMediatorServer<number[]>(mediatorServerUrl, 'getncports', { limit } ); + public async getMediatorServerFreeNcPorts(mediatorServerId: string, limit?: number): Promise<number[] | null> { + const result = await this.accassMediatorServer<number[]>(mediatorServerId, 'getncports', { limit }); if (result && result.code === 1) return result.data; return null; } - - public async getMediatorServerFreeSnmpPorts(mediatorServerUrl: string, limit?: number): Promise<number[] | null> { - const result = await this.accassMediatorServer<number[]>(mediatorServerUrl, 'getsnmpports', { limit } ); + + public async getMediatorServerFreeSnmpPorts(mediatorServerId: string, limit?: number): Promise<number[] | null> { + const result = await this.accassMediatorServer<number[]>(mediatorServerId, 'getsnmpports', { limit }); if (result && result.code === 1) return result.data; return null; } |