X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fservices%2Fac-xapp%2Fac-xapp.service.ts;h=6e67b32d7144cc91fce092905c2fdc73317c4bac;hb=b7d7982bbfbf3a1333feb8b811f99497752d3722;hp=d25e9db95543596315a123510f3dab00d13677d7;hpb=53f1fcf033e3a166d7203e0a1c5e0971f9c6bc16;p=portal%2Fric-dashboard.git diff --git a/webapp-frontend/src/app/services/ac-xapp/ac-xapp.service.ts b/webapp-frontend/src/app/services/ac-xapp/ac-xapp.service.ts index d25e9db9..6e67b32d 100644 --- a/webapp-frontend/src/app/services/ac-xapp/ac-xapp.service.ts +++ b/webapp-frontend/src/app/services/ac-xapp/ac-xapp.service.ts @@ -18,12 +18,13 @@ * ========================LICENSE_END=================================== */ - import { Injectable } from '@angular/core'; - import { HttpClient } from '@angular/common/http'; - import { Observable } from 'rxjs'; - import { map } from 'rxjs/operators'; +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; import { ACAdmissionIntervalControl, ACAdmissionIntervalControlAck } from '../../interfaces/ac-xapp.types'; import { DashboardSuccessTransport } from '../../interfaces/dashboard.types'; +import { CommonService } from '../common/common.service'; /** * Services for calling the Dashboard's A1 endpoints to get/put AC policies. @@ -33,19 +34,13 @@ import { DashboardSuccessTransport } from '../../interfaces/dashboard.types'; }) export class ACXappService { - private basePath = 'api/a1-p'; + private component = 'a1-p'; private policyPath = 'policies'; private acPolicyName = 'admission_control_policy'; - private buildPath(...args: any[]) { - let result = this.basePath; - args.forEach(part => { - result = result + '/' + part; - }); - return result; - } - - constructor(private httpClient: HttpClient) { + constructor( + private httpClient: HttpClient, + private commonSvc: CommonService) { // injects to variable httpClient } @@ -54,7 +49,7 @@ export class ACXappService { * @returns Observable that should yield a String */ getVersion(): Observable { - const url = this.buildPath('version'); + const url = 'api/a1-p/version' return this.httpClient.get(url).pipe( // Extract the string here map(res => res['data']) @@ -65,8 +60,8 @@ export class ACXappService { * Gets admission control policy. * @returns Observable that should yield an ACAdmissionIntervalControl */ - getPolicy(): Observable { - const url = this.buildPath(this.policyPath, this.acPolicyName); + getPolicy(instanceKey: string): Observable { + const url = this.commonSvc.buildPath(instanceKey, this.component, this.policyPath, this.acPolicyName); return this.httpClient.get(url); } @@ -75,8 +70,8 @@ export class ACXappService { * @param policy an instance of ACAdmissionIntervalControl * @returns Observable that should yield a response code, no data */ - putPolicy(policy: ACAdmissionIntervalControl): Observable { - const url = this.buildPath(this.policyPath, this.acPolicyName); + putPolicy(instanceKey: string, policy: ACAdmissionIntervalControl): Observable { + const url = this.commonSvc.buildPath(instanceKey, this.component, this.policyPath, this.acPolicyName); return this.httpClient.put(url, policy, { observe: 'response' }); }