1 import {getService} from '@loopback/service-proxy';
2 import {inject, Provider} from '@loopback/core';
3 import {BlueprintDataSource} from '../datasources';
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>;
17 export class BlueprintServiceProvider implements Provider<BlueprintService> {
19 // blueprint must match the name property in the datasource json file
20 @inject('datasources.blueprint')
21 protected dataSource: BlueprintDataSource = new BlueprintDataSource(),
24 value(): Promise<BlueprintService> {
25 return getService(this.dataSource);