diff --git a/code/org.gluu.agama.pw.main.flow b/code/org.gluu.agama.pw.main.flow index 74c3151..0db69ec 100644 --- a/code/org.gluu.agama.pw.main.flow +++ b/code/org.gluu.agama.pw.main.flow @@ -21,8 +21,8 @@ count = Repeat 6 times max // add entry in log file for successfull login attempt. Log "@info Valid credentials provided" // Password validation completed successfuly! - it_aqzhf = {success:true, data: { userId: credentials.username}} - Finish it_aqzhf + it_jhojb = {success:true, data: { userId: credentials.username}} + Finish it_jhojb // Invalid credentials provided. Log "@error Invalid credentials provided" When conf.ENABLE_LOCK is "true" @@ -39,5 +39,5 @@ count = Repeat 6 times max // The login flow will end here with failure. Log "@info The maximum login attempt has been reached!" // Maximum attempts reached. Password validation failed! -it_hhjoo = {success:false, error: "Password validation failed!"} -Finish it_hhjoo \ No newline at end of file +it_ihlsv = {success:false, error: "Password validation failed!"} +Finish it_ihlsv \ No newline at end of file diff --git a/code/org.gluu.agama.pw.main.json b/code/org.gluu.agama.pw.main.json index 7a58a44..3cc6c87 100644 --- a/code/org.gluu.agama.pw.main.json +++ b/code/org.gluu.agama.pw.main.json @@ -1,672 +1,292 @@ { "nodes": [ { - "width": 242, - "height": 30, - "id": "Agama-note-52cb694f-ea6a-4a6d-97ce-21aad3989f19", - "position": { - "x": 1704, - "y": 478 - }, - "type": "notes", - "data": { - "id": "Agama-note-52cb694f-ea6a-4a6d-97ce-21aad3989f19", - "type": "Agama-note", - "notes": "If user credentials is valid.", - "position": { - "x": 1704, - "y": 478 - }, - "skake": false - }, - "selected": false, - "positionAbsolute": { - "x": 1704, - "y": 478 - }, - "dragging": false - }, - { - "width": 270, - "height": 42, - "id": "Agama-note-59f03bb4-17eb-4c85-9db9-ddbe205ea831", - "position": { - "x": 2125.35, - "y": 483 - }, - "type": "notes", "data": { - "id": "Agama-note-59f03bb4-17eb-4c85-9db9-ddbe205ea831", - "type": "Agama-note", - "notes": "If the ACCOUNT_LOCK feature is enable.", - "position": { - "x": 2125.35, - "y": 483 + "agamaData": { + "isTopLevelFlow": true, + "basepath": "", + "configParams": "{}", + "creationDate": "29/11/2024", + "nodeIcon": "material-symbols:line-start-square", + "timeout": "500", + "inputs": "", + "configs": "conf", + "flowname": "org.gluu.agama.pw.main", + "displayName": "Password Validation Flow", + "hasComment": true, + "comment": "" }, - "skake": false - }, - "selected": true, - "positionAbsolute": { - "x": 2125.35, - "y": 483 - }, - "dragging": false - }, - { - "width": 270, - "height": 55, - "id": "Agama-note-c2063b09-73ce-47c8-a8b0-fefa6b462ba5", - "position": { - "x": 2446.0625, - "y": 493 - }, - "type": "notes", - "data": { - "id": "Agama-note-c2063b09-73ce-47c8-a8b0-fefa6b462ba5", - "type": "Agama-note", - "notes": "Lock user account. The user account will be lock if the maximum login attempt is reach.", + "id": "startNode-5bd68e7f-8d08-4a99-9d73-c1f8d12dfa36", + "type": "startNode", "position": { - "x": 2446.0625, - "y": 493 - }, - "skake": false - }, - "selected": false, - "positionAbsolute": { - "x": 2446.0625, - "y": 493 + "x": 50, + "y": 200 + } }, - "dragging": false - }, - { - "width": 270, - "height": 55, - "id": "Agama-note-16024c83-78d0-48e4-a242-8bb00f45bbde", + "type": "startNode", + "id": "startNode-5bd68e7f-8d08-4a99-9d73-c1f8d12dfa36", "position": { - "x": 1279, - "y": 226 - }, - "type": "notes", - "data": { - "id": "Agama-note-16024c83-78d0-48e4-a242-8bb00f45bbde", - "type": "Agama-note", - "notes": "IDP validate the user credentials and send back the result.", - "position": { - "x": 1279, - "y": 226 - }, - "skake": false - }, - "selected": false, - "positionAbsolute": { - "x": 1279, - "y": 226 + "x": 50, + "y": 200 }, - "dragging": false + "measured": { + "width": 170, + "height": 124 + } }, { - "width": 270, - "height": 55, - "id": "Agama-note-aed97be1-3b9a-45eb-b2ce-a1407cd929f7", - "position": { - "x": 846, - "y": 204 - }, - "type": "notes", "data": { - "id": "Agama-note-aed97be1-3b9a-45eb-b2ce-a1407cd929f7", - "type": "Agama-note", - "notes": "Show login form to the UI to collect his username and password for validation.", - "position": { - "x": 846, - "y": 204 + "agamaData": { + "nodeIcon": "octicon:log-16", + "displayName": "Log flow start", + "hasComment": true, + "comment": "", + "logMessage": "\"Start execution of the password validation flow.\"", + "logLevel": "info" }, - "skake": false - }, - "selected": false, - "positionAbsolute": { - "x": 846, - "y": 204 - }, - "dragging": false - }, - { - "width": 270, - "height": 81, - "id": "Agama-note-33568e0d-0894-4f99-b404-e204102ce936", - "position": { - "x": 1242.0000000000002, - "y": -38 - }, - "type": "notes", - "data": { - "id": "Agama-note-33568e0d-0894-4f99-b404-e204102ce936", - "type": "Agama-note", - "notes": "The maximum number of attempts has been reached.\nIf account lock feature is enable, the user account will be lock for few minutes.", + "id": "logNode-ca2177f4-09a0-4243-9999-3fa5025e7550", + "type": "logNode", "position": { - "x": 1242.0000000000002, - "y": -38 + "x": 300, + "y": 200 }, - "skake": false + "previousNodeId": "startNode-5bd68e7f-8d08-4a99-9d73-c1f8d12dfa36" }, - "selected": false, - "positionAbsolute": { - "x": 1242.0000000000002, - "y": -38 - }, - "dragging": false - }, - { - "width": 270, - "height": 68, - "id": "Agama-note-84d98dbd-7f8e-4b09-9fe0-3ae284f603ed", + "type": "logNode", + "id": "logNode-ca2177f4-09a0-4243-9999-3fa5025e7550", "position": { - "x": -10, - "y": -40 - }, - "type": "notes", - "data": { - "id": "Agama-note-84d98dbd-7f8e-4b09-9fe0-3ae284f603ed", - "type": "Agama-note", - "notes": "The Password validation flow start here. The flow timeout can be tuned as well flow configurations.", - "position": { - "x": -10, - "y": -40 - }, - "skake": false + "x": 300, + "y": 200 }, - "selected": false, - "positionAbsolute": { - "x": -10, - "y": -40 - }, - "dragging": false + "measured": { + "width": 170, + "height": 124 + } }, { - "width": 170, - "height": 124, - "id": "Agama-assignment-Node-c9e69f4f-25d7-4a0f-a772-baaf866e04b6", - "position": { - "x": 2628, - "y": 286 - }, - "type": "assignment", "data": { - "id": "Agama-assignment-Node-c9e69f4f-25d7-4a0f-a772-baaf866e04b6", - "type": "Agama-assignment-Node", - "parentId": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 2628, - "y": 286 - }, "agamaData": { - "id": "Agama-assignment-Node-c9e69f4f-25d7-4a0f-a772-baaf866e04b6", - "parentId": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f", - "type": "Agama-assignment-Node", - "displayName": "Provide UI feedback", + "nodeIcon": "material-symbols:equal", + "displayName": "Declare variables", "hasComment": true, - "comment": "", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, + "comment": " Create json variable for UI feedback.", "assignments": [ - { - "variableTypeCheck": true, - "assignmentExpression": "Invalid credentials. Please try again!", - "assignedVariableName": "uiFeedback.errorMessage" - }, { "variableTypeCheck": false, - "assignmentExpression": "credentials.username", - "assignedVariableName": "uiFeedback.uid" + "assignmentExpression": "{}", + "assignedVariableName": "uiFeedback" } - ], - "nodeIcon": "material-symbols:equal" + ] }, - "skake": false - }, - "positionAbsolute": { - "x": 2628, - "y": 286 - }, - "selected": false, - "dragging": false - }, - { - "width": 170, - "height": 124, - "id": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f", - "position": { - "x": 2426, - "y": 286 - }, - "type": "log", - "data": { - "id": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f", - "type": "Agama-log-Node", - "parentId": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, + "id": "assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6", + "type": "assignmentNode", "position": { - "x": 2426, - "y": 286 + "x": 550, + "y": 200 }, - "agamaData": { - "id": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f", - "parentId": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "type": "Agama-log-Node", - "displayName": "Failed login attempt", - "hasComment": true, - "comment": "Maximum attempts reached. Password validation failed!", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"Maximum attempts reached. Password validation failed.\"", - "logLevel": "info", - "nodeIcon": "octicon:log-16" - }, - "skake": false + "previousNodeId": "logNode-ca2177f4-09a0-4243-9999-3fa5025e7550" + }, + "type": "assignmentNode", + "id": "assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6", + "position": { + "x": 550, + "y": 200 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 2426, - "y": 286 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e", - "position": { - "x": 2510, - "y": 561 - }, - "type": "call", "data": { - "id": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e", - "type": "Agama-call-Node", - "parentId": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 2510, - "y": 561 - }, "agamaData": { - "id": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e", - "parentId": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95", - "type": "Agama-call-Node", - "displayName": "Lock user account", + "nodeIcon": "material-symbols:code", + "displayName": "Service initialization", "hasComment": true, - "comment": "Lock user account if needed or unlock if the expiration time is over.", - "javaClassName": "", - "javaMethodName": "lockAccount", - "javaVariableName": "validationService", + "comment": "Get an instance of PasswordService Class.", + "javaClassName": "org.gluu.agama.pw.PasswordService", + "javaMethodName": "getInstance", + "javaVariableName": "", "exceptionVariableField": "", - "callType": "Call method on instance", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, + "callType": "Call static method", "arguments": [ - "credentials.username" + "conf" ], - "nodeIcon": "material-symbols:code", - "asssignedVariableName": "lockResult" + "asssignedVariableName": "validationService" + }, + "id": "callNode-cab61f52-ed13-4e39-be57-789182a0a046", + "type": "callNode", + "position": { + "x": 800, + "y": 200 }, - "skake": false + "previousNodeId": "assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6" }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 2510, - "y": 561 + "type": "callNode", + "id": "callNode-cab61f52-ed13-4e39-be57-789182a0a046", + "position": { + "x": 800, + "y": 200 + }, + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95", - "position": { - "x": 2311, - "y": 561 - }, - "type": "log", "data": { - "id": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95", - "type": "Agama-log-Node", - "parentId": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "whenCondition": "WhenTrue", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 2311, - "y": 561 - }, "agamaData": { - "id": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95", - "parentId": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "type": "Agama-log-Node", - "displayName": "Log account lock", + "nodeIcon": "material-symbols:event-repeat-outline-rounded", + "displayName": "Validation Loop", "hasComment": true, - "comment": "Account lock feature is active.", - "whenCondition": "WhenTrue", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"Start account lock process\"", - "logLevel": "info", - "nodeIcon": "octicon:log-16" + "comment": "Iterate x times max", + "maxIteration": "6", + "maxIterationVariableName": "count" }, - "skake": false - }, - "selected": false, - "positionAbsolute": { - "x": 2311, - "y": 561 + "id": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", + "type": "repeatNode", + "position": { + "x": 1050, + "y": 200 + }, + "previousNodeId": "callNode-cab61f52-ed13-4e39-be57-789182a0a046" }, - "dragging": false - }, - { - "width": 210, - "height": 140, - "id": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", + "type": "repeatNode", + "id": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", "position": { - "x": 2186, - "y": 343 + "x": 1050, + "y": 200 }, - "parentId": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "type": "when", - "data": { - "id": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "type": "Agama-when-Node", - "parentId": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 2186, - "y": 343 - }, - "agamaData": { - "id": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "parentId": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "type": "Agama-when-Node", - "conditions": [ - { - "variable": "conf.ENABLE_LOCK", - "operator": "is", - "dataValue": "\"true\"", - "combinator": "none" - } - ], - "hasComment": true, - "inRepeatBlock": false - }, - "handles": [ - "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a.FAILURE", - "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a.SUCCESS" - ], - "skake": false - }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 2186, - "y": 343 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "finish-b239fc56-a697-4be0-b292-de282ffc1073", - "position": { - "x": 2037, - "y": 571 - }, - "type": "finish", "data": { - "id": "finish-b239fc56-a697-4be0-b292-de282ffc1073", - "type": "Agama-finish-Flow", - "parentId": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "handles": [], - "position": { - "x": 2037, - "y": 571 - }, "agamaData": { - "id": "finish-b239fc56-a697-4be0-b292-de282ffc1073", - "parentId": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4", - "type": "Agama-finish-Flow", - "hasSuccess": false, - "hasFailure": false, + "nodeIcon": "octicon:log-16", + "displayName": "Log max attempt reached", "hasComment": true, - "comment": "Password validation completed successfuly!", - "flowfilename": "", - "returnVariable": "{ userId: credentials.username}", - "finishMode": "withSuccess", - "nodeIcon": "material-symbols:line-end-square-rounded", - "displayName": "Flow completed" + "comment": "The login flow will end here with failure.", + "logMessage": "\"The maximum login attempt has been reached!\"", + "logLevel": "info" + }, + "id": "logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371", + "type": "logNode", + "position": { + "x": 1300, + "y": 200 }, - "skake": false + "previousNodeId": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", + "branching": "continue" + }, + "type": "logNode", + "id": "logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371", + "position": { + "x": 1300, + "y": 200 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 2037, - "y": 571 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "position": { - "x": 1974, - "y": 287 - }, - "type": "log", "data": { - "id": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "type": "Agama-log-Node", - "parentId": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 1974, - "y": 287 - }, "agamaData": { - "id": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "parentId": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "type": "Agama-log-Node", - "displayName": "Log failed login attempt", + "nodeIcon": "material-symbols:line-end-square-rounded", + "displayName": "Password validation failed!", "hasComment": true, - "comment": "Invalid credentials provided.", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"Invalid credentials provided\"", - "logLevel": "error", - "nodeIcon": "octicon:log-16" + "comment": "Maximum attempts reached. Password validation failed!", + "returnVariable": "Password validation failed!", + "finishMode": "withFailure" }, - "skake": false + "id": "finishNode-f8198003-02a9-4361-9493-e29b4f1bbf13", + "type": "finishNode", + "position": { + "x": 1550, + "y": 200 + }, + "previousNodeId": "logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371" }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1974, - "y": 287 + "type": "finishNode", + "id": "finishNode-f8198003-02a9-4361-9493-e29b4f1bbf13", + "position": { + "x": 1550, + "y": 200 + }, + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4", - "position": { - "x": 1837, - "y": 571 - }, - "type": "log", "data": { - "id": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4", - "type": "Agama-log-Node", - "parentId": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "whenCondition": "WhenTrue", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 1837, - "y": 571 - }, "agamaData": { - "id": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4", - "parentId": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "type": "Agama-log-Node", - "displayName": "Log successfully validation", + "nodeIcon": "ph:globe-simple", + "displayName": "Retrieve user credentials", "hasComment": true, - "comment": "add entry in log file for successfull login attempt.", - "whenCondition": "WhenTrue", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"Valid credentials provided\"", - "logLevel": "info", - "nodeIcon": "octicon:log-16" + "comment": "Retrieve user credentials from UI.", + "arguments": [ + "uiFeedback" + ], + "templatePath": "login-basic.ftlh", + "asssignedVariableName": "credentials" + }, + "id": "rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe", + "type": "rrfNode", + "position": { + "x": 1300, + "y": 450 }, - "skake": false + "previousNodeId": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", + "branching": "repeat" }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1837, - "y": 571 - } - }, - { - "width": 210, - "height": 140, - "id": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", + "type": "rrfNode", + "id": "rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe", "position": { - "x": 1724, - "y": 341 + "x": 1300, + "y": 450 }, - "parentId": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "type": "when", - "data": { - "id": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "type": "Agama-when-Node", - "parentId": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 1724, - "y": 341 - }, - "agamaData": { - "id": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "parentId": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "type": "Agama-when-Node", - "conditions": [ - { - "variable": "uiFeedback.succeed", - "operator": "is", - "dataValue": "true", - "combinator": "none" - } - ], - "hasComment": true, - "inRepeatBlock": false, - "comment": "If user credentials is valid, the flow end successfully." - }, - "handles": [ - "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb.FAILURE", - "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb.SUCCESS" - ], - "skake": false - }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1724, - "y": 341 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "position": { - "x": 1524, - "y": 287 - }, - "type": "log", "data": { - "id": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "type": "Agama-log-Node", - "parentId": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 1524, - "y": 287 - }, "agamaData": { - "id": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "parentId": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db", - "type": "Agama-log-Node", - "displayName": "Log validation done", + "nodeIcon": "octicon:log-16", + "displayName": "Log credentials collected", "hasComment": true, - "comment": "", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"Validation done\"", - "logLevel": "info", - "nodeIcon": "octicon:log-16" + "comment": "Log the successfull used credentials retrieval.", + "logMessage": "\"User credentials collected successfully!\"", + "logLevel": "info" }, - "skake": false + "id": "logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e", + "type": "logNode", + "position": { + "x": 1550, + "y": 450 + }, + "previousNodeId": "rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe" + }, + "type": "logNode", + "id": "logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e", + "position": { + "x": 1550, + "y": 450 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1524, - "y": 287 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db", - "position": { - "x": 1324, - "y": 287 - }, - "type": "call", "data": { - "id": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db", - "type": "Agama-call-Node", - "parentId": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 1324, - "y": 287 - }, "agamaData": { - "id": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db", - "parentId": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b", - "type": "Agama-call-Node", + "nodeIcon": "material-symbols:code", "displayName": "Validate credentials", "hasComment": true, "comment": "Validate provided user credentials.", @@ -675,1005 +295,817 @@ "javaVariableName": "validationService", "exceptionVariableField": "", "callType": "Call method on instance", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, "arguments": [ "credentials.username", "credentials.password" ], - "nodeIcon": "material-symbols:code", "asssignedVariableName": "uiFeedback.succeed" }, - "skake": false + "id": "callNode-570c4949-af38-4c18-a383-a5b860a319f8", + "type": "callNode", + "position": { + "x": 1800, + "y": 450 + }, + "previousNodeId": "logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e" + }, + "type": "callNode", + "id": "callNode-570c4949-af38-4c18-a383-a5b860a319f8", + "position": { + "x": 1800, + "y": 450 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1324, - "y": 287 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "finish-cdbff5dc-ceca-4c85-a425-cda9f01fb674", - "position": { - "x": 1276, - "y": 58 - }, - "type": "finish", "data": { - "id": "finish-cdbff5dc-ceca-4c85-a425-cda9f01fb674", - "type": "Agama-finish-Flow", - "parentId": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "handles": [], - "position": { - "x": 1276, - "y": 58 - }, "agamaData": { - "id": "finish-cdbff5dc-ceca-4c85-a425-cda9f01fb674", - "parentId": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db", - "type": "Agama-finish-Flow", - "hasSuccess": false, - "hasFailure": false, + "nodeIcon": "octicon:log-16", + "displayName": "Log validation done", "hasComment": true, - "comment": "Maximum attempts reached. Password validation failed!", - "flowfilename": "", - "returnVariable": "Password validation failed!", - "finishMode": "withFailure", - "nodeIcon": "material-symbols:line-end-square-rounded", - "displayName": "Password validation failed!" + "comment": "", + "logMessage": "\"Validation done\"", + "logLevel": "info" + }, + "id": "logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa", + "type": "logNode", + "position": { + "x": 2050, + "y": 450 }, - "skake": false + "previousNodeId": "callNode-570c4949-af38-4c18-a383-a5b860a319f8" + }, + "type": "logNode", + "id": "logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa", + "position": { + "x": 2050, + "y": 450 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1276, - "y": 58 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db", - "position": { - "x": 1076, - "y": 58 - }, - "type": "log", "data": { - "id": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db", - "type": "Agama-log-Node", - "parentId": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 1076, - "y": 58 - }, "agamaData": { - "id": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db", - "parentId": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "type": "Agama-log-Node", - "displayName": "Log max attempt reached", "hasComment": true, - "comment": "The login flow will end here with failure.", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"The maximum login attempt has been reached!\"", - "logLevel": "info", - "nodeIcon": "octicon:log-16", - "hasSuccess": "", - "hasFailure": "", - "hasNoRepeat": false, - "hasRepeat": false + "comment": "If user credentials is valid, the flow end successfully.", + "conditions": [ + { + "variable": "uiFeedback.succeed", + "operator": "is", + "dataValue": "true", + "combinator": "none" + } + ] + }, + "id": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", + "type": "whenNode", + "position": { + "x": 2300, + "y": 450 }, - "skake": false + "previousNodeId": "logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa" + }, + "type": "whenNode", + "id": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", + "position": { + "x": 2300, + "y": 450 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1076, - "y": 58 + "measured": { + "width": 110, + "height": 60 } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b", - "position": { - "x": 1124, - "y": 287 - }, - "type": "log", "data": { - "id": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b", - "type": "Agama-log-Node", - "parentId": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 1124, - "y": 287 - }, "agamaData": { - "id": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b", - "parentId": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea", - "type": "Agama-log-Node", - "displayName": "Log credentials collected", + "nodeIcon": "octicon:log-16", + "displayName": "Log failed login attempt", "hasComment": true, - "comment": "Log the successfull used credentials retrieval.", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"User credentials collected successfully!\"", - "logLevel": "info", - "nodeIcon": "octicon:log-16" + "comment": "Invalid credentials provided.", + "logMessage": "\"Invalid credentials provided\"", + "logLevel": "error" + }, + "id": "logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23", + "type": "logNode", + "position": { + "x": 2550, + "y": 450 }, - "skake": false + "previousNodeId": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", + "branching": "continue" + }, + "type": "logNode", + "id": "logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23", + "position": { + "x": 2550, + "y": 450 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 1124, - "y": 287 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea", - "position": { - "x": 924, - "y": 287 - }, - "type": "rrf", "data": { - "id": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea", - "type": "Agama-rrf-Node", - "parentId": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "whenCondition": "WhenFalse", - "inRepeatBlock": true, - "inIterateBlock": false, - "position": { - "x": 924, - "y": 287 - }, "agamaData": { - "id": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea", - "parentId": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "type": "Agama-rrf-Node", - "displayName": "Retrieve user credentials", "hasComment": true, - "comment": "Retrieve user credentials from UI.", - "whenCondition": "WhenFalse", - "inRepeatBlock": true, - "inIterateBlock": false, - "assignments": [], - "nodeIcon": "ph:globe-simple", - "templatePath": "login-basic.ftlh", - "asssignedVariableName": "credentials", - "arguments": [ - "uiFeedback" + "conditions": [ + { + "variable": "conf.ENABLE_LOCK", + "operator": "is", + "dataValue": "\"true\"", + "combinator": "none" + } ] }, - "skake": false - }, - "selected": false, - "positionAbsolute": { - "x": 924, - "y": 287 - }, - "dragging": false - }, - { - "width": 170, - "height": 124, - "id": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "position": { - "x": 826, - "y": 58 - }, - "type": "repeat", - "data": { - "id": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "type": "Agama-repeat-Node", - "parentId": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "handles": [ - "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75.InFlow", - "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75.InRepeatBlock" - ], + "id": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", + "type": "whenNode", "position": { - "x": 826, - "y": 58 - }, - "agamaData": { - "id": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "parentId": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f", - "type": "Agama-repeat-Node", - "nodeIcon": "material-symbols:event-repeat-outline-rounded", - "maxIteration": "6", - "maxIterationVariableName": "count", - "displayName": "Validation Loop", - "comment": "Iterate x times max", - "hasComment": true + "x": 2800, + "y": 450 }, - "skake": false + "previousNodeId": "logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23" }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 826, - "y": 58 - } - }, - { - "width": 170, - "height": 124, - "id": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f", + "type": "whenNode", + "id": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", "position": { - "x": 626, - "y": 58 + "x": 2800, + "y": 450 }, - "type": "call", + "measured": { + "width": 110, + "height": 60 + } + }, + { "data": { - "id": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f", - "type": "Agama-call-Node", - "parentId": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 626, - "y": 58 - }, "agamaData": { - "id": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f", - "parentId": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d", - "type": "Agama-call-Node", - "displayName": "Service initialization", + "nodeIcon": "octicon:log-16", + "displayName": "Failed login attempt", "hasComment": true, - "comment": "Get an instance of PasswordService Class.", - "javaClassName": "org.gluu.agama.pw.PasswordService", - "javaMethodName": "getInstance", - "javaVariableName": "", - "exceptionVariableField": "", - "callType": "Call static method", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "arguments": [ - "conf" - ], - "nodeIcon": "material-symbols:code", - "asssignedVariableName": "validationService" + "comment": "Maximum attempts reached. Password validation failed!", + "logMessage": "\"Maximum attempts reached. Password validation failed.\"", + "logLevel": "info" + }, + "id": "logNode-0642d411-b13a-4bff-a71d-93395593f99d", + "type": "logNode", + "position": { + "x": 3050, + "y": 450 }, - "skake": false + "previousNodeId": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", + "branching": "continue" + }, + "type": "logNode", + "id": "logNode-0642d411-b13a-4bff-a71d-93395593f99d", + "position": { + "x": 3050, + "y": 450 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 626, - "y": 58 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d", - "position": { - "x": 426, - "y": 58 - }, - "type": "assignment", "data": { - "id": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d", - "type": "Agama-assignment-Node", - "parentId": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 426, - "y": 58 - }, "agamaData": { - "id": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d", - "parentId": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34", - "type": "Agama-assignment-Node", - "displayName": "Declare variables", + "nodeIcon": "material-symbols:equal", + "displayName": "Provide UI feedback", "hasComment": true, - "comment": " Create json variable for UI feedback.", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, + "comment": "", "assignments": [ + { + "variableTypeCheck": true, + "assignmentExpression": "Invalid credentials. Please try again!", + "assignedVariableName": "uiFeedback.errorMessage" + }, { "variableTypeCheck": false, - "assignmentExpression": "{}", - "assignedVariableName": "uiFeedback" + "assignmentExpression": "credentials.username", + "assignedVariableName": "uiFeedback.uid" } - ], - "nodeIcon": "material-symbols:equal" + ] + }, + "id": "assignmentNode-ebb5ff1b-ebad-45e3-9a73-51a2eecdad62", + "type": "assignmentNode", + "position": { + "x": 3300, + "y": 450 }, - "skake": false + "previousNodeId": "logNode-0642d411-b13a-4bff-a71d-93395593f99d" + }, + "type": "assignmentNode", + "id": "assignmentNode-ebb5ff1b-ebad-45e3-9a73-51a2eecdad62", + "position": { + "x": 3300, + "y": 450 }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 426, - "y": 58 + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34", - "position": { - "x": 226, - "y": 58 - }, - "type": "log", "data": { - "id": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34", - "type": "Agama-log-Node", - "parentId": "Agama-start-Flow-4d4e99be-60ff-474e-abd8-f058c1da7af4", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 226, - "y": 58 - }, "agamaData": { - "id": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34", - "parentId": "Agama-start-Flow-4d4e99be-60ff-474e-abd8-f058c1da7af4", - "type": "Agama-log-Node", - "displayName": "Log flow start", + "nodeIcon": "octicon:log-16", + "displayName": "Log account lock", "hasComment": true, - "comment": "", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "logMessage": "\"Start execution of the password validation flow.\"", - "logLevel": "info", - "nodeIcon": "octicon:log-16" + "comment": "Account lock feature is active.", + "logMessage": "\"Start account lock process\"", + "logLevel": "info" + }, + "id": "logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661", + "type": "logNode", + "position": { + "x": 3050, + "y": 700 }, - "skake": false + "previousNodeId": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", + "branching": "success" }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 226, - "y": 58 + "type": "logNode", + "id": "logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661", + "position": { + "x": 3050, + "y": 700 + }, + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-start-Flow-4d4e99be-60ff-474e-abd8-f058c1da7af4", - "type": "start", - "sourcePosition": "right", "data": { - "id": "Agama-start-Flow-4d4e99be-60ff-474e-abd8-f058c1da7af4", - "type": "Agama-start-Flow", - "position": { - "x": 26, - "y": 58 - }, - "inRepeatBlock": false, "agamaData": { - "id": "Agama-start-Flow-4d4e99be-60ff-474e-abd8-f058c1da7af4", - "type": "Agama-start-Flow", - "displayName": "Password Validation Flow", + "nodeIcon": "material-symbols:code", + "displayName": "Lock user account", "hasComment": true, - "comment": "", - "isTopLevelFlow": true, - "basepath": "", - "configParams": "{}", - "nodeIcon": "material-symbols:line-start-square", - "timeout": "500", - "inputs": "", - "configs": "conf", - "flowname": "org.gluu.agama.pw.main" + "comment": "Lock user account if needed or unlock if the expiration time is over.", + "javaClassName": "", + "javaMethodName": "lockAccount", + "javaVariableName": "validationService", + "exceptionVariableField": "", + "callType": "Call method on instance", + "arguments": [ + "credentials.username" + ], + "asssignedVariableName": "lockResult" + }, + "id": "callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9", + "type": "callNode", + "position": { + "x": 3300, + "y": 700 }, - "skake": false + "previousNodeId": "logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661" }, + "type": "callNode", + "id": "callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9", "position": { - "x": 26, - "y": 58 - }, - "selected": false, - "positionAbsolute": { - "x": 26, - "y": 58 + "x": 3300, + "y": 700 }, - "dragging": false + "measured": { + "width": 170, + "height": 124 + } }, { - "width": 170, - "height": 124, - "id": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "position": { - "x": 2704, - "y": 561 - }, - "type": "log", "data": { - "id": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "type": "Agama-log-Node", - "parentId": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, - "position": { - "x": 2704, - "y": 561 - }, "agamaData": { - "id": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "parentId": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e", - "type": "Agama-log-Node", + "nodeIcon": "octicon:log-16", "displayName": "Log account lock result", "hasComment": true, "comment": "", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, "logMessage": "\"Account lock result\" lockResult", - "logLevel": "info", - "nodeIcon": "octicon:log-16" + "logLevel": "info" + }, + "id": "logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad", + "type": "logNode", + "position": { + "x": 3550, + "y": 700 }, - "skake": false + "previousNodeId": "callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9" }, - "selected": false, - "dragging": false, - "positionAbsolute": { - "x": 2704, - "y": 561 + "type": "logNode", + "id": "logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad", + "position": { + "x": 3550, + "y": 700 + }, + "measured": { + "width": 170, + "height": 124 } }, { - "width": 170, - "height": 124, - "id": "Agama-assignment-Node-2e9154a0-3848-4aba-923f-813c2de10714", - "position": { - "x": 2903, - "y": 561 - }, - "type": "assignment", "data": { - "id": "Agama-assignment-Node-2e9154a0-3848-4aba-923f-813c2de10714", - "type": "Agama-assignment-Node", - "parentId": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "whenCondition": "", - "inRepeatBlock": "", - "inIterateBlock": "", - "position": { - "x": 2903, - "y": 561 - }, "agamaData": { - "id": "Agama-assignment-Node-2e9154a0-3848-4aba-923f-813c2de10714", - "parentId": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "type": "Agama-assignment-Node", + "nodeIcon": "material-symbols:equal", "displayName": "Provide UI feedback", "hasComment": true, "comment": "", - "whenCondition": "WhenFalse", - "inRepeatBlock": false, - "inIterateBlock": false, "assignments": [ { "variableTypeCheck": false, "assignmentExpression": "lockResult", "assignedVariableName": "uiFeedback.lockMessage" } - ], - "nodeIcon": "material-symbols:equal", - "position": { - "x": 2836 - } + ] }, - "skake": false - }, - "positionAbsolute": { - "x": 2903, - "y": 561 - }, - "selected": false, - "dragging": false, - "parentId": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "whenCondition": "", - "inRepeatBlock": "", - "inIterateBlock": "" - } - ], - "edges": [ - { - "id": "Agama-start-Flow-4d4e99be-60ff-474e-abd8-f058c1da7af4-Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34-f17c8532-e168-4a92-849c-48121f4bf9dc", - "type": "straight", - "source": "Agama-start-Flow-4d4e99be-60ff-474e-abd8-f058c1da7af4", - "target": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34", - "label": "", - "labelBgPadding": [ - 8, - 4 - ], - "labelBgBorderRadius": 4, - "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", - "fillOpacity": 0.7 + "id": "assignmentNode-6f2b13e8-cadc-4004-87a4-c1636d060c27", + "type": "assignmentNode", + "position": { + "x": 3800, + "y": 700 + }, + "previousNodeId": "logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad" + }, + "type": "assignmentNode", + "id": "assignmentNode-6f2b13e8-cadc-4004-87a4-c1636d060c27", + "position": { + "x": 3800, + "y": 700 + }, + "measured": { + "width": 170, + "height": 124 } }, { - "id": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34-Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d-ebd8e416-520f-48c2-8630-fcf6a4dbf26e", - "type": "straight", - "source": "Agama-log-Node-d60b1625-cf8f-4d4e-bea4-53cb97c8ed34", - "target": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d", - "label": "", - "labelBgPadding": [ - 8, - 4 - ], - "labelBgBorderRadius": 4, - "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", - "fillOpacity": 0.7 + "data": { + "agamaData": { + "nodeIcon": "octicon:log-16", + "displayName": "Log successfully validation", + "hasComment": true, + "comment": "add entry in log file for successfull login attempt.", + "logMessage": "\"Valid credentials provided\"", + "logLevel": "info" + }, + "id": "logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131", + "type": "logNode", + "position": { + "x": 2550, + "y": 700 + }, + "previousNodeId": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", + "branching": "success" + }, + "type": "logNode", + "id": "logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131", + "position": { + "x": 2550, + "y": 700 + }, + "measured": { + "width": 170, + "height": 124 } }, { - "id": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d-Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f-cdc03327-22f7-4c3e-a227-2772c73df278", - "type": "straight", - "source": "Agama-assignment-Node-8238ebff-772a-4150-9141-72a4b1177f1d", - "target": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f", - "label": "", - "labelBgPadding": [ - 8, - 4 - ], - "labelBgBorderRadius": 4, - "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", - "fillOpacity": 0.7 + "data": { + "agamaData": { + "nodeIcon": "material-symbols:line-end-square-rounded", + "displayName": "Flow completed", + "hasComment": true, + "comment": "Password validation completed successfuly!", + "returnVariable": "{ userId: credentials.username}", + "finishMode": "withSuccess" + }, + "id": "finishNode-91a948c1-0158-49cd-9051-fac022e1f04b", + "type": "finishNode", + "position": { + "x": 2800, + "y": 700 + }, + "previousNodeId": "logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131" + }, + "type": "finishNode", + "id": "finishNode-91a948c1-0158-49cd-9051-fac022e1f04b", + "position": { + "x": 2800, + "y": 700 + }, + "measured": { + "width": 170, + "height": 124 } - }, + } + ], + "edges": [ { - "id": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f-Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75-0be28bd6-1a54-4d5d-9b3d-4a92b9475dcb", - "type": "straight", - "source": "Agama-call-Node-a270a0a1-fe26-483e-9c63-d6d429df714f", - "target": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "label": "", + "id": "startNode-5bd68e7f-8d08-4a99-9d73-c1f8d12dfa36-logNode-ca2177f4-09a0-4243-9999-3fa5025e7550", + "type": "default", + "source": "startNode-5bd68e7f-8d08-4a99-9d73-c1f8d12dfa36", + "target": "logNode-ca2177f4-09a0-4243-9999-3fa5025e7550", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_startNode-5bd68e7f-8d08-4a99-9d73-c1f8d12dfa36" }, { - "id": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75-Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea-488cb44f-2961-4541-b602-1dbce69cd61e", - "type": "straight", - "source": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "target": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea", - "label": "Do Repeat", + "id": "logNode-ca2177f4-09a0-4243-9999-3fa5025e7550-assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6", + "type": "default", + "source": "logNode-ca2177f4-09a0-4243-9999-3fa5025e7550", + "target": "assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75.InRepeatBlock" + "labelShowBg": true, + "sourceHandle": "source_logNode-ca2177f4-09a0-4243-9999-3fa5025e7550" }, { - "id": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea-Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b-c6b2b2aa-a5e0-4f10-866f-6433a5eebf46", - "type": "straight", - "source": "Agama-rrf-Node-bc03a65d-dc2f-4498-969a-2843055f12ea", - "target": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b", - "label": "", + "id": "assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6-callNode-cab61f52-ed13-4e39-be57-789182a0a046", + "type": "default", + "source": "assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6", + "target": "callNode-cab61f52-ed13-4e39-be57-789182a0a046", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, - "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", - "fillOpacity": 0.7 - } - }, - { - "id": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75-Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db-2eae45f1-a624-4904-b8cb-6d03020207b5", - "type": "straight", - "source": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75", - "target": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db", "label": "", - "labelBgPadding": [ - 8, - 4 - ], - "labelBgBorderRadius": 4, "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-repeat-Node-82384b16-bb00-4c18-91dd-8cafd02e0d75.InFlow" + "labelShowBg": true, + "sourceHandle": "source_assignmentNode-4b931452-41b4-4a9d-b82e-c4eb20ce3bc6" }, { - "id": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db-finish-cdbff5dc-ceca-4c85-a425-cda9f01fb674-edd36a14-2ec2-4141-bec1-688d7e5ef37d", - "type": "straight", - "source": "Agama-log-Node-844f14ea-7a7a-4766-90e2-f20ffae820db", - "target": "finish-cdbff5dc-ceca-4c85-a425-cda9f01fb674", - "label": "", + "id": "callNode-cab61f52-ed13-4e39-be57-789182a0a046-repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", + "type": "default", + "source": "callNode-cab61f52-ed13-4e39-be57-789182a0a046", + "target": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, - "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", - "fillOpacity": 0.7 - } - }, - { - "id": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b-Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db-25609b7e-aad2-4535-a7d4-cba7c1d683f5", - "type": "straight", - "source": "Agama-log-Node-3e8e30dc-3587-4bcb-9cde-e4c6ffaf962b", - "target": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db", "label": "", - "labelBgPadding": [ - 8, - 4 - ], - "labelBgBorderRadius": 4, "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_callNode-cab61f52-ed13-4e39-be57-789182a0a046" }, { - "id": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db-Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce-2e2edc75-bbd3-471d-8eeb-cf999d57beff", - "type": "straight", - "source": "Agama-call-Node-f2e99385-be5f-43cf-833e-61b6f7e1d9db", - "target": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "label": "", + "id": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab-logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371", + "type": "default", + "source": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", + "target": "logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "continue", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab_continue" }, { - "id": "Agama-when-Node-01da2b1f-01b6-4e63-8cdb-ef29cf153b7c-Agama-log-Node-c62639a1-c500-4cdd-aa56-587ba13e4d73-743297e4-b8db-4fb8-b9cb-cf97be69e5f9", - "type": "straight", - "source": "Agama-when-Node-01da2b1f-01b6-4e63-8cdb-ef29cf153b7c", - "target": "Agama-log-Node-c62639a1-c500-4cdd-aa56-587ba13e4d73", - "label": "Condition met", + "id": "logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371-finishNode-f8198003-02a9-4361-9493-e29b4f1bbf13", + "type": "default", + "source": "logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371", + "target": "finishNode-f8198003-02a9-4361-9493-e29b4f1bbf13", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-when-Node-01da2b1f-01b6-4e63-8cdb-ef29cf153b7c.SUCCESS" + "labelShowBg": true, + "sourceHandle": "source_logNode-7ef94e1b-435c-43cb-b28f-c0e1a9e9c371" }, { - "id": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce-Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221-d2aaec27-b04e-4a14-9095-5139f25f764d", - "type": "straight", - "source": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "target": "Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221", - "label": "", + "id": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab-rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe", + "type": "default", + "source": "repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab", + "target": "rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "repeat", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_repeatNode-fd826784-1f9b-42d3-bde2-1f4d84ae4dab_repeat" }, { - "id": "Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221-Agama-when-Node-01da2b1f-01b6-4e63-8cdb-ef29cf153b7c-a3cfe9d4-40a3-4562-9050-b0ebceaf7033", - "type": "straight", - "source": "Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221", - "target": "Agama-when-Node-01da2b1f-01b6-4e63-8cdb-ef29cf153b7c", - "label": "", + "id": "rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe-logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e", + "type": "default", + "source": "rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe", + "target": "logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221.FAILURE" + "labelShowBg": true, + "sourceHandle": "source_rrfNode-dbddd8f9-7be7-4de3-8539-9275a9f4fcbe" }, { - "id": "Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221-Agama-log-Node-8837eb0b-72b8-439a-aa39-0c535e54989b-b528a7fc-3661-4616-93d6-dfcbc9c3e9b8", - "type": "straight", - "source": "Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221", - "target": "Agama-log-Node-8837eb0b-72b8-439a-aa39-0c535e54989b", - "label": "Condition met", + "id": "logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e-callNode-570c4949-af38-4c18-a383-a5b860a319f8", + "type": "default", + "source": "logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e", + "target": "callNode-570c4949-af38-4c18-a383-a5b860a319f8", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-when-Node-a75d7895-8bbb-40f5-b897-9e132a094221.SUCCESS" + "labelShowBg": true, + "sourceHandle": "source_logNode-1cd114bd-b65c-441d-80a1-b8d4bb4a916e" }, { - "id": "Agama-log-Node-8837eb0b-72b8-439a-aa39-0c535e54989b-Agama-call-Node-e2dac1c8-adaf-4b95-b7d1-4b063d06bb28-0c9c1905-4fee-4b66-956e-700c7ecf4d54", - "type": "straight", - "source": "Agama-log-Node-8837eb0b-72b8-439a-aa39-0c535e54989b", - "target": "Agama-call-Node-e2dac1c8-adaf-4b95-b7d1-4b063d06bb28", - "label": "", + "id": "callNode-570c4949-af38-4c18-a383-a5b860a319f8-logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa", + "type": "default", + "source": "callNode-570c4949-af38-4c18-a383-a5b860a319f8", + "target": "logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, - "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", - "fillOpacity": 0.7 - } - }, - { - "id": "Agama-call-Node-e2dac1c8-adaf-4b95-b7d1-4b063d06bb28-Agama-log-Node-a866a4f7-f7a4-49f2-8f0c-66375935c861-a32fb2c9-9e33-4138-9bbe-7ed57fb9a34a", - "type": "straight", - "source": "Agama-call-Node-e2dac1c8-adaf-4b95-b7d1-4b063d06bb28", - "target": "Agama-log-Node-a866a4f7-f7a4-49f2-8f0c-66375935c861", "label": "", - "labelBgPadding": [ - 8, - 4 - ], - "labelBgBorderRadius": 4, "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_callNode-570c4949-af38-4c18-a383-a5b860a319f8" }, { - "id": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce-Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb-7b021957-3891-447d-8cb1-f951a9eaf78d", - "type": "straight", - "source": "Agama-log-Node-eb8d49d7-8822-4deb-bc79-c69e087742ce", - "target": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "label": "", + "id": "logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa-whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", + "type": "default", + "source": "logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa", + "target": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_logNode-bc7de86c-3d56-4381-8de9-950dd8cb8baa" }, { - "id": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb-Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4-60c2a8e5-0bb7-4ff4-ae23-308157f97aa0", - "type": "straight", - "source": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "target": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4", - "label": "Condition met", + "id": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e-logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23", + "type": "default", + "source": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", + "target": "logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "continue", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb.SUCCESS" + "labelShowBg": true, + "sourceHandle": "source_whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e_continue" }, { - "id": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb-Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06-71e7a062-c5f5-4c47-8538-0ff8551e585b", - "type": "straight", - "source": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb", - "target": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "label": "", + "id": "logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23-whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", + "type": "default", + "source": "logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23", + "target": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-when-Node-9f6b107a-8409-4137-8b1f-4841925df7fb.FAILURE" + "labelShowBg": true, + "sourceHandle": "source_logNode-dc442886-09ac-4f06-8cae-b4fccbdc1f23" }, { - "id": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4-finish-b239fc56-a697-4be0-b292-de282ffc1073-173566f3-b538-414d-88b9-5f2938d9cd4f", - "type": "straight", - "source": "Agama-log-Node-d6b0c4f6-39f5-4bf1-9ca5-1d24c927f5f4", - "target": "finish-b239fc56-a697-4be0-b292-de282ffc1073", - "label": "", + "id": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476-logNode-0642d411-b13a-4bff-a71d-93395593f99d", + "type": "default", + "source": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", + "target": "logNode-0642d411-b13a-4bff-a71d-93395593f99d", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "continue", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476_continue" }, { - "id": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06-Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a-0c8bbd06-2a17-4c7e-b92b-d20d23090659", - "type": "straight", - "source": "Agama-log-Node-dd07a185-af0c-433d-9eaa-cd4ac9992d06", - "target": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "label": "", + "id": "logNode-0642d411-b13a-4bff-a71d-93395593f99d-assignmentNode-ebb5ff1b-ebad-45e3-9a73-51a2eecdad62", + "type": "default", + "source": "logNode-0642d411-b13a-4bff-a71d-93395593f99d", + "target": "assignmentNode-ebb5ff1b-ebad-45e3-9a73-51a2eecdad62", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_logNode-0642d411-b13a-4bff-a71d-93395593f99d" }, { - "id": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a-Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95-643cb434-4fa3-40bd-8554-fd9b115c9d19", - "type": "straight", - "source": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "target": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95", - "label": "Condition met", + "id": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476-logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661", + "type": "default", + "source": "whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476", + "target": "logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "Condition met", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a.SUCCESS" + "labelShowBg": true, + "sourceHandle": "source_whenNode-84730b3c-0e8b-4859-ac01-99fd3fc7f476_success" }, { - "id": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95-Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e-92e0be09-6c62-4813-a0d5-69f4e7a72d3d", - "type": "straight", - "source": "Agama-log-Node-eecdd688-377e-412b-b6ec-efae1672bd95", - "target": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e", - "label": "", + "id": "logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661-callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9", + "type": "default", + "source": "logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661", + "target": "callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_logNode-13dca133-d9f5-4d7f-b52b-89cfc3151661" }, { - "id": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a-Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f-95a603eb-068b-4c7b-8274-eb6d4a43842c", - "type": "straight", - "source": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a", - "target": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f", - "label": "", + "id": "callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9-logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad", + "type": "default", + "source": "callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9", + "target": "logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 }, - "sourceHandle": "Agama-when-Node-fb35d7ac-1510-4e5d-a1b4-84039a42d36a.FAILURE" + "labelShowBg": true, + "sourceHandle": "source_callNode-0ae7b2de-3a3c-41f8-b09b-7a3dde4e12a9" }, { - "id": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f-Agama-assignment-Node-c9e69f4f-25d7-4a0f-a772-baaf866e04b6-4f3eadc4-f975-43ad-9ac3-5956e3773c64", - "type": "straight", - "source": "Agama-log-Node-4cf3eaa3-0d0c-479d-8d52-9496a507065f", - "target": "Agama-assignment-Node-c9e69f4f-25d7-4a0f-a772-baaf866e04b6", - "label": "", + "id": "logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad-assignmentNode-6f2b13e8-cadc-4004-87a4-c1636d060c27", + "type": "default", + "source": "logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad", + "target": "assignmentNode-6f2b13e8-cadc-4004-87a4-c1636d060c27", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_logNode-9d9ceeb2-aec3-4e6c-bb73-787508ac8bad" }, { - "id": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e-Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf-cfeb3ab3-58e0-4912-be4d-88968fd5049e", - "type": "straight", - "source": "Agama-call-Node-9fbe0582-6251-45bb-9514-9a58d6bf485e", - "target": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "label": "", + "id": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e-logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131", + "type": "default", + "source": "whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e", + "target": "logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "Condition met", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_whenNode-6bb9b4c5-92d3-4257-8f41-1557fb24648e_success" }, { - "id": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf-Agama-assignment-Node-2e9154a0-3848-4aba-923f-813c2de10714-10e44d4a-7f21-4baf-9eed-d69635eff634", - "type": "straight", - "source": "Agama-log-Node-24e6a8f2-6a6d-4b57-917c-9497dafebcdf", - "target": "Agama-assignment-Node-2e9154a0-3848-4aba-923f-813c2de10714", - "label": "", + "id": "logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131-finishNode-91a948c1-0158-49cd-9051-fac022e1f04b", + "type": "default", + "source": "logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131", + "target": "finishNode-91a948c1-0158-49cd-9051-fac022e1f04b", "labelBgPadding": [ 8, 4 ], "labelBgBorderRadius": 4, + "label": "", "labelBgStyle": { - "fill": "#FFCC00", - "color": "#fff", + "fill": "#009688", + "color": "#ffffff", "fillOpacity": 0.7 - } + }, + "labelShowBg": true, + "sourceHandle": "source_logNode-94145dd6-3a9c-4075-a5ad-fb54e52fc131" } ], "viewport": { - "x": -1573, - "y": -241, + "x": 0, + "y": 0, "zoom": 1 } } \ No newline at end of file