blob: a017e6ef236048da18fa5a3a1bd6e5d587f2b979 [file] [log] [blame]
import { getService } from '@loopback/service-proxy';
import { inject, Provider } from '@loopback/core';
import { BlueprintDataSource } from '../datasources';
export interface BlueprintService {
getOneBluePrint(id: string): any;
deleteBluePrint(id: string): any;
getAllblueprints(): Promise<any>;
getBlueprintsByKeyword(keyword: string): Promise<any>;
getByTags(tags: string): Promise<JSON>;
getPagedBlueprints(limit: number, offset: number, sort: string, sortType: String): Promise<any>;
getMetaDataPagedBlueprints(limit: number, offset: number, sort: string, keyword: string, sortType: String): Promise<any>;
getBlueprintByNameAndVersion(name: string, version: string): Promise<any>;
}
export class BlueprintServiceProvider implements Provider<BlueprintService> {
constructor(
// blueprint must match the name property in the datasource json file
@inject('datasources.blueprint')
protected dataSource: BlueprintDataSource = new BlueprintDataSource(),
) { }
value(): Promise<BlueprintService> {
return getService(this.dataSource);
}
}