cb601f3cfbe0bc4e148d749470b47f37e230c2d9
[ccsdk/cds.git] / cds-ui / server / src / services / blueprint.service.ts
1 import {getService} from '@loopback/service-proxy';
2 import {inject, Provider} from '@loopback/core';
3 import {BlueprintDataSource} from '../datasources';
4
5 export interface BlueprintService {
6     getOneBluePrint(id: string): any;
7    getAllblueprints(): Promise<any>;
8    getBlueprintsByKeyword(keyword: string): Promise<any>;
9    getByTags(tags: string): Promise<JSON>;
10    getPagedBueprints(limit: number, offset: number , sort: string): Promise<any>;
11    getMetaDataPagedBlueprints(limit: number, offset: number, sort: string, keyword: string): Promise<any>;
12    getBlueprintByNameAndVersion(name:string, version:string): Promise<any>;
13
14
15 }
16
17 export class BlueprintServiceProvider implements Provider<BlueprintService> {
18   constructor(
19     // blueprint must match the name property in the datasource json file
20     @inject('datasources.blueprint')
21     protected dataSource: BlueprintDataSource = new BlueprintDataSource(),
22   ) {}
23
24   value(): Promise<BlueprintService> {
25     return getService(this.dataSource);
26   }
27 }