summaryrefslogtreecommitdiffstats
path: root/cds-ui/server/src/services/resource-dictionary.service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui/server/src/services/resource-dictionary.service.ts')
-rw-r--r--cds-ui/server/src/services/resource-dictionary.service.ts23
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);
+ }
+}