diff options
author | Dan Timoney <dtimoney@att.com> | 2019-02-22 20:46:02 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-02-22 20:46:02 +0000 |
commit | a9a51128e6197fbb4efb38b5cd73e247d7c1fa45 (patch) | |
tree | af2ea63b5f5cc332ae28b2e41772b55243f610d5 | |
parent | afa8baf78420f3d0a1532f94ec59bf13067705a8 (diff) | |
parent | 01210650e6eb2b0ba427cb80cc1130cbb58fa803 (diff) |
Merge "Loopback rest service"
-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 |