diff --git a/src/app/admin/config-workflow/config-workflow.component.html b/src/app/admin/config-workflow/config-workflow.component.html
index 3b56b22..48b2af4 100644
--- a/src/app/admin/config-workflow/config-workflow.component.html
+++ b/src/app/admin/config-workflow/config-workflow.component.html
@@ -185,7 +185,7 @@
{{'PROPERTIS_REQUIRED_FOR_ATTESTATION' | translate}}
|
diff --git a/src/app/admin/config-workflow/config-workflow.component.ts b/src/app/admin/config-workflow/config-workflow.component.ts
index 3a1e01b..5d8b3b7 100644
--- a/src/app/admin/config-workflow/config-workflow.component.ts
+++ b/src/app/admin/config-workflow/config-workflow.component.ts
@@ -53,6 +53,7 @@ export class ConfigWorkflowComponent implements OnInit {
workflow: any;
cardData: any[] = [];
CurrentSchema: any;
+ executed: boolean = false;
constructor(
private activeRoute: ActivatedRoute,
@@ -113,9 +114,15 @@ export class ConfigWorkflowComponent implements OnInit {
}
ngOnInit(): void {
+ if (!this.executed) {
+ this.addWorkflowItems();
+ this.addNewAttestCondition(0);
+ this.addFieldCondition(0, 0);
+ this.executed = true;
+ }
this.entityName = this.activeRoute.snapshot.params.entity;
let selectedMenuList: any;
- this.generalService.getData("/Schema").subscribe((res) => {
+ this.generalService.getData("/Schema").subscribe((res) => {
this.fullSchemas = res;
for (let i = 0; i < res.length; i++) {
this.schemaName.push(JSON.parse(res[i]["schema"]));
@@ -138,32 +145,47 @@ export class ConfigWorkflowComponent implements OnInit {
if (typeof (this.fullSchemas[i].schema) == 'string') {
this.CurrentSchema = JSON.parse(this.fullSchemas[i].schema);
}
- if (!this.CurrentSchema['_osConfig']['attestationPolicies']) {
+ if (!this.CurrentSchema['_osConfig']['attestationPolicies'] || this.CurrentSchema['_osConfig']['attestationPolicies'].length == 0) {
+ if (!this.executed) {
this.addWorkflowItems();
this.addNewAttestCondition(0);
this.addFieldCondition(0, 0);
+ this.executed = true;
+ }
}
if (this.CurrentSchema['_osConfig']['attestationPolicies'] && this.CurrentSchema['_osConfig']['attestationPolicies'].length > 0) {
this.CurrentSchema['_osConfig']['attestationPolicies'].forEach((policy, index) => {
+ if (!this.executed) {
+ if (index === 0) {
+ this.addWorkflowItems();
+ this.addNewAttestCondition(0);
+ this.addFieldCondition(0, 0);
+ this.executed = true;
+ }
+ }else{
+ if (index === 0) {
+ return;
+ }
this.addWorkflowItems();
this.addNewAttestCondition(index);
this.addFieldCondition(index, 0);
+ }
});
}
}
}
-
}
async readAttestationPolicy() {
- for (let i = 0; i < this.fullSchemas.length; i++) {
- if (this.entityName == this.fullSchemas[i].name) {
- if (typeof (this.fullSchemas[i].schema) == 'string') {
- this.fullSchemas[i].schema = JSON.parse(this.fullSchemas[i].schema);
+ this.generalService.getData("/Schema").subscribe((res) => {
+ for (let i = 0; i < res.length; i++) {
+ if (this.entityName == res[i].name) {
+ if (typeof (res[i].schema) == 'string') {
+ res[i].schema = JSON.parse(res[i].schema);
}
- if (this.fullSchemas[i].schema['_osConfig']['attestationPolicies']) {
- if (!this.fullSchemas[i].schema['isRefSchema'] && this.fullSchemas[i].schema['_osConfig']['attestationPolicies'] && this.fullSchemas[i].schema['_osConfig']['attestationPolicies'].length > 0) {
- let attestationPolicies = this.fullSchemas[i].schema['_osConfig']['attestationPolicies'];
+ if (res[i].schema['_osConfig']['attestationPolicies']) {
+ if (!res[i].schema['isRefSchema'] && res[i].schema['_osConfig']['attestationPolicies'] && res[i].schema['_osConfig']['attestationPolicies'].length > 0) {
+ let attestationPolicies = res[i].schema['_osConfig']['attestationPolicies'];
for (let l = 0; l < attestationPolicies.length; l++) {
this.workflow = this.workflowForm.value.workflowItems[l];
let pIndex = l;
@@ -293,6 +315,7 @@ export class ConfigWorkflowComponent implements OnInit {
}
}
}
+ });
}
setHigherOderAttestorProp(wIndex, aIndex, key, property) {
@@ -404,6 +427,7 @@ export class ConfigWorkflowComponent implements OnInit {
ngOnChanges(changes: SimpleChanges): void {
+ this.executed = false;
const latestRequest = changes['usecaseSchema'];
if (latestRequest.currentValue) {
this.entityName = latestRequest.currentValue;
@@ -953,11 +977,12 @@ export class ConfigWorkflowComponent implements OnInit {
let setAttestationProperties = {}
let setAdditionalInput = submittedWorkflowData[i].additionalInput; // additional Input field of the workflow
- let additionalInputKeys = Object.keys(setAdditionalInput);
-
+ if(setAdditionalInput != undefined){
+ var additionalInputKeys = Object.keys(setAdditionalInput);
+ }
// Loop to change the attestationProperties to the desired format according to the schema
for (let j = 0; j < submittedWorkflowData[i].attestationProperties?.length; j++) {
- if (!additionalInputKeys.includes(submittedWorkflowData[i].attestationProperties[j])) {
+ if (additionalInputKeys && !additionalInputKeys.includes(submittedWorkflowData[i].attestationProperties[j])) {
let entityProperty = submittedWorkflowData[i].attestationProperties[j];
let keys = entityProperty.split(".");