Adding integration to backend in Controller catalog
[ccsdk/cds.git] / cds-ui / server / src / services / controller-catalog.service.ts
1 import {getService} from '@loopback/service-proxy';\r
2 import {inject, Provider} from '@loopback/core';\r
3 import {ControllerCatalogDataSource} from '../datasources';\r
4 \r
5 export interface ControllerCatalogService {\r
6   getByTags(tags: string): Promise<JSON>;\r
7   save(controllerCatalog: JSON): Promise<JSON>;\r
8   getDefinitionTypes(definitionType: string): Promise<JSON>;\r
9   deleteCatalog(name: string): Promise<JSON>;\r
10 }\r
11 \r
12 export class ControllerCatalogServiceProvider implements Provider<ControllerCatalogService> {\r
13   constructor(\r
14     // controllerCatalog must match the name property in the datasource json file\r
15     @inject('datasources.controllerCatalog')\r
16     protected dataSource: ControllerCatalogDataSource = new ControllerCatalogDataSource(),\r
17   ) {}\r
18 \r
19   value(): Promise<ControllerCatalogService> {\r
20     return getService(this.dataSource);\r
21   }\r
22 }\r