X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fpolicy-control%2Fno-type-policy-instance-dialog.component.ts;h=288ba2e112429c90991d7f1e9035f4487a315124;hb=9258650ca1dbe5dafb0618bb928b3a6843916009;hp=8c2a11429157667992ede34e7380eca74d877dad;hpb=d7a2c1dc0704bb774e0a8445a3918f9fc51e19f4;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/policy-control/no-type-policy-instance-dialog.component.ts b/webapp-frontend/src/app/policy-control/no-type-policy-instance-dialog.component.ts index 8c2a114..288ba2e 100644 --- a/webapp-frontend/src/app/policy-control/no-type-policy-instance-dialog.component.ts +++ b/webapp-frontend/src/app/policy-control/no-type-policy-instance-dialog.component.ts @@ -26,9 +26,11 @@ import { UiService } from '../services/ui/ui.service'; import { HttpErrorResponse } from '@angular/common/http'; import { ErrorDialogService } from '../services/ui/error-dialog.service'; import * as uuid from 'uuid'; +import { Ric } from '../interfaces/ric'; +import { CreatePolicyInstance } from '../interfaces/policy.types'; @Component({ - selector: 'rd-no-type-policy-instance-dialog', + selector: 'nrcp-no-type-policy-instance-dialog', templateUrl: './no-type-policy-instance-dialog.component.html', styleUrls: ['./no-type-policy-instance-dialog.component.scss'] }) @@ -39,7 +41,7 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit { policyJson: string; darkMode: boolean; ric: string; - allRics: string[]; + allRics: Ric[]; constructor( private policySvc: PolicyService, @@ -76,10 +78,11 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit { onSubmit() { if (this.policyInstanceId == null) { - this.policyInstanceId = uuid.v4(); + this.policyInstanceId = uuid.v4(); } const self: NoTypePolicyInstanceDialogComponent = this; - this.policySvc.putPolicy('', this.policyInstanceId, this.policyJsonTextArea.value, this.ric).subscribe( + let createPolicyInstance = this.createPolicyInstance(this.policyJsonTextArea.value); + this.policySvc.putPolicy(createPolicyInstance).subscribe( { next(_) { self.notificationService.success('Policy without type:' + self.policyInstanceId + ' submitted'); @@ -91,11 +94,21 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit { }); } + private createPolicyInstance(policyJson: string) { + let createPolicyInstance = {} as CreatePolicyInstance; + createPolicyInstance.policy_data = JSON.parse(policyJson); + createPolicyInstance.policy_id = this.policyInstanceId; + createPolicyInstance.policytype_id = ''; + createPolicyInstance.ric_id = (!this.ricSelector.value.ric_id) ? this.ric : this.ricSelector.value.ric_id; + createPolicyInstance.service_id = 'controlpanel'; + return createPolicyInstance; + } + private fetchRics() { const self: NoTypePolicyInstanceDialogComponent = this; this.policySvc.getRics('').subscribe( { - next(value) { + next(value: Ric[]) { self.allRics = value; console.log(value); }, @@ -106,13 +119,13 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit { }); } - private formatJsonString(jsonToFormat: string) { - return JSON.stringify(JSON.parse(jsonToFormat), null, 2); - } + private formatJsonString(jsonToFormat: any) { + return JSON.stringify(jsonToFormat, null, 2); + } - formatJsonInput() { - this.policyJson = this.formatJsonString(this.policyJsonTextArea.value); - } + formatJsonInput() { + this.policyJson = this.formatJsonString(JSON.parse(this.policyJsonTextArea.value)); + } } export function jsonValidator(): ValidatorFn {