Correct spelling mistake in name of component
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / services / controlpanel / controlpanel.service.ts
1 /*-
2  * ========================LICENSE_START=================================
3  * O-RAN-SC
4  * %%
5  * Copyright (C) 2019 AT&T Intellectual Property
6  * Modifications Copyright (C) 2020 Nordix Foundation
7  * %%
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
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
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===================================
20  */
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';
25
26 @Injectable({
27   providedIn: 'root'
28 })
29
30 /**
31  * Services to query the Control Panel's admin endpoints.
32  */
33 export class ControlpanelService {
34
35   private basePath = 'api/admin/';
36
37   constructor(private httpClient: HttpClient) {
38     // injects to variable httpClient
39   }
40
41  /**
42    * Checks app health
43    * @returns Observable that should yield a ControlpanelSuccessTransport
44    */
45   getHealth(): Observable<ControlpanelSuccessTransport> {
46     return this.httpClient.get<ControlpanelSuccessTransport>(this.basePath + 'health');
47   }
48
49   /**
50    * Gets Control Panel version details
51    * @returns Observable that should yield a ControlpanelSuccessTransport object
52    */
53   getVersion(): Observable<ControlpanelSuccessTransport> {
54     return this.httpClient.get<ControlpanelSuccessTransport>(this.basePath + 'version');
55   }
56
57   /**
58    * Gets Control Panel users
59    * @returns Observable that should yield a EcompUser array
60    */
61   getUsers(): Observable<EcompUser[]> {
62     return this.httpClient.get<EcompUser[]>(this.basePath + 'user');
63   }
64
65 }