diff options
Diffstat (limited to 'cds-ui/server/src/services/resource-dictionary.service.ts')
-rw-r--r-- | cds-ui/server/src/services/resource-dictionary.service.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cds-ui/server/src/services/resource-dictionary.service.ts b/cds-ui/server/src/services/resource-dictionary.service.ts new file mode 100644 index 000000000..44ba1a347 --- /dev/null +++ b/cds-ui/server/src/services/resource-dictionary.service.ts @@ -0,0 +1,23 @@ +import {getService} from '@loopback/service-proxy'; +import {inject, Provider} from '@loopback/core'; +import {ResourceDictionaryDataSource} from '../datasources'; + +export interface ResourceDictionaryService { + getByName(name: string, authtoken: string): Promise<JSON>; + getSourceMapping(authtoken: string): Promise<JSON>; + getByTags(tags: string, authtoken: string): Promise<JSON>; + save(authtoken: string, resourceDictionary: JSON): Promise<JSON>; + searchbyNames(authtoken: string, resourceDictionaryList: JSON): 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); + } +} |