From b4fce004a40753e396f100ac9abdbe876de5865e Mon Sep 17 00:00:00 2001 From: Michael Dürre Date: Fri, 2 Aug 2019 06:45:49 +0200 Subject: fixed mediator app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit route requests through apigateway Issue-ID: SDNC-824 Signed-off-by: Michael Dürre Change-Id: Ief159a71888f271a7751884260f85be01efdd6b4 --- .../mediatorApp/src/services/mediatorService.ts | 97 +++++++++++++++------- 1 file changed, 65 insertions(+), 32 deletions(-) (limited to 'sdnr/wt/odlux/apps/mediatorApp/src/services/mediatorService.ts') 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 = { 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(mediatorServerUrl: string, task: string, data?: {}): Promise | null> { - const url = `${mediatorServerUrl}/api/?task=${task}`; - // return (await requestRest<{ code: number, data: TData}>(path, { method: "POST" })) || null ; + private async accassMediatorServer(mediatorServerId: string, task: string, data?: {}): Promise | null> { + const path = `ms/${mediatorServerId}/api/'?task=${task}`; + const result = (await requestRest(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(mediatorServerId: string, task: string, data?: {}): Promise | 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 { - const result = await this.accassMediatorServer(mediatorServerUrl, 'version'); + public async getMediatorServerVersion(mediatorServerId: string): Promise { + const result = await this.accassMediatorServer(mediatorServerId, 'version'); if (result && result.code === 1) return result.data; return null; } - public async getMediatorServerAllConfigs(mediatorServerUrl: string): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'getconfig'); + public async getMediatorServerAllConfigs(mediatorServerId: string): Promise { + const result = await this.accassMediatorServer(mediatorServerId, 'getconfig'); if (result && result.code === 1) return result.data; return null; } - public async getMediatorServerConfigByName(mediatorServerUrl: string, name: string): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'getconfig', { name } ); + public async getMediatorServerConfigByName(mediatorServerId: string, name: string): Promise { + const result = await this.accassMediatorServer(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 { - const result = await this.accassMediatorServer(mediatorServerUrl, 'getdevices' ); + public async getMediatorServerSupportedDevices(mediatorServerId: string): Promise { + const result = await this.accassMediatorServer(mediatorServerId, 'getdevices'); if (result && result.code === 1) return result.data; return null; } - public async startMediatorByName(mediatorServerUrl: string, name: string): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'start', { name } ); + public async startMediatorByName(mediatorServerId: string, name: string): Promise { + const result = await this.accassMediatorServer(mediatorServerId, `start&name=${name}`); if (result && result.code === 1) return result.data; return null; } - public async stopMediatorByName(mediatorServerUrl: string, name: string): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'stop', { name } ); + public async stopMediatorByName(mediatorServerId: string, name: string): Promise { + const result = await this.accassMediatorServer(mediatorServerId, `stop&name=${name}`); if (result && result.code === 1) return result.data; return null; } - public async createMediatorConfig(mediatorServerUrl: string, config: MediatorConfig): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'create', { config: JSON.stringify(config) } ); + public async createMediatorConfig(mediatorServerId: string, config: MediatorConfig): Promise { + const result = await this.accassMediatorServer(mediatorServerId, 'create', { config: JSON.stringify(config) }); if (result && result.code === 1) return result.data; return null; } - public async updateMediatorConfigByName(mediatorServerUrl: string, config: MediatorConfig): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'update', { config: JSON.stringify(config) } ); + public async updateMediatorConfigByName(mediatorServerId: string, config: MediatorConfig): Promise { + const result = await this.accassMediatorServer(mediatorServerId, 'update', { config: JSON.stringify(config) }); if (result && result.code === 1) return result.data; return null; } - public async deleteMediatorConfigByName(mediatorServerUrl: string, name: string): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'delete', { name } ); + public async deleteMediatorConfigByName(mediatorServerId: string, name: string): Promise { + const result = await this.accassMediatorServer(mediatorServerId, `delete&name=${name}`); if (result && result.code === 1) return result.data; return null; } - public async getMediatorServerFreeNcPorts(mediatorServerUrl: string, limit?: number): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'getncports', { limit } ); + public async getMediatorServerFreeNcPorts(mediatorServerId: string, limit?: number): Promise { + const result = await this.accassMediatorServer(mediatorServerId, 'getncports', { limit }); if (result && result.code === 1) return result.data; return null; } - - public async getMediatorServerFreeSnmpPorts(mediatorServerUrl: string, limit?: number): Promise { - const result = await this.accassMediatorServer(mediatorServerUrl, 'getsnmpports', { limit } ); + + public async getMediatorServerFreeSnmpPorts(mediatorServerId: string, limit?: number): Promise { + const result = await this.accassMediatorServer(mediatorServerId, 'getsnmpports', { limit }); if (result && result.code === 1) return result.data; return null; } -- cgit 1.2.3-korg