From fa7f517a4a2fd1baafa859fda283030c60b72179 Mon Sep 17 00:00:00 2001 From: dcore94 Date: Wed, 17 Feb 2021 18:08:52 +0100 Subject: [PATCH] fixed user selection --- templates/create-user-add-to-vre.json.j2 | 12 +++++++++++- templates/user-group-role_deleted.json.j2 | 14 ++++++++++++-- templates/user-group_created.json.j2 | 12 +++++++++++- templates/user-group_deleted.json.j2 | 14 ++++++++++++-- 4 files changed, 46 insertions(+), 6 deletions(-) diff --git a/templates/create-user-add-to-vre.json.j2 b/templates/create-user-add-to-vre.json.j2 index e78321b..3e79706 100644 --- a/templates/create-user-add-to-vre.json.j2 +++ b/templates/create-user-add-to-vre.json.j2 @@ -78,6 +78,16 @@ } } }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "select_user", + "inputParameters": { + "foundusers": "${lookup_user.output.body}", + "username": "${workflow.input.user}", + "scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}" + }, + "type": "LAMBDA" + }, { "name" : "pyrest", "taskReferenceName" : "lookup_client", @@ -153,7 +163,7 @@ "taskReferenceName" : "assign_user_to_group", "type" : "SIMPLE", "inputParameters" : { - "url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/groups/${extract_group.output.result.group.id}", + "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/groups/${extract_group.output.result.group.id}", "method" : "PUT", "headers" : { "Authorization" : "Bearer ${authorize.output.body.access_token}" diff --git a/templates/user-group-role_deleted.json.j2 b/templates/user-group-role_deleted.json.j2 index a08b9a6..d9bb963 100644 --- a/templates/user-group-role_deleted.json.j2 +++ b/templates/user-group-role_deleted.json.j2 @@ -47,11 +47,21 @@ } } }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "select_user", + "inputParameters": { + "foundusers": "${lookup_user.output.body}", + "username": "${workflow.input.user}", + "scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}" + }, + "type": "LAMBDA" + }, { "name": "check_user_existance", "taskReferenceName": "check_user_existance", "inputParameters": { - "user": "${lookup_user.output.body[0]}" + "user": "${select_user.output.result[0]}" }, "type": "DECISION", "caseExpression": "($.user == null ? 'true' : 'false')", @@ -110,7 +120,7 @@ "taskReferenceName" : "remove_role_from_user", "type" : "SIMPLE", "inputParameters" : { - "url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}", + "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}", "expect" : 204, "method" : "DELETE", "body" : "${select_role.output.result}", diff --git a/templates/user-group_created.json.j2 b/templates/user-group_created.json.j2 index 9cdd804..8c563ef 100644 --- a/templates/user-group_created.json.j2 +++ b/templates/user-group_created.json.j2 @@ -48,6 +48,16 @@ } } }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "select_user", + "inputParameters": { + "foundusers": "${lookup_user.output.body}", + "username": "${workflow.input.user}", + "scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}" + }, + "type": "LAMBDA" + }, { "name" : "pyrest", "taskReferenceName" : "lookup_client", @@ -123,7 +133,7 @@ "taskReferenceName" : "assign_user_to_group", "type" : "SIMPLE", "inputParameters" : { - "url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/groups/${extract_group.output.result.group.id}", + "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/groups/${extract_group.output.result.group.id}", "method" : "PUT", "headers" : { "Authorization" : "Bearer ${authorize.output.body.access_token}" diff --git a/templates/user-group_deleted.json.j2 b/templates/user-group_deleted.json.j2 index 58a4ff0..4b869b4 100644 --- a/templates/user-group_deleted.json.j2 +++ b/templates/user-group_deleted.json.j2 @@ -49,10 +49,20 @@ } }, { + "name": "LAMBDA_TASK", + "taskReferenceName": "select_user", + "inputParameters": { + "foundusers": "${lookup_user.output.body}", + "username": "${workflow.input.user}", + "scriptExpression": "for(var i=0; i < $.foundusers.length;i++){if($.foundusers[i]['username'] == $.username) return Java.to([$.foundusers[i]], 'java.lang.Object[]')}" + }, + "type": "LAMBDA" + }, + { "name": "check_user_existance", "taskReferenceName": "check_user_existance", "inputParameters": { - "user": "${lookup_user.output.body[0]}" + "user": "${select_user.output.result[0]}" }, "type": "DECISION", "caseExpression": "($.user == null ? 'true' : 'false')", @@ -101,7 +111,7 @@ "taskReferenceName" : "remove_all_roles_from_user", "type" : "SIMPLE", "inputParameters" : { - "url" : "${init.input.keycloak_admin}/users/${lookup_user.output.body[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}", + "url" : "${init.input.keycloak_admin}/users/${select_user.output.result[0].id}/role-mappings/clients/${lookup_client.output.body[0].id}", "expect" : 204, "method" : "DELETE", "body" : "${get_client_roles.body}",