summaryrefslogtreecommitdiffstats
path: root/cds-ui/server/src/services/resource-dictionary.service.ts
blob: 6bf3f06ae3a644e00aad79a7b210aa0857e3cb96 (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
import { getService } from '@loopback/service-proxy';
import { inject, Provider } from '@loopback/core';
import { ResourceDictionaryDataSource } from '../datasources';

export interface ResourceDictionaryService {
  getByName(name: string): Promise<JSON>;
  getSourceMapping(): Promise<JSON>;
  getByTags(tags: string): Promise<JSON>;
  save(resourceDictionary: JSON): Promise<JSON>;
  saveDefinition(resourceDictionary: JSON): Promise<JSON>;
  searchbyNames(resourceDictionaryList: JSON): Promise<JSON>;
  getModelType(source: string): Promise<JSON>;
  getDataTypes(): Promise<JSON>;
  getResourceDictionaryByType(type: string): Promise<JSON>;
}

export class ResourceDictionaryServiceProvider implements Provider<ResourceDictionaryService> {
  constructor(
    // resourceDictionary must match the name property in the datasource json file
    @inject('datasources.resourceDictionary')
    protected dataSource: ResourceDictionaryDataSource = new ResourceDictionaryDataSource(),
  ) { }

  value(): Promise<ResourceDictionaryService> {
    return getService(this.dataSource);
  }
}