Update base types based on model
[sdc.git] / catalog-ui / src / app / ng2 / services / element.service.ts
1 /*
2 * ============LICENSE_START=======================================================
3 *  Copyright (C) 2021 Nordix Foundation. All rights reserved.
4 *  ================================================================================
5 *  Licensed under the Apache License, Version 2.0 (the "License");
6 *  you may not use this file except in compliance with the License.
7 *  You may obtain a copy of the License at
8 *
9 *        http://www.apache.org/licenses/LICENSE-2.0
10 *  Unless required by applicable law or agreed to in writing, software
11 *  distributed under the License is distributed on an "AS IS" BASIS,
12 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 *  See the License for the specific language governing permissions and
14 *  limitations under the License.
15 *
16 *  SPDX-License-Identifier: Apache-2.0
17 *  ============LICENSE_END=========================================================
18 */
19
20 import { HttpClient } from '@angular/common/http';
21 import { Inject, Injectable } from '@angular/core';
22 import { Response } from '@angular/http';
23 import { Observable } from 'rxjs/Observable';
24 import { ISdcConfig, SdcConfigToken } from '../config/sdc-config.config';
25 import {map} from "rxjs/operators";
26
27 @Injectable()
28 export class ElementService {
29
30     protected baseUrl;
31
32     constructor(protected http: HttpClient, @Inject(SdcConfigToken) sdcConfig: ISdcConfig) {
33         this.baseUrl = sdcConfig.api.root;
34     }
35
36     getCategoryBasetypes(categoryName:string, modelName:string):Observable<BaseTypeResponse[]> {
37             let modelQueryParam: string = modelName ? '?model=' + modelName : '';
38         return this.http.get<ListBaseTypesResponse>(this.baseUrl + "/v1/category/services/" + categoryName + "/baseTypes" + modelQueryParam)
39             .pipe(map(response => response.baseTypes));
40     }
41
42 }
43