- loadTable() {
- this.loadingSubject.next(true);
- this.policySvc.getPolicyInstances(this.policyType.name)
- .pipe(
- catchError((her: HttpErrorResponse) => {
- this.notificationService.error('Failed to get policy instances: ' + her.message);
- return of([]);
- }),
- finalize(() => this.loadingSubject.next(false))
- )
- .subscribe((instances: PolicyInstance[]) => {
- this.rowCount = instances.length;
- this.policyInstanceSubject.next(instances);
- });
+ public getPolicyInstances() {
+ this.policyInstances = [] as PolicyInstance[];
+ this.policySvc.getPolicyInstancesByType(this.policyTypeSchema.id).subscribe(policies => {
+ if (policies.policy_ids.length != 0) {
+ policies.policy_ids.forEach(policyId => {
+ var policyInstance = {} as PolicyInstance
+ this.policySvc.getPolicyInstance(policyId).subscribe(policyInstance => {
+ this.policySvc.getPolicyStatus(policyId).subscribe(policyStatus => {
+ policyInstance.lastModified = policyStatus.last_modified;
+ })
+ this.policyInstances.push(policyInstance);
+ })
+ this.policyInstanceSubject.next(this.policyInstances);
+ })
+ }
+ })