aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/services/data-type.service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/ng2/services/data-type.service.ts')
-rw-r--r--catalog-ui/src/app/ng2/services/data-type.service.ts18
1 files changed, 16 insertions, 2 deletions
diff --git a/catalog-ui/src/app/ng2/services/data-type.service.ts b/catalog-ui/src/app/ng2/services/data-type.service.ts
index 70555a5efd..bf500ec16e 100644
--- a/catalog-ui/src/app/ng2/services/data-type.service.ts
+++ b/catalog-ui/src/app/ng2/services/data-type.service.ts
@@ -19,11 +19,15 @@
*/
import * as _ from "lodash";
-import { Injectable } from '@angular/core';
+import {Inject, Injectable} from '@angular/core';
import { DataTypeModel, DataTypesMap, PropertyFEModel, DerivedFEProperty} from "app/models";
import { DataTypesService } from "app/services/data-types-service";
import { PROPERTY_DATA } from "app/utils";
import {DerivedFEAttribute} from "../../models/attributes-outputs/derived-fe-attribute";
+import {ISdcConfig} from "../config/sdc-config.config.factory";
+import {SdcConfigToken} from "../config/sdc-config.config";
+import {HttpClient} from "@angular/common/http";
+import {Observable} from "rxjs/Observable";
/** This is a new service for NG2, to eventually replace app/services/data-types-service.ts
*
@@ -34,11 +38,16 @@ import {DerivedFEAttribute} from "../../models/attributes-outputs/derived-fe-att
@Injectable()
export class DataTypeService {
public dataTypes: DataTypesMap;
+ private readonly baseUrl: string;
+ private readonly dataTypeUrl: string;
- constructor(private dataTypeService: DataTypesService) {
+ constructor(private dataTypeService: DataTypesService, private httpClient: HttpClient, @Inject(SdcConfigToken) sdcConfig: ISdcConfig) {
this.dataTypes = dataTypeService.getAllDataTypes(); //This should eventually be replaced by an NG2 call to the backend instead of utilizing Angular1 downgraded component.
+ this.baseUrl = sdcConfig.api.root + sdcConfig.api.component_api_root;
+ this.dataTypeUrl = `${this.baseUrl}data-types`
}
+
public getDataTypeByModelAndTypeName(modelName: string, typeName: string): DataTypeModel {
this.dataTypes = this.dataTypeService.getAllDataTypesFromModel(modelName);
let dataTypeFound = this.dataTypes[typeName];
@@ -64,6 +73,11 @@ export class DataTypeService {
return this.dataTypeService.findAllDataTypesByModel(modelName);
}
+ public findById(id: string): Observable<DataTypeModel> {
+ const url = `${this.dataTypeUrl}/${id}`
+ return this.httpClient.get<DataTypeModel>(url);
+ }
+
public getConstraintsByParentTypeAndUniqueID(rootPropertyType, propertyName){
// const property = this.dataTypes[rootPropertyType].properties.filter(property =>
// property.name == propertyName);