From 01210650e6eb2b0ba427cb80cc1130cbb58fa803 Mon Sep 17 00:00:00 2001 From: Arundathi Patil Date: Fri, 22 Feb 2019 16:25:49 +0530 Subject: Loopback rest service Created rest service , which will be used to interact with backend API's Issue-ID: CCSDK-1097 Change-Id: Ie91b1b60e2237c1ec80e490877dc6292c3106835 Signed-off-by: Arundathi Patil --- cds-ui/server/src/datasources/rest.config.json | 39 ++++++++++++++++++++ cds-ui/server/src/datasources/rest.datasource.ts | 32 +++++++++++++++++ cds-ui/server/src/services/rest.service.ts | 46 ++++++++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 cds-ui/server/src/datasources/rest.config.json create mode 100644 cds-ui/server/src/datasources/rest.datasource.ts create mode 100644 cds-ui/server/src/services/rest.service.ts (limited to 'cds-ui') diff --git a/cds-ui/server/src/datasources/rest.config.json b/cds-ui/server/src/datasources/rest.config.json new file mode 100644 index 000000000..86f33fbd4 --- /dev/null +++ b/cds-ui/server/src/datasources/rest.config.json @@ -0,0 +1,39 @@ +{ + "name": "restConfig", + "connector": "rest", + "options": { + "headers": { + "accept": "application/json", + "content-type": "application/json" + } + }, + "operations": [ + { + "template": { + "method": "GET", + "url": "" + }, + "functions": { + "getEnricheddata": [""] + } + }, + { + "template": { + "method": "POST", + "url": "" + }, + "functions": { + "saveBlueprint": [""] + } + }, + { + "template": { + "method": "POST", + "url": "" + }, + "functions": { + "test": [""] + } + } +] +} \ No newline at end of file diff --git a/cds-ui/server/src/datasources/rest.datasource.ts b/cds-ui/server/src/datasources/rest.datasource.ts new file mode 100644 index 000000000..42cdb8018 --- /dev/null +++ b/cds-ui/server/src/datasources/rest.datasource.ts @@ -0,0 +1,32 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018-19 IBM Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software 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 { juggler } from '@loopback/service-proxy'; +import * as config from './rest.config.json'; + + +export class RestDataSource extends juggler.DataSource { + static dataSourceName = 'rest'; + constructor(dsConfig: object = config) { + super(dsConfig); + } +} diff --git a/cds-ui/server/src/services/rest.service.ts b/cds-ui/server/src/services/rest.service.ts new file mode 100644 index 000000000..b94ea4dd3 --- /dev/null +++ b/cds-ui/server/src/services/rest.service.ts @@ -0,0 +1,46 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018-19 IBM Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software 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 {getService, juggler} from '@loopback/service-proxy'; +import {inject, Provider} from '@loopback/core'; +import {RestDataSource} from '../datasources/rest.datasource'; + + +export interface RestResponseData { + userId: number; + id: number; + title: string; + completed: boolean; +} + +export interface RestService { + getrestdata(id?: number): Promise; +} +export class RestProvider implements Provider { + constructor( + @inject('datasources.rest') + protected dataSource: juggler.DataSource = new RestDataSource(), + ) {} + + value(): Promise { + return getService(this.dataSource); + } +} \ No newline at end of file -- cgit 1.2.3-korg