X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fservices%2Fpolicy%2Fpolicy.service.ts;h=dc71a83199e59ab0fa69af91fa1865d3fec0c380;hb=refs%2Fchanges%2F46%2F5546%2F1;hp=c5ee5798ac24a288a3d82b3775536f4cf7254fcb;hpb=f507d92d55ee77fad16cc024ea95c869e0d5dc32;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/services/policy/policy.service.ts b/webapp-frontend/src/app/services/policy/policy.service.ts index c5ee579..dc71a83 100644 --- a/webapp-frontend/src/app/services/policy/policy.service.ts +++ b/webapp-frontend/src/app/services/policy/policy.service.ts @@ -22,7 +22,7 @@ import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { PolicyType, PolicyInstance, PolicyInstanceAck } from '../../interfaces/policy.types'; +import { PolicyInstance, PolicyInstanceAck, PolicyInstances, PolicyStatus, PolicyType, PolicyTypes } from '../../interfaces/policy.types'; import { ControlpanelSuccessTransport } from '../../interfaces/controlpanel.types'; /** @@ -33,12 +33,13 @@ import { ControlpanelSuccessTransport } from '../../interfaces/controlpanel.type }) export class PolicyService { - private basePath = 'api/policy'; - private policyTypePath = 'policytypes'; - private policyPath = 'policies'; + private apiVersion2 = 'v2' + private basePath = '/a1-policy/'; + policyTypesPath = 'policy-types'; + policyPath = 'policies'; private buildPath(...args: any[]) { - let result = this.basePath; + let result = this.basePath + this.apiVersion2; args.forEach(part => { result = result + '/' + part; }); @@ -49,26 +50,29 @@ export class PolicyService { // injects to variable httpClient } - /** - * Gets version details - * @returns Observable that should yield a String - */ - getVersion(): Observable { - const url = this.buildPath('version'); - return this.httpClient.get(url).pipe( - // Extract the string here - map(res => res['data']) - ); + getPolicyTypes(): Observable { + const url = this.buildPath(this.policyTypesPath); + return this.httpClient.get(url); + } + + getPolicyType(policyTypeId: string): Observable { + const url = this.buildPath(this.policyTypesPath + '/' + policyTypeId); + return this.httpClient.get(url); } - getPolicyTypes(): Observable { - const url = this.buildPath(this.policyTypePath); - return this.httpClient.get(url); + getPolicyInstancesByType(policyTypeId: string): Observable { + const url = this.buildPath(this.policyPath + '?' + 'policytype_id=' + policyTypeId); + return this.httpClient.get(url); } - getPolicyInstances(policyTypeId: string): Observable { - const url = this.buildPath(this.policyTypePath, policyTypeId, this.policyPath); - return this.httpClient.get(url); + getPolicyInstance(policyId: string): Observable { + const url = this.buildPath(this.policyPath) + '/' + policyId; + return this.httpClient.get(url); + } + + getPolicyStatus(policyId: string): Observable { + const url = this.buildPath(this.policyPath) + '/' + policyId + '/status'; + return this.httpClient.get(url); } /** @@ -76,7 +80,7 @@ export class PolicyService { * @returns Observable that should yield a policy instance */ getPolicy(policyTypeId: string, policyInstanceId: string): Observable { - const url = this.buildPath(this.policyTypePath, policyTypeId, this.policyPath, policyInstanceId); + const url = this.buildPath(this.policyPath, policyInstanceId) + '?type=' + policyTypeId; return this.httpClient.get(url); } @@ -88,17 +92,18 @@ export class PolicyService { * @returns Observable that should yield a response code, no data */ putPolicy(policyTypeId: string, policyInstanceId: string, policyJson: string, ric: string): Observable { - const url = this.buildPath(this.policyTypePath, policyTypeId, this.policyPath, policyInstanceId) + "?ric=" + ric; + const url = this.buildPath(this.policyPath, policyInstanceId) + '?ric=' + ric + '&type=' + policyTypeId; return this.httpClient.put(url, policyJson, { observe: 'response' }); } /** * Deletes a policy instance. - * @param policyTypeId + * @param policyTypeId ID of the policy type that the instance belong to + * @param policyInstanceId ID of the instance * @returns Observable that should yield a response code, no data */ deletePolicy(policyTypeId: string, policyInstanceId: string): Observable { - const url = this.buildPath(this.policyTypePath, policyTypeId, this.policyPath, policyInstanceId); + const url = this.buildPath(this.policyPath, policyInstanceId) + '?type=' + policyTypeId; return this.httpClient.delete(url, { observe: 'response' }); }