summaryrefslogtreecommitdiffstats
path: root/cds-ui/server/src/services/blueprint.service.ts
blob: 4333011750abf6a66d1499055c8f95bde301c9e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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);
  }
}