2 * ========================LICENSE_START=================================
5 * Copyright (C) 2019 AT&T Intellectual Property
6 * Modifications Copyright (C) 2020 Nordix Foundation
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ========================LICENSE_END===================================
21 import { Injectable } from '@angular/core';
22 import { HttpClient } from '@angular/common/http';
23 import { Observable } from 'rxjs';
24 import { ControlpanelSuccessTransport, EcompUser } from '../../interfaces/controlpanel.types';
31 * Services to query the Control Panel's admin endpoints.
33 export class ControlpanelService {
35 private basePath = 'api/admin/';
37 constructor(private httpClient: HttpClient) {
38 // injects to variable httpClient
43 * @returns Observable that should yield a ControlpanelSuccessTransport
45 getHealth(): Observable<ControlpanelSuccessTransport> {
46 return this.httpClient.get<ControlpanelSuccessTransport>(this.basePath + 'health');
50 * Gets Control Panel version details
51 * @returns Observable that should yield a ControlpanelSuccessTransport object
53 getVersion(): Observable<ControlpanelSuccessTransport> {
54 return this.httpClient.get<ControlpanelSuccessTransport>(this.basePath + 'version');
58 * Gets Control Panel users
59 * @returns Observable that should yield a EcompUser array
61 getUsers(): Observable<EcompUser[]> {
62 return this.httpClient.get<EcompUser[]>(this.basePath + 'user');