diff options
author | Arundathi Patil <arundpil@in.ibm.com> | 2019-02-22 16:25:49 +0530 |
---|---|---|
committer | IBM602-PC0F1E3C\Arundathi <arundpil@in.ibm.com> | 2019-02-22 16:25:58 +0530 |
commit | 01210650e6eb2b0ba427cb80cc1130cbb58fa803 (patch) | |
tree | 61737988e707e01a043b461aa19a3a145092308e | |
parent | d94c81e03562abd5fe097c21bba1b00d2bd9bdea (diff) |
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 <arundpil@in.ibm.com>
-rw-r--r-- | cds-ui/server/src/datasources/rest.config.json | 39 | ||||
-rw-r--r-- | cds-ui/server/src/datasources/rest.datasource.ts | 32 | ||||
-rw-r--r-- | cds-ui/server/src/services/rest.service.ts | 46 |
3 files changed, 117 insertions, 0 deletions
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<RestResponseData>; +} +export class RestProvider implements Provider<RestService> { + constructor( + @inject('datasources.rest') + protected dataSource: juggler.DataSource = new RestDataSource(), + ) {} + + value(): Promise<RestService> { + return getService(this.dataSource); + } +}
\ No newline at end of file |