From 81f17861e0c6ee67444471214ad2b39995e00103 Mon Sep 17 00:00:00 2001 From: dcore94 Date: Wed, 22 Jul 2020 15:24:39 +0200 Subject: [PATCH] update group_deleted workflow to remove also keycloak group --- resources/workflows/portal/group_deleted.json | 56 +++++++++++++++---- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/resources/workflows/portal/group_deleted.json b/resources/workflows/portal/group_deleted.json index 27c0a54..58b99f0 100644 --- a/resources/workflows/portal/group_deleted.json +++ b/resources/workflows/portal/group_deleted.json @@ -3,18 +3,19 @@ "name" : "group_deleted", "createBy" : "Marco Lettere", "description": "Handle workflow related to Portal event group_created", - "version" : 1, - "ownerEmail" : "marco.lettere@nubisware.com", + "version" : 2, + "ownerEmail" : "m.lettere@gmail.com", "inputParameters" : ["user", "group"], "tasks" : [ - { - "name": "LAMBDA_TASK", - "taskReferenceName": "init", - "type": "LAMBDA", - "inputParameters": { - "keycloak": "https://accounts.dev.d4science.org/auth/realms/d4science", - "keycloak_admin" : "https://accounts.dev.d4science.org/auth/admin/realms/d4science", - "scriptExpression" : "1" + { + "name": "LAMBDA_TASK", + "taskReferenceName": "init", + "type": "LAMBDA", + "inputParameters": { + "keycloak": "https://accounts.dev.d4science.org/auth/realms/d4science", + "keycloak_admin" : "https://accounts.dev.d4science.org/auth/admin/realms/d4science", + "group" : "${workflow.input.group}", + "scriptExpression" : "return $.group.split('%2F').join('/')" } }, { @@ -59,6 +60,41 @@ "Authorization" : "Bearer ${authorize.output.body.access_token}" } } + }, + { + "name" : "pyrest", + "taskReferenceName" : "list_kc_groups", + "type" : "SIMPLE", + "inputParameters" : { + "url" : "${init.input.keycloak_admin}/groups", + "method" : "GET", + "headers" : { + "Authorization" : "Bearer ${authorize.output.body.access_token}", + "Accept" : "application/json" + } + } + }, + { + "name": "LAMBDA_TASK", + "taskReferenceName": "find_group_by_path", + "type": "LAMBDA", + "inputParameters": { + "path" : "${init.output.result}", + "groups" : "${list_kc_groups.output.body}", + "scriptExpression": "function recurse(inp){for(var i=0;i